public class RapidTypeAnalyzer extends Object
Achieves high performance by operating strictly on methods and types which have been mapped to unique int ids but this performance comes at the cost of forcing callers to provide such a compliant AnalyzableTypeEnvironment.
Modifier and Type | Class and Description |
---|---|
static interface |
RapidTypeAnalyzer.AnalyzableTypeEnvironment
An interface for a type environment sufficient for rapid type analysis.
|
Constructor and Description |
---|
RapidTypeAnalyzer(RapidTypeAnalyzer.AnalyzableTypeEnvironment analyzableTypeEnvironment) |
Modifier and Type | Method and Description |
---|---|
cern.colt.list.IntArrayList |
computeReachableTypeIds()
Follow control flow to find and return the set of ids of reachable types.
|
void |
markMemberMethodIdsReachable(int typeId)
Enqueues the methods within a given type (and some related overriding method ids) as reachable
and not yet processed.
|
void |
markMethodIdReachable(int methodId,
boolean cascade)
Enqueues a given method id (and some related overriding method ids) as reachable and not yet
processed.
|
void |
markTypeIdReachable(int typeId)
Records that a type is reachable.
|
public RapidTypeAnalyzer(RapidTypeAnalyzer.AnalyzableTypeEnvironment analyzableTypeEnvironment)
public cern.colt.list.IntArrayList computeReachableTypeIds()
public void markMemberMethodIdsReachable(int typeId)
public void markMethodIdReachable(int methodId, boolean cascade)
public void markTypeIdReachable(int typeId)
Copyright © 2018. All rights reserved.