org.aspectj.compiler.base.ast
Class SemanticObject
java.lang.Object
org.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.SemanticObject
- Direct Known Subclasses:
- Constructor, Field, Method, PointcutSO, Type
- public abstract class SemanticObject
- extends org.aspectj.compiler.base.CompilerObject
Represents the platonic ideals of the declarations in the ast.
One important purpose for these objects is to retain their identity across
incremental recompilation.
This implementation treats these objects as proxies for Decs. That isn't essential
to their nature but rather a convenient way to get started.
Field Summary |
protected Dec |
dec
|
protected static org.aspectj.compiler.base.JavaCompiler |
dummyCompiler
|
Methods inherited from class org.aspectj.compiler.base.CompilerObject |
getAST, getCompiler, getOptions, getTypeManager, getWorld |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
dec
protected Dec dec
dummyCompiler
protected static org.aspectj.compiler.base.JavaCompiler dummyCompiler
SemanticObject
public SemanticObject(org.aspectj.compiler.base.JavaCompiler compiler)
SemanticObject
public SemanticObject(Dec dec)
getName
public java.lang.String getName()
getId
public java.lang.String getId()
getBytecodeId
public java.lang.String getBytecodeId()
getDeclaringType
public Type getDeclaringType()
getCorrespondingDec
public Dec getCorrespondingDec()
getKind
public java.lang.String getKind()
toShortString
public java.lang.String toShortString()
getDescriptor
public java.lang.String getDescriptor()
getStackDelta
public int getStackDelta()
getModifiers
public Modifiers getModifiers()
isAbstract
public boolean isAbstract()
isStatic
public boolean isStatic()
isInherited
public boolean isInherited(Type inType)
conflictsWith
public boolean conflictsWith(SemanticObject other)
checkOverride
public boolean checkOverride(Type inType,
SemanticObject other)
dominates
public boolean dominates(SemanticObject other)
isMoreSpecificThan
public boolean isMoreSpecificThan(SemanticObject other)
isApplicable
public boolean isApplicable(Exprs params)
isAlmostApplicable
public boolean isAlmostApplicable(Exprs params)
isAccessible
public boolean isAccessible(ASTObject fromWhere)
isAccessible
public boolean isAccessible(ASTObject fromWhere,
boolean inBytecode)
showConflictError
public void showConflictError(SemanticObject other,
java.lang.String message)
updateTargetExpr
public Expr updateTargetExpr(Expr expr)