joosc.code
Class PeepholeOptimizer

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

public class PeepholeOptimizer
extends DepthFirstAdapter


Nested Class Summary
static interface PeepholeOptimizer.Peephole
           
 class PeepholeOptimizer.SimplifyMultiplicationRightPeephole
           
 
Constructor Summary
PeepholeOptimizer(java.util.Hashtable codeAnnotations)
           
 
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, inAClass, inAClassinstancecreation, inAConstructor, inADeclFirstStm, inADeclStm, inADefaultClassfile, inADivExp, inADynamicStm, inAEqExp, inAExpSimplestm, inAExpStm, inAExtension, inAExternClass, 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, outAConstructor, outADeclFirstStm, outADeclStm, outADefaultClassfile, outADivExp, outADynamicStm, outAEqExp, outAExpSimplestm, outAExpStm, outAExtension, outAExternClass, outAExternClassfile, outAExternConstructor, outAFalseExp, outAField, outAFinalClassmods, outAFinalExternMethodmods, outAFinalMethodmods, outAFirstField, outAFirstMainargv, outAFormal, outAFormalList, outAForStm, outAForStmNoShortIf, outAGeqExp, outAGtExp, outAIdentifierList, outAIdExp, outAIfelseStm, outAIfelseStmNoShortIf, 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, outAWhileStmNoShortIf, 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
 

Constructor Detail

PeepholeOptimizer

public PeepholeOptimizer(java.util.Hashtable codeAnnotations)