|
||||||||||
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
at.dms.kjc.JClassDeclaration
public class JClassDeclaration
This class represents a java class in the syntax tree
Field Summary | |
---|---|
static JClassDeclaration[] |
EMPTY
|
protected String |
superName
|
Fields inherited from class at.dms.kjc.JTypeDeclaration |
---|
body, fields, ident, inners, instanceInit, interfaces, methods, modifiers, sourceClass, 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 |
JClassDeclaration()
|
|
JClassDeclaration(TokenReference where,
int modifiers,
String ident,
CClassType superClass,
CClassType[] interfaces,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JTypeDeclaration[] inners,
JPhylum[] initializers,
JavadocComment javadoc,
JavaStyleComment[] comment)
Constructs a class declaration node in the syntax tree. |
Method Summary | |
---|---|
Object |
accept(AttributeVisitor p)
Accepts the specified attribute visitor |
void |
accept(KjcVisitor p)
Accepts the specified visitor |
void |
checkInitializers(CContext context)
Check that initializers are correct |
void |
checkInterface(CContext context)
Second pass (quick), check interface looks good Exceptions are not allowed here, this pass is just a tuning pass in order to create informations about exported elements such as Classes, Interfaces, Methods, Constructors and Fields |
void |
checkTypeBody(CContext context)
checkTypeBody Check expression and evaluate and alter context |
void |
compileStaticInitializer(CClassContext context)
|
Object |
deepClone()
Returns a deep clone of this object. |
protected void |
deepCloneInto(JClassDeclaration other)
Clones all fields of this into |
void |
genInnerJavaCode(KjcPrettyPrinter p)
Generate the code in pure java form It is useful to debug and tune compilation process |
CSourceClass |
getSourceClass()
Gets the CSourceClass |
void |
setInterfaces(CClassType[] interfaces)
Sets the super class |
void |
setSuperClass(CClassType superClass)
Sets the super class |
Methods inherited from class at.dms.kjc.JTypeDeclaration |
---|
addMethod, addOuterThis, checkInterface, deepCloneInto, generateInterface, getDefaultConstructor, getFields, getIdent, getMethods, getModifiers, getOwner, isNested, setDefaultConstructor, setIdent, setModifiers |
Methods inherited from class at.dms.kjc.JMemberDeclaration |
---|
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 String superName
public static final JClassDeclaration[] EMPTY
Constructor Detail |
---|
protected JClassDeclaration()
public JClassDeclaration(TokenReference where, int modifiers, String ident, CClassType superClass, 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 classsuperClass
- the super class 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 codeMethod Detail |
---|
public CSourceClass getSourceClass()
public void setSuperClass(CClassType superClass)
public void setInterfaces(CClassType[] interfaces)
public void checkInterface(CContext context) throws PositionedError
checkInterface
in class JTypeDeclaration
PositionedError
- an error with reference to the source filepublic void checkInitializers(CContext context) throws PositionedError
checkInitializers
in class JTypeDeclaration
PositionedError
- an error with reference to the source filepublic void compileStaticInitializer(CClassContext context) throws PositionedError
PositionedError
public void checkTypeBody(CContext context) throws PositionedError
checkTypeBody
in class JTypeDeclaration
context
- the actual context of analyse
PositionedError
- an error with reference to the source filepublic void accept(KjcVisitor p)
accept
in class JMemberDeclaration
p
- the visitorpublic Object accept(AttributeVisitor p)
accept
in class JMemberDeclaration
p
- the visitorpublic void genInnerJavaCode(KjcPrettyPrinter p)
p
- the printwriter into the code is generatedpublic Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class JTypeDeclaration
protected void deepCloneInto(JClassDeclaration other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |