abc.aspectj.extension
Class AJClassDecl_c

java.lang.Object
  extended by ClassDecl_c
      extended by abc.aspectj.extension.AJClassDecl_c
All Implemented Interfaces:
MakesAspectMethods
Direct Known Subclasses:
AspectDecl_c

public class AJClassDecl_c
extends ClassDecl_c
implements MakesAspectMethods

Author:
oege

Field Summary
protected  boolean hierarchyBuilt
           
protected  boolean superDisambiguated
           
 
Constructor Summary
AJClassDecl_c(Position pos, Flags flags, java.lang.String name, TypeNode superClass, java.util.List interfaces, ClassBody body)
           
 
Method Summary
 void addSuperDependencies(ClassType ct, Job job)
           
 void aspectMethodsEnter(AspectMethods visitor)
           
 Node aspectMethodsLeave(AspectMethods visitor, AJNodeFactory nf, AJTypeSystem ts)
           
 Node disambiguate(AmbiguityRemover ar)
           
protected  void disambiguateSuperType(AmbiguityRemover ar)
           
 boolean hierarchyBuilt()
           
 void setHierarchyBuilt()
           
 Node typeCheck(TypeChecker tc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

superDisambiguated

protected boolean superDisambiguated

hierarchyBuilt

protected boolean hierarchyBuilt
Constructor Detail

AJClassDecl_c

public AJClassDecl_c(Position pos,
                     Flags flags,
                     java.lang.String name,
                     TypeNode superClass,
                     java.util.List interfaces,
                     ClassBody body)
Parameters:
pos -
flags -
name -
superClass -
interfaces -
body -
Method Detail

hierarchyBuilt

public boolean hierarchyBuilt()

setHierarchyBuilt

public void setHierarchyBuilt()

disambiguate

public Node disambiguate(AmbiguityRemover ar)
                  throws SemanticException
Throws:
SemanticException

addSuperDependencies

public void addSuperDependencies(ClassType ct,
                                 Job job)
                          throws SemanticException
Throws:
SemanticException

disambiguateSuperType

protected void disambiguateSuperType(AmbiguityRemover ar)
                              throws SemanticException
Throws:
SemanticException

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
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