edu.rice.cs.javalanglevels
Class ClassBodyFullJavaVisitor

java.lang.Object
  extended by edu.rice.cs.javalanglevels.JExpressionIFPrunableDepthFirstVisitor
      extended by edu.rice.cs.javalanglevels.LanguageLevelVisitor
          extended by edu.rice.cs.javalanglevels.FullJavaVisitor
              extended by edu.rice.cs.javalanglevels.ClassBodyFullJavaVisitor
All Implemented Interfaces:
JExpressionIFVisitor<Void>

public class ClassBodyFullJavaVisitor
extends FullJavaVisitor

Class body walking LanguageLevelVisitor for the FullJava Language Level. Builds the symbol table for a .java file without performing any syntax checking. This file will also be compiled by javac, which will catch the syntax errors.


Nested Class Summary
static class ClassBodyFullJavaVisitor.ClassBodyFullJavaVisitorTest
          Test the methods that are declared above.
 
Nested classes/interfaces inherited from class edu.rice.cs.javalanglevels.FullJavaVisitor
FullJavaVisitor.FullJavaVisitorTest
 
Nested classes/interfaces inherited from class edu.rice.cs.javalanglevels.LanguageLevelVisitor
LanguageLevelVisitor.LanguageLevelVisitorTest
 
Field Summary
 
Fields inherited from class edu.rice.cs.javalanglevels.LanguageLevelVisitor
_genericTypes, _log, errors, FINAL_MAV, PACKAGE_MAV, PRIVATE_MAV, PROTECTED_MAV, PUBLIC_MAV, symbolTable
 
Constructor Summary
ClassBodyFullJavaVisitor(SymbolData sd, File file, String packageName, LinkedList<String> importedFiles, LinkedList<String> importedPackages, HashSet<String> classesInThisFile, Hashtable<String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations, LinkedList<Command> fixUps, HashMap<String,SymbolData> genericTypes)
          Preferred constructor for ClassBodyFullJavaVisitor.
ClassBodyFullJavaVisitor(SymbolData sd, String className, File file, String packageName, LinkedList<String> importedFiles, LinkedList<String> importedPackages, HashSet<String> classesInThisFile, Hashtable<String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations, LinkedList<Command> fixUps)
          Deprecated onstructor for ClassBodyFullJavaVisitor.
 
Method Summary
 Void forAbstractMethodDef(AbstractMethodDef that)
          Creates a MethodData corresponding to this method declaration.
 Void forAbstractMethodDefDoFirst(AbstractMethodDef that)
          Ignore AbstractMake sure that this abstract method def is declared to be abstract.
 Void forComplexAnonymousClassInstantiation(ComplexAnonymousClassInstantiation that)
          Delegate to method in LanguageLevelVisitor
 Void forConcreteMethodDef(ConcreteMethodDef that)
          Create a method data corresponding to this method declaration, and then visit the concrete method def with a new bodybody visitor, passing it the enclosing method data.
 Void forConstructorDef(ConstructorDef that)
          Create a constructor corresponding to the specifications in the ConstructorDef, and then visit the constructor body, passing the constructor as the enclosing data.
 Void forInnerClassDef(InnerClassDef that)
          Call the method in FullJavaVisitor since it's common to this and FullJavaBodyFullJavaVisitor.
 Void forInnerInterfaceDef(InnerInterfaceDef that)
          Call the method in FullJavaVisitor since it's common to this and FullJavaBodyFullJavaVisitor.
 Void forInstanceInitializerDoFirst(InstanceInitializer that)
           
 Void forModifiersAndVisibilityDoFirst(ModifiersAndVisibility that)
          Check for problems with modifiers that are specific to method definitions.
 Void forSimpleAnonymousClassInstantiation(SimpleAnonymousClassInstantiation that)
          Delegate to method in LanguageLevelVisitor
 Void forStatementDoFirst(Statement that)
           
 Void forVariableDeclarationOnly(VariableDeclaration that)
          Processes a field declaration.
 
Methods inherited from class edu.rice.cs.javalanglevels.FullJavaVisitor
complexAnonymousClassInstantiationHelper, createConstructor, createEquals, createHashCode, createToString, forArrayType, forClassDef, forConditionalExpressionDoFirst, forInstanceofExpressionDoFirst, forInterfaceDef, forLabeledBreakStatementDoFirst, forLabeledContinueStatementDoFirst, forLabeledStatementDoFirst, forPrimitiveTypeDoFirst, forStaticInitializerDoFirst, forSwitchStatementDoFirst, forSynchronizedStatementDoFirst, forTypeParameterDoFirst, getFormalParameterMav, handleInnerClassDef, handleInnerInterfaceDef, simpleAnonymousClassInstantiationHelper
 
Methods inherited from class edu.rice.cs.javalanglevels.LanguageLevelVisitor
_addAndIgnoreError, _addError, _badModifiers, _checkError, _getSymbolDataFromFileSystem, _identifyType, _lookupTypeFromWithinClass, _resetNonStaticFields, _variableDeclaration2VariableData, addGeneratedMethod, addInnerSymbolData, anonymousClassInstantiationHelper, arrayEquals, createAccessors, createImportedSymbolContinuation, createMethodData, defineAnonymousSymbolData, defineArraySymbolData, defineInnerSymbolData, defineSymbolData, defineSymbolData, forBitwiseAndExpressionDoFirst, forBitwiseAssignmentExpressionDoFirst, forBitwiseBinaryExpressionDoFirst, forBitwiseNotExpressionDoFirst, forBitwiseNotExpressionDoFirst, forBitwiseOrExpressionDoFirst, forBitwiseXorExpressionDoFirst, forClassDefDoFirst, forClassImportStatementOnly, forComplexNameReference, forConcreteMethodDefDoFirst, forEmptyExpressionDoFirst, forInnerInterfaceDefDoFirst, forInterfaceDefDoFirst, formalParameters2VariableData, forMemberType, forNoOpExpressionDoFirst, forPackageImportStatementOnly, forPackageStatementOnly, forShiftAssignmentExpressionDoFirst, forShiftBinaryExpressionDoFirst, forSimpleNamedClassInstantiation, forSimpleNameReference, forSourceFile, forSourceFileDoFirst, forStringLiteralOnly, forVariableDeclaration, getFieldAccessorName, getFile, getQualifiedClassName, getQualifiedClassName, getQualifiedSymbolData, getQualifiedSymbolData, getQualifiedSymbolData, getQualifiedSymbolData, getSymbolData, getSymbolData, getSymbolData, getSymbolData, getSymbolData, getUnqualifiedClassName, identifyInnerClasses, isConstructor, isDuplicateVariableData, isJavaLibraryClass, makeContinuation, newClassBodyVisitor, prune, referenceType2String, resolveSymbol
 
Methods inherited from class edu.rice.cs.javalanglevels.JExpressionIFPrunableDepthFirstVisitor
defaultCase, defaultDoFirst, forAbstractMethodDefOnly, forAndExpression, forAndExpressionDoFirst, forAndExpressionOnly, forAnonymousClassInstantiationDoFirst, forAnonymousClassInstantiationOnly, forArrayAccess, forArrayAccessDoFirst, forArrayAccessOnly, forArrayInitializer, forArrayInitializerDoFirst, forArrayInitializerOnly, forArrayInstantiationDoFirst, forArrayInstantiationOnly, forArrayTypeDoFirst, forArrayTypeOnly, forAssignmentExpressionDoFirst, forAssignmentExpressionOnly, forBinaryExpressionDoFirst, forBinaryExpressionOnly, forBitwiseAndAssignmentExpression, forBitwiseAndAssignmentExpressionDoFirst, forBitwiseAndAssignmentExpressionOnly, forBitwiseAndExpression, forBitwiseAndExpressionOnly, forBitwiseAssignmentExpressionOnly, forBitwiseBinaryExpressionOnly, forBitwiseNotExpression, forBitwiseNotExpressionOnly, forBitwiseOrAssignmentExpression, forBitwiseOrAssignmentExpressionDoFirst, forBitwiseOrAssignmentExpressionOnly, forBitwiseOrExpression, forBitwiseOrExpressionOnly, forBitwiseXorAssignmentExpression, forBitwiseXorAssignmentExpressionDoFirst, forBitwiseXorAssignmentExpressionOnly, forBitwiseXorExpression, forBitwiseXorExpressionOnly, forBlock, forBlockDoFirst, forBlockOnly, forBodyDoFirst, forBodyOnly, forBooleanExpressionDoFirst, forBooleanExpressionOnly, forBooleanLiteral, forBooleanLiteralDoFirst, forBooleanLiteralOnly, forBracedBody, forBracedBodyDoFirst, forBracedBodyOnly, forBreakStatementDoFirst, forBreakStatementOnly, forCastExpression, forCastExpressionDoFirst, forCastExpressionOnly, forCatchBlock, forCatchBlockDoFirst, forCatchBlockOnly, forCharLiteral, forCharLiteralDoFirst, forCharLiteralOnly, forClassDefOnly, forClassImportStatement, forClassImportStatementDoFirst, forClassInstantiationDoFirst, forClassInstantiationOnly, forClassLiteral, forClassLiteralDoFirst, forClassLiteralOnly, forClassOrInterfaceType, forClassOrInterfaceTypeDoFirst, forClassOrInterfaceTypeOnly, forComparisonExpressionDoFirst, forComparisonExpressionOnly, forComplexAnonymousClassInstantiationDoFirst, forComplexAnonymousClassInstantiationOnly, forComplexInitializedArrayInstantiation, forComplexInitializedArrayInstantiationDoFirst, forComplexInitializedArrayInstantiationOnly, forComplexMethodInvocation, forComplexMethodInvocationDoFirst, forComplexMethodInvocationOnly, forComplexNamedClassInstantiation, forComplexNamedClassInstantiationDoFirst, forComplexNamedClassInstantiationOnly, forComplexNameReferenceDoFirst, forComplexNameReferenceOnly, forComplexSuperConstructorInvocation, forComplexSuperConstructorInvocationDoFirst, forComplexSuperConstructorInvocationOnly, forComplexSuperReference, forComplexSuperReferenceDoFirst, forComplexSuperReferenceOnly, forComplexThisConstructorInvocation, forComplexThisConstructorInvocationDoFirst, forComplexThisConstructorInvocationOnly, forComplexThisReference, forComplexThisReferenceDoFirst, forComplexThisReferenceOnly, forComplexUninitializedArrayInstantiation, forComplexUninitializedArrayInstantiationDoFirst, forComplexUninitializedArrayInstantiationOnly, forCompoundWord, forCompoundWordDoFirst, forCompoundWordOnly, forConcreteMethodDefOnly, forConditionalExpression, forConditionalExpressionOnly, forConstructorDefDoFirst, forConstructorDefOnly, forContinueStatementDoFirst, forContinueStatementOnly, forDefaultCase, forDefaultCaseDoFirst, forDefaultCaseOnly, forDimensionExpressionList, forDimensionExpressionListDoFirst, forDimensionExpressionListOnly, forDivideAssignmentExpression, forDivideAssignmentExpressionDoFirst, forDivideAssignmentExpressionOnly, forDivideExpression, forDivideExpressionDoFirst, forDivideExpressionOnly, forDoStatement, forDoStatementDoFirst, forDoStatementOnly, forDoubleLiteral, forDoubleLiteralDoFirst, forDoubleLiteralOnly, forEmptyExpression, forEmptyExpressionOnly, forEmptyForCondition, forEmptyForConditionDoFirst, forEmptyForConditionOnly, forEmptyStatement, forEmptyStatementDoFirst, forEmptyStatementOnly, forEqualityExpressionDoFirst, forEqualityExpressionOnly, forEqualsExpression, forEqualsExpressionDoFirst, forEqualsExpressionOnly, forExpressionDoFirst, forExpressionListDoFirst, forExpressionListOnly, forExpressionOnly, forExpressionStatement, forExpressionStatementDoFirst, forExpressionStatementOnly, forFloatLiteral, forFloatLiteralDoFirst, forFloatLiteralOnly, forFormalParameter, forFormalParameterDoFirst, forFormalParameterOnly, forForStatement, forForStatementDoFirst, forForStatementOnly, forFunctionInvocationDoFirst, forFunctionInvocationOnly, forGreaterThanExpression, forGreaterThanExpressionDoFirst, forGreaterThanExpressionOnly, forGreaterThanOrEqualExpression, forGreaterThanOrEqualExpressionDoFirst, forGreaterThanOrEqualExpressionOnly, forIfThenElseStatement, forIfThenElseStatementDoFirst, forIfThenElseStatementOnly, forIfThenStatement, forIfThenStatementDoFirst, forIfThenStatementOnly, forImportStatementDoFirst, forImportStatementOnly, forIncrementExpressionDoFirst, forIncrementExpressionOnly, forInitializedArrayInstantiationDoFirst, forInitializedArrayInstantiationOnly, forInitializedVariableDeclarator, forInitializedVariableDeclaratorDoFirst, forInitializedVariableDeclaratorOnly, forInitializerDoFirst, forInitializerOnly, forInnerClassDefDoFirst, forInnerClassDefOnly, forInnerInterfaceDefOnly, forInstanceInitializer, forInstanceInitializerOnly, forInstanceofExpression, forInstanceofExpressionOnly, forInstantiationDoFirst, forInstantiationOnly, forIntegerLiteral, forIntegerLiteralDoFirst, forIntegerLiteralOnly, forInterfaceDefOnly, forJExpressionDoFirst, forJExpressionOnly, forLabeledBreakStatement, forLabeledBreakStatementOnly, forLabeledCase, forLabeledCaseDoFirst, forLabeledCaseOnly, forLabeledContinueStatement, forLabeledContinueStatementOnly, forLabeledStatement, forLabeledStatementOnly, forLeftShiftAssignmentExpression, forLeftShiftAssignmentExpressionDoFirst, forLeftShiftAssignmentExpressionOnly, forLeftShiftExpression, forLeftShiftExpressionDoFirst, forLeftShiftExpressionOnly, forLessThanExpression, forLessThanExpressionDoFirst, forLessThanExpressionOnly, forLessThanOrEqualExpression, forLessThanOrEqualExpressionDoFirst, forLessThanOrEqualExpressionOnly, forLexicalLiteralDoFirst, forLexicalLiteralOnly, forLongLiteral, forLongLiteralDoFirst, forLongLiteralOnly, forMemberTypeDoFirst, forMemberTypeOnly, forMethodDefDoFirst, forMethodDefOnly, forMethodInvocationDoFirst, forMethodInvocationOnly, forMinusAssignmentExpression, forMinusAssignmentExpressionDoFirst, forMinusAssignmentExpressionOnly, forMinusExpression, forMinusExpressionDoFirst, forMinusExpressionOnly, forModAssignmentExpression, forModAssignmentExpressionDoFirst, forModAssignmentExpressionOnly, forModExpression, forModExpressionDoFirst, forModExpressionOnly, forModifiersAndVisibility, forModifiersAndVisibilityOnly, forMultiplyAssignmentExpression, forMultiplyAssignmentExpressionDoFirst, forMultiplyAssignmentExpressionOnly, forMultiplyExpression, forMultiplyExpressionDoFirst, forMultiplyExpressionOnly, forNamedClassInstantiationDoFirst, forNamedClassInstantiationOnly, forNameReferenceDoFirst, forNameReferenceOnly, forNegativeExpression, forNegativeExpressionDoFirst, forNegativeExpressionOnly, forNegativePostfixIncrementExpression, forNegativePostfixIncrementExpressionDoFirst, forNegativePostfixIncrementExpressionOnly, forNegativePrefixIncrementExpression, forNegativePrefixIncrementExpressionDoFirst, forNegativePrefixIncrementExpressionOnly, forNoOpExpression, forNoOpExpressionOnly, forNormalTryCatchStatement, forNormalTryCatchStatementDoFirst, forNormalTryCatchStatementOnly, forNotEqualExpression, forNotEqualExpressionDoFirst, forNotEqualExpressionOnly, forNotExpression, forNotExpressionDoFirst, forNotExpressionOnly, forNullLiteral, forNullLiteralDoFirst, forNullLiteralOnly, forNumericAssignmentExpressionDoFirst, forNumericAssignmentExpressionOnly, forNumericBinaryExpressionDoFirst, forNumericBinaryExpressionOnly, forNumericUnaryExpressionDoFirst, forNumericUnaryExpressionOnly, forOrExpression, forOrExpressionDoFirst, forOrExpressionOnly, forPackageImportStatement, forPackageImportStatementDoFirst, forPackageStatement, forPackageStatementDoFirst, forParenthesized, forParenthesizedDoFirst, forParenthesizedExpressionList, forParenthesizedExpressionListDoFirst, forParenthesizedExpressionListOnly, forParenthesizedOnly, forPlusAssignmentExpression, forPlusAssignmentExpressionDoFirst, forPlusAssignmentExpressionOnly, forPlusExpression, forPlusExpressionDoFirst, forPlusExpressionOnly, forPositiveExpression, forPositiveExpressionDoFirst, forPositiveExpressionOnly, forPositivePostfixIncrementExpression, forPositivePostfixIncrementExpressionDoFirst, forPositivePostfixIncrementExpressionOnly, forPositivePrefixIncrementExpression, forPositivePrefixIncrementExpressionDoFirst, forPositivePrefixIncrementExpressionOnly, forPostfixIncrementExpressionDoFirst, forPostfixIncrementExpressionOnly, forPrefixIncrementExpressionDoFirst, forPrefixIncrementExpressionOnly, forPrimaryDoFirst, forPrimaryOnly, forPrimitiveType, forPrimitiveTypeOnly, forReferenceTypeDoFirst, forReferenceTypeOnly, forReturnStatementDoFirst, forReturnStatementOnly, forRightSignedShiftAssignmentExpression, forRightSignedShiftAssignmentExpressionDoFirst, forRightSignedShiftAssignmentExpressionOnly, forRightSignedShiftExpression, forRightSignedShiftExpressionDoFirst, forRightSignedShiftExpressionOnly, forRightUnsignedShiftAssignmentExpression, forRightUnsignedShiftAssignmentExpressionDoFirst, forRightUnsignedShiftAssignmentExpressionOnly, forRightUnsignedShiftExpression, forRightUnsignedShiftExpressionDoFirst, forRightUnsignedShiftExpressionOnly, forShiftAssignmentExpressionOnly, forShiftBinaryExpressionOnly, forSimpleAnonymousClassInstantiationDoFirst, forSimpleAnonymousClassInstantiationOnly, forSimpleAssignmentExpression, forSimpleAssignmentExpressionDoFirst, forSimpleAssignmentExpressionOnly, forSimpleInitializedArrayInstantiation, forSimpleInitializedArrayInstantiationDoFirst, forSimpleInitializedArrayInstantiationOnly, forSimpleMethodInvocation, forSimpleMethodInvocationDoFirst, forSimpleMethodInvocationOnly, forSimpleNamedClassInstantiationDoFirst, forSimpleNamedClassInstantiationOnly, forSimpleNameReferenceDoFirst, forSimpleNameReferenceOnly, forSimpleSuperConstructorInvocation, forSimpleSuperConstructorInvocationDoFirst, forSimpleSuperConstructorInvocationOnly, forSimpleSuperReference, forSimpleSuperReferenceDoFirst, forSimpleSuperReferenceOnly, forSimpleThisConstructorInvocation, forSimpleThisConstructorInvocationDoFirst, forSimpleThisConstructorInvocationOnly, forSimpleThisReference, forSimpleThisReferenceDoFirst, forSimpleThisReferenceOnly, forSimpleUninitializedArrayInstantiation, forSimpleUninitializedArrayInstantiationDoFirst, forSimpleUninitializedArrayInstantiationOnly, forSourceFileOnly, forStatementOnly, forStaticInitializer, forStaticInitializerOnly, forStringLiteral, forStringLiteralDoFirst, forSuperConstructorInvocationDoFirst, forSuperConstructorInvocationOnly, forSuperReferenceDoFirst, forSuperReferenceOnly, forSwitchCaseDoFirst, forSwitchCaseOnly, forSwitchStatement, forSwitchStatementOnly, forSynchronizedStatement, forSynchronizedStatementOnly, forThisConstructorInvocationDoFirst, forThisConstructorInvocationOnly, forThisReferenceDoFirst, forThisReferenceOnly, forThrowStatement, forThrowStatementDoFirst, forThrowStatementOnly, forTryCatchFinallyStatement, forTryCatchFinallyStatementDoFirst, forTryCatchFinallyStatementOnly, forTryCatchStatementDoFirst, forTryCatchStatementOnly, forTypeDefBaseDoFirst, forTypeDefBaseOnly, forTypeDoFirst, forTypeOnly, forTypeParameter, forTypeParameterOnly, forTypeVariable, forTypeVariableDoFirst, forTypeVariableOnly, forUnaryExpressionDoFirst, forUnaryExpressionOnly, forUnbracedBody, forUnbracedBodyDoFirst, forUnbracedBodyOnly, forUninitializedArrayInstantiationDoFirst, forUninitializedArrayInstantiationOnly, forUninitializedVariableDeclarator, forUninitializedVariableDeclaratorDoFirst, forUninitializedVariableDeclaratorOnly, forUnlabeledBreakStatement, forUnlabeledBreakStatementDoFirst, forUnlabeledBreakStatementOnly, forUnlabeledContinueStatement, forUnlabeledContinueStatementDoFirst, forUnlabeledContinueStatementOnly, forUnparenthesizedExpressionList, forUnparenthesizedExpressionListDoFirst, forUnparenthesizedExpressionListOnly, forValueReturnStatement, forValueReturnStatementDoFirst, forValueReturnStatementOnly, forVariableDeclarationDoFirst, forVariableDeclaratorDoFirst, forVariableDeclaratorOnly, forVariableReferenceDoFirst, forVariableReferenceOnly, forVoidReturn, forVoidReturnDoFirst, forVoidReturnOnly, forVoidReturnStatement, forVoidReturnStatementDoFirst, forVoidReturnStatementOnly, forWhileStatement, forWhileStatementDoFirst, forWhileStatementOnly, forWord, forWordDoFirst, forWordOnly
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassBodyFullJavaVisitor

public ClassBodyFullJavaVisitor(SymbolData sd,
                                String className,
                                File file,
                                String packageName,
                                LinkedList<String> importedFiles,
                                LinkedList<String> importedPackages,
                                HashSet<String> classesInThisFile,
                                Hashtable<String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations,
                                LinkedList<Command> fixUps)
Deprecated onstructor for ClassBodyFullJavaVisitor.

Parameters:
sd - The SymbolData that encloses the context we are visiting. Must be non-null.
className - The name of the enclosing class. Must be non-null and non-empty.
file - The source file this came from.
packageName - The package the source file is in
importedPackages - A list of package names that were specifically imported
classesInThisFile - A list of the classes that are yet to be defined in this source file
continuations - A hashtable corresponding to the continuations (unresolved Symbol Datas) that will need to be resolved TODO: coalesce className and enclosingClassName

ClassBodyFullJavaVisitor

public ClassBodyFullJavaVisitor(SymbolData sd,
                                File file,
                                String packageName,
                                LinkedList<String> importedFiles,
                                LinkedList<String> importedPackages,
                                HashSet<String> classesInThisFile,
                                Hashtable<String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations,
                                LinkedList<Command> fixUps,
                                HashMap<String,SymbolData> genericTypes)
Preferred constructor for ClassBodyFullJavaVisitor.

Parameters:
sd - The SymbolData that encloses the context we are visiting. Must be non-null.ty.
file - The source file this came from.
packageName - The package the source file is in
importedPackages - A list of package names that were specifically imported
classesInThisFile - A list of the classes that are yet to be defined in this source file
continuations - A hashtable corresponding to the continuations (unresolved Symbol Datas) that will need to be resolved TODO: coalesce className and enclosingClassName
Method Detail

forStatementDoFirst

public Void forStatementDoFirst(Statement that)
Overrides:
forStatementDoFirst in class JExpressionIFPrunableDepthFirstVisitor

forAbstractMethodDefDoFirst

public Void forAbstractMethodDefDoFirst(AbstractMethodDef that)
Ignore AbstractMake sure that this abstract method def is declared to be abstract.

Overrides:
forAbstractMethodDefDoFirst in class LanguageLevelVisitor

forInstanceInitializerDoFirst

public Void forInstanceInitializerDoFirst(InstanceInitializer that)
Overrides:
forInstanceInitializerDoFirst in class FullJavaVisitor

forVariableDeclarationOnly

public Void forVariableDeclarationOnly(VariableDeclaration that)
Processes a field declaration. Converts the VariableDeclaration to VariableData[]. Adds the variable datas to the symbol data, and gives an error if two fields have the same names

Overrides:
forVariableDeclarationOnly in class JExpressionIFPrunableDepthFirstVisitor

forConcreteMethodDef

public Void forConcreteMethodDef(ConcreteMethodDef that)
Create a method data corresponding to this method declaration, and then visit the concrete method def with a new bodybody visitor, passing it the enclosing method data. Make sure the method name is different from the class name.

Specified by:
forConcreteMethodDef in interface JExpressionIFVisitor<Void>
Overrides:
forConcreteMethodDef in class JExpressionIFPrunableDepthFirstVisitor

forAbstractMethodDef

public Void forAbstractMethodDef(AbstractMethodDef that)
Creates a MethodData corresponding to this method declaration. Ensures that the method name is different from the class name.

Specified by:
forAbstractMethodDef in interface JExpressionIFVisitor<Void>
Overrides:
forAbstractMethodDef in class JExpressionIFPrunableDepthFirstVisitor

forInnerInterfaceDef

public Void forInnerInterfaceDef(InnerInterfaceDef that)
Call the method in FullJavaVisitor since it's common to this and FullJavaBodyFullJavaVisitor.

Specified by:
forInnerInterfaceDef in interface JExpressionIFVisitor<Void>
Overrides:
forInnerInterfaceDef in class JExpressionIFPrunableDepthFirstVisitor

forInnerClassDef

public Void forInnerClassDef(InnerClassDef that)
Call the method in FullJavaVisitor since it's common to this and FullJavaBodyFullJavaVisitor.

Specified by:
forInnerClassDef in interface JExpressionIFVisitor<Void>
Overrides:
forInnerClassDef in class JExpressionIFPrunableDepthFirstVisitor

forConstructorDef

public Void forConstructorDef(ConstructorDef that)
Create a constructor corresponding to the specifications in the ConstructorDef, and then visit the constructor body, passing the constructor as the enclosing data.

Specified by:
forConstructorDef in interface JExpressionIFVisitor<Void>
Overrides:
forConstructorDef in class JExpressionIFPrunableDepthFirstVisitor

forComplexAnonymousClassInstantiation

public Void forComplexAnonymousClassInstantiation(ComplexAnonymousClassInstantiation that)
Delegate to method in LanguageLevelVisitor

Specified by:
forComplexAnonymousClassInstantiation in interface JExpressionIFVisitor<Void>
Overrides:
forComplexAnonymousClassInstantiation in class JExpressionIFPrunableDepthFirstVisitor

forSimpleAnonymousClassInstantiation

public Void forSimpleAnonymousClassInstantiation(SimpleAnonymousClassInstantiation that)
Delegate to method in LanguageLevelVisitor

Specified by:
forSimpleAnonymousClassInstantiation in interface JExpressionIFVisitor<Void>
Overrides:
forSimpleAnonymousClassInstantiation in class JExpressionIFPrunableDepthFirstVisitor

forModifiersAndVisibilityDoFirst

public Void forModifiersAndVisibilityDoFirst(ModifiersAndVisibility that)
Check for problems with modifiers that are specific to method definitions.

Overrides:
forModifiersAndVisibilityDoFirst in class FullJavaVisitor