edu.rice.cs.javalanglevels
Class InterfaceBodyFullJavaVisitor

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.InterfaceBodyFullJavaVisitor
All Implemented Interfaces:
JExpressionIFVisitor<java.lang.Void>

public class InterfaceBodyFullJavaVisitor
extends FullJavaVisitor

Language Level Visitor class that implements the FullJava Language Level. Enforces constraints during the first walk of the AST (checking for langauge specific errors and building the symbol table). This class enforces some constraints imposed on an interface body at the FullJava Language Level.


Nested Class Summary
static class InterfaceBodyFullJavaVisitor.InterfaceBodyFullJavaVisitorTest
          Test the methods in the above class.
 
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
InterfaceBodyFullJavaVisitor(SymbolData sd, java.io.File file, java.lang.String packageName, java.util.LinkedList<java.lang.String> importedFiles, java.util.LinkedList<java.lang.String> importedPackages, java.util.HashSet<java.lang.String> classesInThisFile, java.util.Hashtable<java.lang.String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations, java.util.LinkedList<Command> fixUps)
          Old constructor for InterfaceBodyFullJavaVisitor.
InterfaceBodyFullJavaVisitor(SymbolData sd, java.io.File file, java.lang.String packageName, java.util.LinkedList<java.lang.String> importedFiles, java.util.LinkedList<java.lang.String> importedPackages, java.util.HashSet<java.lang.String> classesInThisFile, java.util.Hashtable<java.lang.String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations, java.util.LinkedList<Command> fixUps, java.util.HashMap<java.lang.String,SymbolData> genericTypes)
          Preferred constructor for InterfaceBodyFullJavaVisitor.
 
Method Summary
protected  VariableData[] _variableDeclaration2VariableData(VariableDeclaration vd, Data enclosingData)
          Processes a static field declaration within an interface.
 java.lang.Void forAbstractMethodDef(AbstractMethodDef that)
          Process an instance of AbstractMethodDef.
 java.lang.Void forComplexAnonymousClassInstantiation(ComplexAnonymousClassInstantiation that)
          Delegate to method in LLV
 java.lang.Void forConcreteMethodDefDoFirst(ConcreteMethodDef that)
          Makes sure that this concrete method def is not declared to be abstract.
 java.lang.Void forConstructorDefDoFirst(ConstructorDef that)
          Throw an error: Interfaces cannot have constructors
 java.lang.Void forInnerClassDef(InnerClassDef that)
          Call the method in FullJavaVisitor; it's common to this ClassBodyAdvancedVisitor.
 java.lang.Void forInnerInterfaceDef(InnerInterfaceDef that)
          Call the method in FullJavaVisitor since it's common to this ClassBodyFullJavaVisitor.
 java.lang.Void forInstanceInitializerDoFirst(InstanceInitializer that)
          Throw an appropriate error
 java.lang.Void forSimpleAnonymousClassInstantiation(SimpleAnonymousClassInstantiation that)
          Delegate to method in LLV
 java.lang.Void forStatementDoFirst(Statement that)
          Ignore Statement.
 java.lang.Void forSuperReferenceDoFirst(SuperReference that)
          No super references for interfaces--give an appropriate error.
 java.lang.Void forThisReferenceDoFirst(ThisReference that)
          No This literal in interfaces--give an appropriate error
 java.lang.Void forVariableDeclarationOnly(VariableDeclaration that)
          Ignore VariableDeclaration.
 
Methods inherited from class edu.rice.cs.javalanglevels.FullJavaVisitor
complexAnonymousClassInstantiationHelper, createConstructor, createEquals, createHashCode, createToString, forArrayType, forClassDef, forConditionalExpressionDoFirst, forInstanceofExpressionDoFirst, forInterfaceDef, forLabeledBreakStatementDoFirst, forLabeledContinueStatementDoFirst, forLabeledStatementDoFirst, forModifiersAndVisibilityDoFirst, 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, addGeneratedMethod, addInnerSymbolData, anonymousClassInstantiationHelper, arrayEquals, createAccessors, createImportedSymbolContinuation, createMethodData, defineAnonymousSymbolData, defineArraySymbolData, defineInnerSymbolData, defineSymbolData, defineSymbolData, forAbstractMethodDefDoFirst, forBitwiseAndExpressionDoFirst, forBitwiseAssignmentExpressionDoFirst, forBitwiseBinaryExpressionDoFirst, forBitwiseNotExpressionDoFirst, forBitwiseNotExpressionDoFirst, forBitwiseOrExpressionDoFirst, forBitwiseXorExpressionDoFirst, forClassDefDoFirst, forClassImportStatementOnly, forComplexNameReference, 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, forConcreteMethodDef, forConcreteMethodDefOnly, forConditionalExpression, forConditionalExpressionOnly, forConstructorDef, 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, forSuperReferenceOnly, forSwitchCaseDoFirst, forSwitchCaseOnly, forSwitchStatement, forSwitchStatementOnly, forSynchronizedStatement, forSynchronizedStatementOnly, forThisConstructorInvocationDoFirst, forThisConstructorInvocationOnly, 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

InterfaceBodyFullJavaVisitor

public InterfaceBodyFullJavaVisitor(SymbolData sd,
                                    java.io.File file,
                                    java.lang.String packageName,
                                    java.util.LinkedList<java.lang.String> importedFiles,
                                    java.util.LinkedList<java.lang.String> importedPackages,
                                    java.util.HashSet<java.lang.String> classesInThisFile,
                                    java.util.Hashtable<java.lang.String,Triple<SourceInfo,LanguageLevelVisitor,SymbolData>> continuations,
                                    java.util.LinkedList<Command> fixUps)
Old constructor for InterfaceBodyFullJavaVisitor.

Parameters:
sd - The SymbolData that encloses the context we are visiting.
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

InterfaceBodyFullJavaVisitor

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

Parameters:
sd - The SymbolData that encloses the context we are visiting.
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
genericTypes - A HashMap mapping in scope generic type names to their bounds (SymbolDatas).
Method Detail

forStatementDoFirst

public java.lang.Void forStatementDoFirst(Statement that)
Ignore Statement.

Overrides:
forStatementDoFirst in class JExpressionIFPrunableDepthFirstVisitor

forConcreteMethodDefDoFirst

public java.lang.Void forConcreteMethodDefDoFirst(ConcreteMethodDef that)
Description copied from class: LanguageLevelVisitor
Makes sure that this concrete method def is not declared to be abstract.

Overrides:
forConcreteMethodDefDoFirst in class LanguageLevelVisitor

forInstanceInitializerDoFirst

public java.lang.Void forInstanceInitializerDoFirst(InstanceInitializer that)
Throw an appropriate error

Overrides:
forInstanceInitializerDoFirst in class FullJavaVisitor

forVariableDeclarationOnly

public java.lang.Void forVariableDeclarationOnly(VariableDeclaration that)
Ignore VariableDeclaration.

Overrides:
forVariableDeclarationOnly in class JExpressionIFPrunableDepthFirstVisitor

forThisReferenceDoFirst

public java.lang.Void forThisReferenceDoFirst(ThisReference that)
No This literal in interfaces--give an appropriate error

Overrides:
forThisReferenceDoFirst in class JExpressionIFPrunableDepthFirstVisitor

forSuperReferenceDoFirst

public java.lang.Void forSuperReferenceDoFirst(SuperReference that)
No super references for interfaces--give an appropriate error.

Overrides:
forSuperReferenceDoFirst in class JExpressionIFPrunableDepthFirstVisitor

forAbstractMethodDef

public java.lang.Void forAbstractMethodDef(AbstractMethodDef that)
Description copied from interface: JExpressionIFVisitor
Process an instance of AbstractMethodDef.

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

forInnerInterfaceDef

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

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

forInnerClassDef

public java.lang.Void forInnerClassDef(InnerClassDef that)
Call the method in FullJavaVisitor; it's common to this ClassBodyAdvancedVisitor.

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

forConstructorDefDoFirst

public java.lang.Void forConstructorDefDoFirst(ConstructorDef that)
Throw an error: Interfaces cannot have constructors

Overrides:
forConstructorDefDoFirst in class JExpressionIFPrunableDepthFirstVisitor

_variableDeclaration2VariableData

protected VariableData[] _variableDeclaration2VariableData(VariableDeclaration vd,
                                                           Data enclosingData)
Processes a static field declaration within an interface. Calls the super method to convert the VariableDeclaration to a VariableData array, then makes sure that each VariableData is final and static, as required in an interface.

Overrides:
_variableDeclaration2VariableData in class LanguageLevelVisitor
Parameters:
enclosingData - The Data immediately enclosing the variables

forComplexAnonymousClassInstantiation

public java.lang.Void forComplexAnonymousClassInstantiation(ComplexAnonymousClassInstantiation that)
Delegate to method in LLV

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

forSimpleAnonymousClassInstantiation

public java.lang.Void forSimpleAnonymousClassInstantiation(SimpleAnonymousClassInstantiation that)
Delegate to method in LLV

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