joosc.weeder
Class Weeder

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

public class Weeder
extends DepthFirstAdapter


Field Summary
protected  java.lang.String filename
           
 
Constructor Summary
Weeder(java.lang.String fn)
           
 
Method Summary
 void inAClass(AClass node)
           
 void inAConstructor(AConstructor node)
           
 void inAExternClass(AExternClass node)
           
 void inAMainMethod(AMainMethod node)
           
 void inAModMethod(AModMethod node)
           
 void inANonmodMethod(ANonmodMethod node)
           
 void inASuperReceiver(ASuperReceiver node)
           
 void inAThisExp(AThisExp node)
           
 void outAFirstMainargv(AFirstMainargv node)
           
 void outAMainMethod(AMainMethod node)
           
 void outASecondMainargv(ASecondMainargv node)
           
 void outATmpcastExp(ATmpcastExp tmpNode)
           
static void weed(java.util.List theProgram)
           
 void weedStmSeqLocals(java.util.LinkedList stms)
           
 
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, 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, inAMethodinvocation, inAMinusExp, inAModExp, inAModExternMethod, inAMultExp, inANeqExp, inANewExp, inANewStmExp, inANonmodExternMethod, inANonvoidReturntype, inANotExp, inANullExp, inAObjectReceiver, inAOnefield, inAOnelocal, inAOrExp, inAParenExp, inAPlusExp, inAPolynullType, inAReferenceType, inAReturnSimplestm, inAReturnStm, inASecondMainargv, inASimpleStm, inASimpleStmNoShortIf, inASkipSimplestm, inASkipStm, inAStringconstExp, inASuperconsStm, inASynchronizedExternMethodmods, inASynchronizedMethodmods, 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, outAFormal, outAFormalList, outAForStm, outAForStmNoShortIf, outAGeqExp, outAGtExp, outAIdentifierList, outAIdExp, outAIfelseStm, outAIfelseStmNoShortIf, outAIfStm, outAIncStmExp, outAInstanceofExp, outAIntconstExp, outAIntType, outALeqExp, outALtExp, outAMethodinvocation, outAMinusExp, outAModExp, outAModExternMethod, outAModMethod, outAMultExp, outANeqExp, outANewExp, outANewStmExp, outANonmodExternMethod, outANonmodMethod, outANonvoidReturntype, outANotExp, outANullExp, outAObjectReceiver, outAOnefield, outAOnelocal, outAOrExp, outAParenExp, outAPlusExp, outAPolynullType, outAReferenceType, outAReturnSimplestm, outAReturnStm, outASimpleStm, outASimpleStmNoShortIf, outASkipSimplestm, outASkipStm, outAStringconstExp, outASuperconsStm, outASuperReceiver, outASynchronizedExternMethodmods, outASynchronizedMethodmods, outAThisExp, 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
 

Field Detail

filename

protected java.lang.String filename
Constructor Detail

Weeder

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

weed

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

outAFirstMainargv

public void outAFirstMainargv(AFirstMainargv node)
Overrides:
outAFirstMainargv in class DepthFirstAdapter

outASecondMainargv

public void outASecondMainargv(ASecondMainargv node)
Overrides:
outASecondMainargv in class DepthFirstAdapter

outATmpcastExp

public void outATmpcastExp(ATmpcastExp tmpNode)
Overrides:
outATmpcastExp in class DepthFirstAdapter

inAClass

public void inAClass(AClass node)
Overrides:
inAClass in class DepthFirstAdapter

inAExternClass

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

inAThisExp

public void inAThisExp(AThisExp node)
Overrides:
inAThisExp in class DepthFirstAdapter

inASuperReceiver

public void inASuperReceiver(ASuperReceiver node)
Overrides:
inASuperReceiver in class DepthFirstAdapter

outAMainMethod

public void outAMainMethod(AMainMethod node)
Overrides:
outAMainMethod in class DepthFirstAdapter

weedStmSeqLocals

public void weedStmSeqLocals(java.util.LinkedList stms)

inAMainMethod

public void inAMainMethod(AMainMethod node)
Overrides:
inAMainMethod in class DepthFirstAdapter

inAModMethod

public void inAModMethod(AModMethod node)
Overrides:
inAModMethod in class DepthFirstAdapter

inANonmodMethod

public void inANonmodMethod(ANonmodMethod node)
Overrides:
inANonmodMethod in class DepthFirstAdapter

inAConstructor

public void inAConstructor(AConstructor node)
Overrides:
inAConstructor in class DepthFirstAdapter