|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.util.Utils
at.dms.compiler.Phylum
at.dms.kjc.JPhylum
at.dms.kjc.JMemberDeclaration
at.dms.kjc.JTypeDeclaration
public abstract class JTypeDeclaration
This class represents a Java class or interface declaration in the syntax tree.
| Field Summary | |
|---|---|
protected JPhylum[] |
body
|
protected JFieldDeclaration[] |
fields
|
protected String |
ident
|
protected JTypeDeclaration[] |
inners
|
protected JInitializerDeclaration |
instanceInit
|
protected CClassType[] |
interfaces
|
protected JMethodDeclaration[] |
methods
|
protected int |
modifiers
|
protected CSourceClass |
sourceClass
|
protected JInitializerDeclaration |
statInit
|
| Fields inherited from class at.dms.util.Utils |
|---|
EMPTY_LIST, getForLoopCallers |
| Fields inherited from interface at.dms.kjc.Constants |
|---|
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY |
| Constructor Summary | |
|---|---|
protected |
JTypeDeclaration()
|
|
JTypeDeclaration(TokenReference where,
int modifiers,
String ident,
CClassType[] interfaces,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JTypeDeclaration[] inners,
JPhylum[] initializers,
JavadocComment javadoc,
JavaStyleComment[] comment)
Constructs a type declaration node in the syntax tree. |
| Method Summary | |
|---|---|
void |
addMethod(JMethodDeclaration method)
Adds |
void |
addOuterThis()
|
void |
checkInitializers(CContext context)
Checks that same interface is not specified more than once |
abstract void |
checkInterface(CContext context)
Second pass (quick), check interface looks good |
protected void |
checkInterface(CContext context,
CClassType superClass)
Second pass (quick), check interface looks good |
void |
checkTypeBody(CContext context)
checkTypeBody Check expression and evaluate and alter context |
Object |
deepClone()
Returns a deep clone of this object. |
protected void |
deepCloneInto(JTypeDeclaration other)
Clones all fields of this into |
void |
generateInterface(CClass owner,
String prefix)
Defines an intermediate external representation of this class to use internally |
JConstructorDeclaration |
getDefaultConstructor()
|
JFieldDeclaration[] |
getFields()
|
String |
getIdent()
|
JMethodDeclaration[] |
getMethods()
|
int |
getModifiers()
Returns the declared modifiers for this type. |
CClass |
getOwner()
|
boolean |
isNested()
Checks whether this type is nested. |
void |
setDefaultConstructor(JConstructorDeclaration defaultConstructor)
|
void |
setIdent(String ident)
|
void |
setModifiers(int modifiers)
Sets the declared modifiers for this type. |
| Methods inherited from class at.dms.kjc.JMemberDeclaration |
|---|
accept, accept, deepCloneInto, genComments, genComments1, getCClass, getField, getMethod, isDeprecated, setInterface |
| Methods inherited from class at.dms.kjc.JPhylum |
|---|
assertMutable, check, check, check, check, deepCloneInto, fail, setLineNumber |
| Methods inherited from class at.dms.compiler.Phylum |
|---|
deepCloneInto, getTokenReference, setTokenReference |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int modifiers
protected String ident
protected JPhylum[] body
protected JFieldDeclaration[] fields
protected JMethodDeclaration[] methods
protected JTypeDeclaration[] inners
protected CClassType[] interfaces
protected JInitializerDeclaration statInit
protected JInitializerDeclaration instanceInit
protected CSourceClass sourceClass
| Constructor Detail |
|---|
protected JTypeDeclaration()
public JTypeDeclaration(TokenReference where,
int modifiers,
String ident,
CClassType[] interfaces,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JTypeDeclaration[] inners,
JPhylum[] initializers,
JavadocComment javadoc,
JavaStyleComment[] comment)
where - the line of this node in the source codemodifiers - the list of modifiers of this classident - the simple name of this classinterfaces - the interfaces implemented by this classfields - the fields defined by this classmethods - the methods defined by this classinners - the inner classes defined by this classinitializers - the class and instance initializers defined by this classjavadoc - java documentation commentscomment - other comments in the source code| Method Detail |
|---|
public void generateInterface(CClass owner,
String prefix)
public int getModifiers()
public void setModifiers(int modifiers)
public void addMethod(JMethodDeclaration method)
methodto this.
public boolean isNested()
public JFieldDeclaration[] getFields()
public JMethodDeclaration[] getMethods()
public JConstructorDeclaration getDefaultConstructor()
public void setDefaultConstructor(JConstructorDeclaration defaultConstructor)
public void setIdent(String ident)
public String getIdent()
public abstract void checkInterface(CContext context)
throws PositionedError
PositionedError - an error with reference to the source file
protected void checkInterface(CContext context,
CClassType superClass)
throws PositionedError
PositionedError - an error with reference to the source file
public void checkInitializers(CContext context)
throws PositionedError
PositionedError - Error catched as soon as possiblepublic void addOuterThis()
public void checkTypeBody(CContext context)
throws PositionedError
context - the actual context of analyse
PositionedError - Error catched as soon as possible (for subclasses)public CClass getOwner()
public Object deepClone()
deepClone in interface DeepCloneabledeepClone in class JMemberDeclarationprotected void deepCloneInto(JTypeDeclaration other)
other
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||