|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.EmptyAttributeVisitor
at.dms.kjc.ReplacingVisitor
at.dms.kjc.SLIRReplacingVisitor
at.dms.kjc.sir.lowering.ArrayDestroyer
public class ArrayDestroyer
This class breaks up arrays into local vars as much as possible
Field Summary |
---|
Fields inherited from class at.dms.kjc.EmptyAttributeVisitor |
---|
forwards |
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 | |
---|---|
ArrayDestroyer()
Constructor. |
Method Summary | |
---|---|
void |
destroyArrays(SIRStream str)
Destructure all destructurable local arrays in stream graph. |
void |
destroyFieldArrays(SIRCodeUnit unit)
Remove constant 1-dimensional arrays in fields. |
Object |
visitArrayAccessExpression(JArrayAccessExpression self,
JExpression prefix,
JExpression accessor)
prints an array length expression |
Object |
visitMethodDeclaration(JMethodDeclaration self,
int modifiers,
CType returnType,
String ident,
JFormalParameter[] parameters,
CClassType[] exceptions,
JBlock body)
prints a method declaration |
Object |
visitVariableDefinition(JVariableDefinition self,
int modifiers,
CType type,
String ident,
JExpression expr)
prints a variable declaration statement |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ArrayDestroyer()
destroyFieldArrays
.
Method Detail |
---|
public void destroyArrays(SIRStream str)
str
- public Object visitVariableDefinition(JVariableDefinition self, int modifiers, CType type, String ident, JExpression expr)
ReplacingVisitor
visitVariableDefinition
in interface AttributeVisitor<Object>
visitVariableDefinition
in class ReplacingVisitor
public Object visitMethodDeclaration(JMethodDeclaration self, int modifiers, CType returnType, String ident, JFormalParameter[] parameters, CClassType[] exceptions, JBlock body)
EmptyAttributeVisitor
visitMethodDeclaration
in interface AttributeVisitor<Object>
visitMethodDeclaration
in class EmptyAttributeVisitor
public void destroyFieldArrays(SIRCodeUnit unit)
unit
- the SIRCodeUnit (something with fields and methods) to work on.public Object visitArrayAccessExpression(JArrayAccessExpression self, JExpression prefix, JExpression accessor)
ReplacingVisitor
visitArrayAccessExpression
in interface AttributeVisitor<Object>
visitArrayAccessExpression
in class ReplacingVisitor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |