public final class ABCEmitter extends Object implements IABCVisitor
| Constructor and Description |
|---|
ABCEmitter()
Construct a new ABCEmitter, using the default
diagnostics interface which ignores diagnostics.
|
ABCEmitter(IDiagnosticsVisitor diagnosticsVisitor)
Construct a new ABCEmitter using the specified diagnostics interface.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
emit()
Emit bytecode.
|
void |
setAllowBadJumps(boolean b)
Allow invalid jump instructions for legacy ABCs.
|
static int |
sizeOfU30(int v) |
void |
visit(int majorVersion,
int minorVersion) |
IClassVisitor |
visitClass(InstanceInfo iinfo,
ClassInfo cinfo)
Visit a class.
|
void |
visitEnd()
Indicates that no further method calls will be made on this visitor
instance.
|
IMethodVisitor |
visitMethod(MethodInfo minfo)
Visit a method.
|
void |
visitPooledDouble(Double d)
Visit a pooled double value.
|
void |
visitPooledInt(Integer i)
Visit a pooled integer value.
|
void |
visitPooledMetadata(Metadata md)
Visit a pooled metadata value.
|
void |
visitPooledName(Name n)
Visit a pooled name value.
|
void |
visitPooledNamespace(Namespace ns)
Visit a pooled namespace value.
|
void |
visitPooledNsSet(Nsset nss)
Visit a pooled namespace set value.
|
void |
visitPooledString(String s)
Visit a pooled string value.
|
void |
visitPooledUInt(Long l)
Visit a pooled unsigned integer value.
|
IScriptVisitor |
visitScript()
Visit a script.
|
public ABCEmitter()
public ABCEmitter(IDiagnosticsVisitor diagnosticsVisitor)
diagnosticsVisitor - - a sink for diagnostics.public byte[] emit()
throws Exception
Exception - if the emitter is unable to generate valid bytecode.public void visit(int majorVersion,
int minorVersion)
visit in interface IABCVisitorpublic void visitEnd()
IVisitorpublic IClassVisitor visitClass(InstanceInfo iinfo, ClassInfo cinfo)
IABCVisitorvisitClass in interface IABCVisitoriinfo - - the class' instance info.cinfo - - the class' class info.public IScriptVisitor visitScript()
IABCVisitorvisitScript in interface IABCVisitorpublic IMethodVisitor visitMethod(MethodInfo minfo)
IABCVisitorvisitMethod in interface IABCVisitorminfo - - the Method's method info.public void visitPooledDouble(Double d)
IABCVisitorvisitPooledDouble in interface IABCVisitorpublic void visitPooledInt(Integer i)
IABCVisitorvisitPooledInt in interface IABCVisitorpublic void visitPooledMetadata(Metadata md)
IABCVisitorvisitPooledMetadata in interface IABCVisitorpublic void visitPooledName(Name n)
IABCVisitorvisitPooledName in interface IABCVisitorpublic void visitPooledNamespace(Namespace ns)
IABCVisitorvisitPooledNamespace in interface IABCVisitorpublic void visitPooledNsSet(Nsset nss)
IABCVisitorvisitPooledNsSet in interface IABCVisitorpublic void visitPooledString(String s)
IABCVisitorvisitPooledString in interface IABCVisitorpublic void visitPooledUInt(Long l)
IABCVisitorvisitPooledUInt in interface IABCVisitorpublic static int sizeOfU30(int v)
public void setAllowBadJumps(boolean b)
b - - true if the caller wishes to allow bad jumps.Copyright © 2016 The Apache Software Foundation. All rights reserved.