Package org.teavm.dependency
Class DependencyAnalyzer
- java.lang.Object
-
- org.teavm.dependency.DependencyAnalyzer
-
- All Implemented Interfaces:
DependencyInfo
- Direct Known Subclasses:
FastDependencyAnalyzer,PreciseDependencyAnalyzer
public abstract class DependencyAnalyzer extends java.lang.Object implements DependencyInfo
-
-
Method Summary
-
-
-
Method Detail
-
setObfuscated
public void setObfuscated(boolean obfuscated)
-
setStrict
public void setStrict(boolean strict)
-
setAsyncSupported
public void setAsyncSupported(boolean asyncSupported)
-
getAgent
public DependencyAgent getAgent()
-
getInterruptor
public DependencyAnalyzerInterruptor getInterruptor()
-
setInterruptor
public void setInterruptor(DependencyAnalyzerInterruptor interruptor)
-
wasInterrupted
public boolean wasInterrupted()
-
getType
public DependencyType getType(java.lang.String name)
-
createNode
public DependencyNode createNode()
-
getClassSource
public ClassReaderSource getClassSource()
- Specified by:
getClassSourcein interfaceDependencyInfo
-
isSynthesizedClass
public boolean isSynthesizedClass(java.lang.String className)
-
getClassHierarchy
public ClassHierarchy getClassHierarchy()
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
- Specified by:
getClassLoaderin interfaceDependencyInfo
-
generateClassName
public java.lang.String generateClassName()
-
submitClassFile
public java.lang.String submitClassFile(byte[] data)
-
submitClass
public void submitClass(ClassHolder cls)
-
submitMethod
public void submitMethod(MethodReference methodRef, Program program)
-
processMethod
protected abstract void processMethod(MethodDependency methodDep)
-
addDependencyListener
public void addDependencyListener(DependencyListener listener)
-
addClassTransformer
public void addClassTransformer(ClassHolderTransformer transformer)
-
addEntryPoint
public void addEntryPoint(MethodReference methodRef, java.lang.String... argumentTypes)
-
defer
public void defer(java.lang.Runnable task)
-
linkClass
public ClassDependency linkClass(java.lang.String className)
-
linkMethod
public MethodDependency linkMethod(java.lang.String className, MethodDescriptor descriptor)
-
linkMethod
public MethodDependency linkMethod(MethodReference method)
-
getReachableMethods
public java.util.Collection<MethodReference> getReachableMethods()
- Specified by:
getReachableMethodsin interfaceDependencyInfo
-
getReachableFields
public java.util.Collection<FieldReference> getReachableFields()
- Specified by:
getReachableFieldsin interfaceDependencyInfo
-
getReachableClasses
public java.util.Collection<java.lang.String> getReachableClasses()
- Specified by:
getReachableClassesin interfaceDependencyInfo
-
linkField
public FieldDependency linkField(FieldReference fieldRef)
-
getField
public FieldDependency getField(FieldReference fieldRef)
- Specified by:
getFieldin interfaceDependencyInfo
-
getClass
public ClassDependency getClass(java.lang.String className)
- Specified by:
getClassin interfaceDependencyInfo
-
getMethod
public MethodDependency getMethod(MethodReference methodRef)
- Specified by:
getMethodin interfaceDependencyInfo
-
getMethod
public MethodDependency getMethod(java.lang.String className, MethodDescriptor descriptor)
-
getMethodImplementation
public MethodDependency getMethodImplementation(MethodReference methodRef)
- Specified by:
getMethodImplementationin interfaceDependencyInfo
-
processDependencies
public void processDependencies()
-
cleanup
public void cleanup(ClassSourcePacker classSourcePacker)
-
cleanupTypes
public void cleanupTypes()
-
getService
public <T> T getService(java.lang.Class<T> type)
-
getDiagnostics
public Diagnostics getDiagnostics()
-
getCallGraph
public CallGraph getCallGraph()
- Specified by:
getCallGraphin interfaceDependencyInfo
-
addBootstrapMethodSubstitutor
public void addBootstrapMethodSubstitutor(MethodReference method, BootstrapMethodSubstitutor substitutor)
-
addDependencyPlugin
public void addDependencyPlugin(MethodReference method, DependencyPlugin dependencyPlugin)
-
getIncrementalDependencies
public IncrementalDependencyProvider getIncrementalDependencies()
-
-