|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectMethodDecl_c
abc.aspectj.ast.IntertypeMethodDecl_c
public class IntertypeMethodDecl_c
Field Summary | |
---|---|
protected java.util.List |
derivedMis
|
protected TypeNode |
host
|
protected java.lang.String |
identifier
|
InterTypeMethodInstance |
itMethodInstance
|
protected Flags |
origflags
|
protected java.lang.String |
originalName
|
protected LocalInstance |
thisParamInstance
|
Constructor Summary | |
---|---|
IntertypeMethodDecl_c(Position pos,
Flags flags,
TypeNode returnType,
TypeNode host,
java.lang.String name,
java.util.List formals,
java.util.List throwTypes,
Block body)
|
Method Summary | |
---|---|
IntertypeMethodDecl |
accessChange()
|
void |
addDerived(MethodInstance mi)
|
NodeVisitor |
addMembersEnter(AddMemberVisitor am)
|
void |
aspectMethodsEnter(AspectMethods visitor)
|
Node |
aspectMethodsLeave(AspectMethods visitor,
AJNodeFactory nf,
AJTypeSystem ts)
|
static void |
conflictWithParentCheck(InterTypeMethodInstance_c mi)
Check whether an intertype declaration via an interface conflicts with a declaration in a parent. |
Context |
enterScope(Context c)
|
TypeNode |
host()
the target class of the intertype decl |
static void |
intertypeMethodChecks(ClassType ct)
|
static void |
overrideITDmethod(ClassType pht,
MethodInstance mi)
|
static void |
overrideMethodCheck(MethodInstance mi)
Do the usual override check for newly declared methods. |
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
|
protected IntertypeMethodDecl_c |
reconstruct(TypeNode returnType,
java.util.List formals,
java.util.List throwTypes,
Block body,
TypeNode host)
|
IntertypeDecl |
thisParameter(AJNodeFactory nf,
AJTypeSystem ts)
introduce "this" as first parameter |
Expr |
thisReference(AJNodeFactory nf,
AJTypeSystem ts)
create a reference to the "this" parameter |
Node |
typeCheck(TypeChecker tc)
|
void |
update(GlobalAspectInfo gai,
Aspect current_aspect)
Called by the AspectInfoHarvester to tell the node to
put all relevant information into the GlobalAspectInfo . |
Node |
visitChildren(NodeVisitor v)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected TypeNode host
public InterTypeMethodInstance itMethodInstance
protected LocalInstance thisParamInstance
protected Flags origflags
protected java.lang.String identifier
protected java.lang.String originalName
protected java.util.List derivedMis
Constructor Detail |
---|
public IntertypeMethodDecl_c(Position pos, Flags flags, TypeNode returnType, TypeNode host, java.lang.String name, java.util.List formals, java.util.List throwTypes, Block body)
Method Detail |
---|
public TypeNode host()
IntertypeDecl
host
in interface IntertypeDecl
protected IntertypeMethodDecl_c reconstruct(TypeNode returnType, java.util.List formals, java.util.List throwTypes, Block body, TypeNode host)
public Node visitChildren(NodeVisitor v)
public void addDerived(MethodInstance mi)
public NodeVisitor addMembersEnter(AddMemberVisitor am)
public static void overrideITDmethod(ClassType pht, MethodInstance mi)
public static void conflictWithParentCheck(InterTypeMethodInstance_c mi) throws SemanticException
SemanticException
public static void overrideMethodCheck(MethodInstance mi) throws SemanticException
SemanticException
public static void intertypeMethodChecks(ClassType ct) throws SemanticException
SemanticException
public IntertypeMethodDecl accessChange()
public IntertypeDecl thisParameter(AJNodeFactory nf, AJTypeSystem ts)
public Expr thisReference(AJNodeFactory nf, AJTypeSystem ts)
thisReference
in interface IntertypeDecl
public Node typeCheck(TypeChecker tc) throws SemanticException
SemanticException
public Context enterScope(Context c)
public void prettyPrint(CodeWriter w, PrettyPrinter tr)
public void update(GlobalAspectInfo gai, Aspect current_aspect)
ContainsAspectInfo
AspectInfoHarvester
to tell the node to
put all relevant information into the GlobalAspectInfo
.
update
in interface ContainsAspectInfo
gai
- the target of the information.current_aspect
- the aspect currently being traversed.public void aspectMethodsEnter(AspectMethods visitor)
aspectMethodsEnter
in interface MakesAspectMethods
public Node aspectMethodsLeave(AspectMethods visitor, AJNodeFactory nf, AJTypeSystem ts)
aspectMethodsLeave
in interface MakesAspectMethods
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |