public abstract class AstMethod extends Object implements IMethod
| Modifier and Type | Class and Description |
|---|---|
static interface |
AstMethod.DebuggingInformation |
static interface |
AstMethod.LexicalInformation
lexical access information for some entity scope.
|
static class |
AstMethod.LexicalParent
Parents of this method with respect to lexical scoping, that is, methods
containing state possibly referenced lexically in this method
|
static interface |
AstMethod.Retranslatable |
IMethod.SourcePositionContextItem.Value<T>| Modifier | Constructor and Description |
|---|---|
protected |
AstMethod(IClass cls,
Collection qualifiers,
AbstractCFG cfg,
SymbolTable symtab,
MethodReference ref,
boolean hasCatchBlock,
Map<IBasicBlock,TypeReference[]> caughtTypes,
boolean hasMonitorOp,
AstTranslator.AstLexicalInformation lexicalInfo,
AstMethod.DebuggingInformation debugInfo,
Collection<Annotation> annotations) |
protected |
AstMethod(IClass cls,
Collection qualifiers,
MethodReference ref,
Collection<Annotation> annotations) |
| Modifier and Type | Method and Description |
|---|---|
Map<IBasicBlock,TypeReference[]> |
catchTypes() |
AbstractCFG |
cfg() |
AstMethod.LexicalInformation |
cloneLexicalInfo() |
AstMethod.DebuggingInformation |
debugInfo() |
Collection<Annotation> |
getAnnotations()
Get the annotations on this member, if any
|
ControlFlowGraph |
getControlFlowGraph() |
IClass |
getDeclaringClass()
Return the object that represents the declaring class
for this member.
|
Descriptor |
getDescriptor()
something like: (IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;
|
int |
getLineNumber(int instructionIndex)
END Custom change: precise bytecode positions
|
Atom |
getName() |
int |
getNumberOfParameters()
Method getNumberOfParameters.
|
IMethod.SourcePosition |
getParameterSourcePosition(int paramNum)
BEGIN Custom change: precise bytecode positions
|
abstract AstMethod.LexicalParent[] |
getParents() |
MethodReference |
getReference() |
TypeReference |
getReturnType() |
Selector |
getSelector()
something like: foo(Ljava/langString;)Ljava/lang/Class;
|
String |
getSignature()
something like: com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;
|
CAstSourcePositionMap.Position |
getSourcePosition() |
CAstSourcePositionMap.Position |
getSourcePosition(int instructionIndex) |
boolean |
hasCatchBlock() |
boolean |
hasExceptionHandler() |
boolean |
hasMonitorOp() |
boolean |
isAbstract()
Is this method abstract?
|
boolean |
isBridge()
Is this method a bridge method? See JLS 3rd Edition 15.12.4.5
|
boolean |
isClinit()
Is this method a class initializer?
|
boolean |
isFinal()
Is this method final?
|
boolean |
isInit()
Is this method an object initializer?
|
boolean |
isNative()
Is this method native?
|
boolean |
isPrivate()
Is this method private?
|
boolean |
isProtected()
Is this method protected?
|
boolean |
isPublic()
Is this method public?
|
boolean |
isStatic()
Is this member static?
|
boolean |
isSynchronized()
Is this method synchronized?
|
boolean |
isSynthetic()
Did someone synthesize this method? (As opposed to reading it from a class file)
|
AstMethod.LexicalInformation |
lexicalInfo() |
SymbolTable |
symbolTable() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDeclaredExceptions, getLocalVariableName, getParameterType, hasLocalVariableTablegetClassHierarchyprotected final IClass cls
protected AstMethod(IClass cls, Collection qualifiers, AbstractCFG cfg, SymbolTable symtab, MethodReference ref, boolean hasCatchBlock, Map<IBasicBlock,TypeReference[]> caughtTypes, boolean hasMonitorOp, AstTranslator.AstLexicalInformation lexicalInfo, AstMethod.DebuggingInformation debugInfo, Collection<Annotation> annotations)
protected AstMethod(IClass cls, Collection qualifiers, MethodReference ref, Collection<Annotation> annotations)
public AbstractCFG cfg()
public boolean hasCatchBlock()
public SymbolTable symbolTable()
public Map<IBasicBlock,TypeReference[]> catchTypes()
public AstMethod.LexicalInformation cloneLexicalInfo()
public AstMethod.LexicalInformation lexicalInfo()
public AstMethod.DebuggingInformation debugInfo()
public Collection<Annotation> getAnnotations()
IMembergetAnnotations in interface IMemberpublic abstract AstMethod.LexicalParent[] getParents()
public IClass getDeclaringClass()
IMembergetDeclaringClass in interface IMemberpublic String getSignature()
IMethodgetSignature in interface IMethodpublic Selector getSelector()
IMethodgetSelector in interface IMethodpublic boolean isClinit()
IMethodpublic boolean isInit()
IMethodpublic Atom getName()
public Descriptor getDescriptor()
IMethodgetDescriptor in interface IMethodpublic MethodReference getReference()
getReference in interface IMethodpublic TypeReference getReturnType()
getReturnType in interface IMethodpublic boolean isStatic()
IMemberpublic boolean isSynchronized()
IMethodisSynchronized in interface IMethodpublic boolean isNative()
IMethodpublic boolean isSynthetic()
IMethodisSynthetic in interface IMethodpublic boolean isAbstract()
IMethodisAbstract in interface IMethodpublic boolean isPrivate()
IMethodpublic boolean isProtected()
IMethodisProtected in interface IMethodpublic boolean isPublic()
IMethodpublic boolean isFinal()
IMethodpublic boolean isBridge()
IMethodpublic ControlFlowGraph getControlFlowGraph()
public boolean hasExceptionHandler()
hasExceptionHandler in interface IMethodpublic boolean hasMonitorOp()
public int getNumberOfParameters()
IMethodgetNumberOfParameters in interface IMethodpublic IMethod.SourcePosition getParameterSourcePosition(int paramNum) throws InvalidClassFileException
getParameterSourcePosition in interface IMethodInvalidClassFileExceptionpublic int getLineNumber(int instructionIndex)
getLineNumber in interface IMethodpublic CAstSourcePositionMap.Position getSourcePosition()
public CAstSourcePositionMap.Position getSourcePosition(int instructionIndex)
getSourcePosition in interface IMethod