abc.aspectj.extension
Class AJCall_c
java.lang.Object
Call_c
abc.aspectj.extension.AJCall_c
- All Implemented Interfaces:
- MakesAspectMethods
public class AJCall_c
- extends Call_c
- implements MakesAspectMethods
Override the typechecking of method calls, to delegate to the host in certain
cases when the call occurs from within an intertype declaration.
- Author:
- Oege de Moor.
Constructor Summary |
AJCall_c(Position pos,
Receiver target,
java.lang.String name,
java.util.List arguments)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AJCall_c
public AJCall_c(Position pos,
Receiver target,
java.lang.String name,
java.util.List arguments)
typeCheckNullTarget
protected Node typeCheckNullTarget(TypeChecker tc,
java.util.List argTypes)
throws SemanticException
- Typecheck the Call when the target is null. This method finds
an appropriate target, and then type checks accordingly.
- Parameters:
argTypes
- list of Type
s of the arguments
- Throws:
SemanticException
typeCheck
public Node typeCheck(TypeChecker tc)
throws SemanticException
- in intertype declarations with an interface host, one can
make calls of the form "super.foo()" - these then have to
be resolved in the super-interfaces of the host.
- Throws:
SemanticException
aspectMethodsEnter
public void aspectMethodsEnter(AspectMethods visitor)
- Specified by:
aspectMethodsEnter
in interface MakesAspectMethods
aspectMethodsLeave
public Node aspectMethodsLeave(AspectMethods visitor,
AJNodeFactory nf,
AJTypeSystem ts)
- Specified by:
aspectMethodsLeave
in interface MakesAspectMethods