public class ABCScopeBuilder extends NilABCVisitor
Modifier and Type | Field and Description |
---|---|
protected Map<ClassInfo,TypeDefinitionBase> |
classDefinitions |
protected String |
path
Path of the file that contains the abc data.
|
Constructor and Description |
---|
ABCScopeBuilder(IWorkspace workspace,
byte[] abcData,
String path,
IFileScopeProvider fileScopeProvider)
Create an ABCScopeBuilder from ABC byte code data.
|
Modifier and Type | Method and Description |
---|---|
List<IASScope> |
build()
Build scopes and symbol tables from ABC.
|
INamespaceDefinition |
getNamespaceReferenceForNamespace(Namespace ns)
Constructs or otherwise obtains an
INamespaceReference for an
Namespace . |
IClassVisitor |
visitClass(InstanceInfo iinfo,
ClassInfo cinfo)
Visit class definition pool.
|
IMethodVisitor |
visitMethod(MethodInfo minfo)
Visit a method.
|
IScriptVisitor |
visitScript()
Visit a script.
|
visit, visitEnd, visitPooledDouble, visitPooledInt, visitPooledMetadata, visitPooledName, visitPooledNamespace, visitPooledNsSet, visitPooledString, visitPooledUInt
protected final Map<ClassInfo,TypeDefinitionBase> classDefinitions
protected final String path
public ABCScopeBuilder(IWorkspace workspace, byte[] abcData, String path, IFileScopeProvider fileScopeProvider)
workspace
- workspaceabcData
- ABC byte code data.path
- path of the file that contains the abc data.fileScopeProvider
- callback that creates ASFileScope
objects.public INamespaceDefinition getNamespaceReferenceForNamespace(Namespace ns)
INamespaceReference
for an
Namespace
.ns
- Namespace
for which an INamespaceReference
should be obtained.INamespaceReference
that wraps the specified
Namespace
.public List<IASScope> build() throws IOException
IOException
- errorpublic IScriptVisitor visitScript()
IABCVisitor
visitScript
in interface IABCVisitor
visitScript
in class NilABCVisitor
public IClassVisitor visitClass(InstanceInfo iinfo, ClassInfo cinfo)
InstanceInfo.Flags
visitClass
in interface IABCVisitor
visitClass
in class NilABCVisitor
iinfo
- - the class' instance info.cinfo
- - the class' class info.public IMethodVisitor visitMethod(MethodInfo minfo)
IABCVisitor
visitMethod
in interface IABCVisitor
visitMethod
in class NilABCVisitor
minfo
- - the Method's method info.Copyright © 2016 The Apache Software Foundation. All rights reserved.