joosc.fixer
Class AstFixer

java.lang.Object
  extended byjoosc.analysis.AnalysisAdapter
      extended byjoosc.analysis.DepthFirstAdapter
          extended byjoosc.fixer.AstFixer
All Implemented Interfaces:
Analysis, Switch

public class AstFixer
extends DepthFirstAdapter


Field Summary
protected  java.lang.String filename
           
 
Constructor Summary
AstFixer(java.lang.String fn)
           
 
Method Summary
static void fix(java.util.List theProgram)
           
 void inAClass(AClass node)
          "Object" extension made explicit *
 void inAExternClass(AExternClass node)
           
 void outAConstructor(AConstructor tmpNode)
           
 void outADeclFirstStm(ADeclFirstStm tmpNode)
           
 void outAFirstField(AFirstField tmpNode)
           
 void outAForStm(AForStm tmpNode)
          A+ Additions as "pseudo-syntactic sugar" *
 void outAForStmNoShortIf(AForStmNoShortIf tmpNode)
           
 void outAIfelseStm(AIfelseStm tmpNode)
           
 void outAIfelseStmNoShortIf(AIfelseStmNoShortIf tmpNode)
          Bottom-Up Elimination of no_short_if statements *
 void outAWhileStmNoShortIf(AWhileStmNoShortIf tmpNode)
           
 
Methods inherited from class joosc.analysis.DepthFirstAdapter
caseAAbstractClassmods, caseAAbstractExternMethodmods, caseAAbstractMethod, caseAAndExp, caseAArgumentList, caseAAssignExp, caseAAssignment, caseAAssignStmExp, caseABlockSimplestm, caseABlockStm, caseABooleanType, caseACallExp, caseACallStmExp, caseACastExp, caseACasttocharExp, caseACharconstExp, caseACharType, caseAClass, caseAClassinstancecreation, caseAConstructor, caseADeclFirstStm, caseADeclStm, caseADefaultClassfile, caseADivExp, caseADynamicStm, caseAEqExp, caseAExpSimplestm, caseAExpStm, caseAExtension, caseAExternClass, caseAExternClassfile, caseAExternConstructor, caseAFalseExp, caseAField, caseAFinalClassmods, caseAFinalExternMethodmods, caseAFinalMethodmods, caseAFirstField, caseAFirstMainargv, caseAFormal, caseAFormalList, caseAForStm, caseAForStmNoShortIf, caseAGeqExp, caseAGtExp, caseAIdentifierList, caseAIdExp, caseAIfelseStm, caseAIfelseStmNoShortIf, caseAIfStm, caseAIncStmExp, caseAInstanceofExp, caseAIntconstExp, caseAIntType, caseALeqExp, caseALtExp, caseAMainMethod, caseAMethodinvocation, caseAMinusExp, caseAModExp, caseAModExternMethod, caseAModMethod, caseAMultExp, caseANeqExp, caseANewExp, caseANewStmExp, caseANonmodExternMethod, caseANonmodMethod, caseANonvoidReturntype, caseANotExp, caseANullExp, caseAObjectReceiver, caseAOnefield, caseAOnelocal, caseAOrExp, caseAParenExp, caseAPlusExp, caseAPolynullType, caseAReferenceType, caseAReturnSimplestm, caseAReturnStm, caseASecondMainargv, caseASimpleStm, caseASimpleStmNoShortIf, caseASkipSimplestm, caseASkipStm, caseAStringconstExp, caseASuperconsStm, caseASuperReceiver, caseASynchronizedExternMethodmods, caseASynchronizedMethodmods, caseAThisExp, caseATmpcastExp, caseATrueExp, caseAUminusExp, caseAVoidReturntype, caseAVoidType, caseAWhileStm, caseAWhileStmNoShortIf, caseStart, defaultIn, defaultOut, inAAbstractClassmods, inAAbstractExternMethodmods, inAAbstractMethod, inAAndExp, inAArgumentList, inAAssignExp, inAAssignment, inAAssignStmExp, inABlockSimplestm, inABlockStm, inABooleanType, inACallExp, inACallStmExp, inACastExp, inACasttocharExp, inACharconstExp, inACharType, inAClassinstancecreation, inAConstructor, inADeclFirstStm, inADeclStm, inADefaultClassfile, inADivExp, inADynamicStm, inAEqExp, inAExpSimplestm, inAExpStm, inAExtension, inAExternClassfile, inAExternConstructor, inAFalseExp, inAField, inAFinalClassmods, inAFinalExternMethodmods, inAFinalMethodmods, inAFirstField, inAFirstMainargv, inAFormal, inAFormalList, inAForStm, inAForStmNoShortIf, inAGeqExp, inAGtExp, inAIdentifierList, inAIdExp, inAIfelseStm, inAIfelseStmNoShortIf, inAIfStm, inAIncStmExp, inAInstanceofExp, inAIntconstExp, inAIntType, inALeqExp, inALtExp, inAMainMethod, inAMethodinvocation, inAMinusExp, inAModExp, inAModExternMethod, inAModMethod, inAMultExp, inANeqExp, inANewExp, inANewStmExp, inANonmodExternMethod, inANonmodMethod, inANonvoidReturntype, inANotExp, inANullExp, inAObjectReceiver, inAOnefield, inAOnelocal, inAOrExp, inAParenExp, inAPlusExp, inAPolynullType, inAReferenceType, inAReturnSimplestm, inAReturnStm, inASecondMainargv, inASimpleStm, inASimpleStmNoShortIf, inASkipSimplestm, inASkipStm, inAStringconstExp, inASuperconsStm, inASuperReceiver, inASynchronizedExternMethodmods, inASynchronizedMethodmods, inAThisExp, inATmpcastExp, inATrueExp, inAUminusExp, inAVoidReturntype, inAVoidType, inAWhileStm, inAWhileStmNoShortIf, inStart, outAAbstractClassmods, outAAbstractExternMethodmods, outAAbstractMethod, outAAndExp, outAArgumentList, outAAssignExp, outAAssignment, outAAssignStmExp, outABlockSimplestm, outABlockStm, outABooleanType, outACallExp, outACallStmExp, outACastExp, outACasttocharExp, outACharconstExp, outACharType, outAClass, outAClassinstancecreation, outADeclStm, outADefaultClassfile, outADivExp, outADynamicStm, outAEqExp, outAExpSimplestm, outAExpStm, outAExtension, outAExternClass, outAExternClassfile, outAExternConstructor, outAFalseExp, outAField, outAFinalClassmods, outAFinalExternMethodmods, outAFinalMethodmods, outAFirstMainargv, outAFormal, outAFormalList, outAGeqExp, outAGtExp, outAIdentifierList, outAIdExp, outAIfStm, outAIncStmExp, outAInstanceofExp, outAIntconstExp, outAIntType, outALeqExp, outALtExp, outAMainMethod, outAMethodinvocation, outAMinusExp, outAModExp, outAModExternMethod, outAModMethod, outAMultExp, outANeqExp, outANewExp, outANewStmExp, outANonmodExternMethod, outANonmodMethod, outANonvoidReturntype, outANotExp, outANullExp, outAObjectReceiver, outAOnefield, outAOnelocal, outAOrExp, outAParenExp, outAPlusExp, outAPolynullType, outAReferenceType, outAReturnSimplestm, outAReturnStm, outASecondMainargv, outASimpleStm, outASimpleStmNoShortIf, outASkipSimplestm, outASkipStm, outAStringconstExp, outASuperconsStm, outASuperReceiver, outASynchronizedExternMethodmods, outASynchronizedMethodmods, outAThisExp, outATmpcastExp, outATrueExp, outAUminusExp, outAVoidReturntype, outAVoidType, outAWhileStm, outStart
 
Methods inherited from class joosc.analysis.AnalysisAdapter
caseEOF, caseTAbstract, caseTAnd, caseTAssign, caseTBlanks, caseTBoolean, caseTBreak, caseTByte, caseTCase, caseTCatch, caseTChar, caseTCharconst, caseTClass, caseTComma, caseTConst, caseTContinue, caseTDefault, caseTDiv, caseTDo, caseTDot, caseTDouble, caseTElse, caseTEolComment, caseTEq, caseTExtComment, caseTExtends, caseTExtern, caseTFalse, caseTFinal, caseTFinally, caseTFloat, caseTFor, caseTGeq, caseTGoto, caseTGt, caseTIdentifier, caseTIf, caseTImplements, caseTImport, caseTImportpath, caseTIn, caseTInc, caseTInstanceof, caseTInt, caseTIntconst, caseTInterface, caseTLBrace, caseTLBracket, caseTLeq, caseTLong, caseTLPar, caseTLt, caseTMain, caseTMinus, caseTMod, caseTMult, caseTNative, caseTNeq, caseTNew, caseTNot, caseTNull, caseTOr, caseTPackage, caseTPlus, caseTPrivate, caseTProtected, caseTPublic, caseTRBrace, caseTRBracket, caseTReturn, caseTRPar, caseTSemicolon, caseTShort, caseTStatic, caseTStringconst, caseTSuper, caseTSwitch, caseTSynchronized, caseTThis, caseTThrow, caseTThrows, caseTTransient, caseTTrue, caseTTry, caseTVoid, caseTVolatile, caseTWhile, defaultCase, getIn, getOut, setIn, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filename

protected java.lang.String filename
Constructor Detail

AstFixer

public AstFixer(java.lang.String fn)
Method Detail

fix

public static void fix(java.util.List theProgram)

inAClass

public void inAClass(AClass node)
"Object" extension made explicit *

Overrides:
inAClass in class DepthFirstAdapter

inAExternClass

public void inAExternClass(AExternClass node)
Overrides:
inAExternClass in class DepthFirstAdapter

outAFirstField

public void outAFirstField(AFirstField tmpNode)
Overrides:
outAFirstField in class DepthFirstAdapter

outADeclFirstStm

public void outADeclFirstStm(ADeclFirstStm tmpNode)
Overrides:
outADeclFirstStm in class DepthFirstAdapter

outAConstructor

public void outAConstructor(AConstructor tmpNode)
Overrides:
outAConstructor in class DepthFirstAdapter

outAIfelseStmNoShortIf

public void outAIfelseStmNoShortIf(AIfelseStmNoShortIf tmpNode)
Bottom-Up Elimination of no_short_if statements *

Overrides:
outAIfelseStmNoShortIf in class DepthFirstAdapter

outAWhileStmNoShortIf

public void outAWhileStmNoShortIf(AWhileStmNoShortIf tmpNode)
Overrides:
outAWhileStmNoShortIf in class DepthFirstAdapter

outAForStmNoShortIf

public void outAForStmNoShortIf(AForStmNoShortIf tmpNode)
Overrides:
outAForStmNoShortIf in class DepthFirstAdapter

outAIfelseStm

public void outAIfelseStm(AIfelseStm tmpNode)
Overrides:
outAIfelseStm in class DepthFirstAdapter

outAForStm

public void outAForStm(AForStm tmpNode)
A+ Additions as "pseudo-syntactic sugar" *

Overrides:
outAForStm in class DepthFirstAdapter