com.bluemarsh.jswat.view
Class JavaParser

java.lang.Object
  |
  +--com.bluemarsh.jswat.parser.java.analysis.AnalysisAdapter
        |
        +--com.bluemarsh.jswat.parser.java.analysis.DepthFirstAdapter
              |
              +--com.bluemarsh.jswat.view.JavaParser
All Implemented Interfaces:
Analysis, Switch

public class JavaParser
extends DepthFirstAdapter

Class JavaParser is responsible for parsing a Java source file and generating a list of ClassDefinition objects.

Author:
Nathan Fiedler

Field Summary
protected  java.util.List classLines
          List of ClassDefinition objects.
protected  java.lang.String packageName
          Name of the package the parsed class is defined in, if any.
protected  java.io.Reader reader
          Source file reader.
 
Constructor Summary
JavaParser(java.io.Reader r)
          Constructs a JavaParser to read from the given Reader.
 
Method Summary
protected  void fixClassNames()
          Correct the names of the classes to include the package name, if any, and to include enclosing instances, if any.
 java.lang.String getPackageName()
          Returns the name of the package that the parsed class is defined in.
 void inAClassBody(AClassBody node)
           
 void inAPackageDeclaration(APackageDeclaration node)
           
 java.util.List parse()
          Parse the input source file and return a List of ClassDefinition objects.
protected  java.lang.String trimWhitespace(java.lang.String s)
          Strips out all whitespace characters from string 's'.
 
Methods inherited from class com.bluemarsh.jswat.parser.java.analysis.DepthFirstAdapter
caseAAbstractMethodDeclaration, caseAAbstractMethodDeclarationInterfaceMemberDeclaration, caseAAbstractModifier, caseAAdditiveExpressionShiftExpression, caseAAndExpressionAndExpression, caseAAndExpressionExclusiveOrExpression, caseAArgumentListArgumentList, caseAArrayAccessLeftHandSide, caseAArrayAccessPrimaryNoNewArray, caseAArrayCreationExpressionPrimary, caseAArrayInitializer, caseAArrayInitializerVariableInitializer, caseAArrayTypeReferenceType, caseAAssertAssertStatement, caseAAssertStatement, caseAAssertStatementStatementWithoutTrailingSubstatement, caseAAssignAssignmentOperator, caseAAssignment, caseAAssignmentAssignmentExpression, caseAAssignmentStatementExpression, caseAAssignVariableDeclarator, caseABitAndAssignAssignmentOperator, caseABitComplementUnaryExpressionNotPlusMinus, caseABitOrAssignAssignmentOperator, caseABitXorAssignAssignmentOperator, caseABlock, caseABlockClassBodyDeclaration, caseABlockMethodBody, caseABlockStatementWithoutTrailingSubstatement, caseABooleanLiteralLiteral, caseABooleanPrimitiveType, caseABreakStatement, caseABreakStatementStatementWithoutTrailingSubstatement, caseAByteIntegralType, caseACaseSwitchLabel, caseACastExpressionUnaryExpressionNotPlusMinus, caseACatchClause, caseACharacterLiteralLiteral, caseACharIntegralType, caseAClassBody, caseAClassDeclaration, caseAClassDeclarationBlockStatement, caseAClassDeclarationClassMemberDeclaration, caseAClassDeclarationInterfaceMemberDeclaration, caseAClassDeclarationTypeDeclaration, caseAClassInstanceCreationExpressionPrimaryNoNewArray, caseAClassInstanceCreationExpressionStatementExpression, caseAClassMemberDeclarationClassBodyDeclaration, caseAClassOrInterfaceType, caseAClassOrInterfaceTypeArrayCreationExpression, caseAClassOrInterfaceTypeReferenceType, caseAClassType, caseAClassTypeClassTypeList, caseAClassTypeListClassTypeList, caseACompilationUnit, caseAComplementUnaryExpressionNotPlusMinus, caseAConditionalAndExpressionConditionalAndExpression, caseAConditionalAndExpressionConditionalOrExpression, caseAConditionalExpressionAssignmentExpression, caseAConditionalOrExpressionConditionalExpression, caseAConditionalOrExpressionConditionalOrExpression, caseAConstantDeclaration, caseAConstantDeclarationInterfaceMemberDeclaration, caseAConstantExpression, caseAConstructorBody, caseAConstructorDeclaration, caseAConstructorDeclarationClassBodyDeclaration, caseAConstructorDeclarator, caseAContinueStatement, caseAContinueStatementStatementWithoutTrailingSubstatement, caseADecimalIntegerLiteral, caseADefaultSwitchLabel, caseADimExpr, caseADimsDims, caseADivAssignAssignmentOperator, caseADivMultiplicativeExpression, caseADoStatement, caseADoStatementStatementWithoutTrailingSubstatement, caseADoubleFloatingPointType, caseAEmptyStatement, caseAEmptyStatementStatementWithoutTrailingSubstatement, caseAEqEqualityExpression, caseAEqualityExpressionAndExpression, caseAExclusiveOrExpressionExclusiveOrExpression, caseAExclusiveOrExpressionInclusiveOrExpression, caseAExpression, caseAExpressionArgumentList, caseAExpressionCastExpression, caseAExpressionStatement, caseAExpressionStatementStatementWithoutTrailingSubstatement, caseAExpressionVariableInitializer, caseAExtendsExtendsInterfaces, caseAExtendsInterfacesExtendsInterfaces, caseAFalseBooleanLiteral, caseAFieldAccessLeftHandSide, caseAFieldAccessPrimaryNoNewArray, caseAFieldDeclaration, caseAFieldDeclarationClassMemberDeclaration, caseAFinally, caseAFinallyTryStatement, caseAFinalModifier, caseAFloatFloatingPointType, caseAFloatingPointLiteralLiteral, caseAFloatingPointTypeNumericType, caseAFormalParameter, caseAFormalParameterFormalParameterList, caseAFormalParameterListFormalParameterList, caseAForStatement, caseAForStatementNoShortIf, caseAForStatementNoShortIfStatementNoShortIf, caseAForStatementStatement, caseAForUpdate, caseAGoal, caseAGteqRelationalExpression, caseAGtRelationalExpression, caseAHexIntegerLiteral, caseAIdentifierMethodDeclarator, caseAIdentifierVariableDeclaratorId, caseAIfThenElseStatement, caseAIfThenElseStatementNoShortIf, caseAIfThenElseStatementNoShortIfStatementNoShortIf, caseAIfThenElseStatementStatement, caseAIfThenStatement, caseAIfThenStatementStatement, caseAInclusiveOrExpressionConditionalAndExpression, caseAInclusiveOrExpressionInclusiveOrExpression, caseAInitClassInterfaceArrayCreationExpression, caseAInitPrimitiveArrayCreationExpression, caseAInnerclassClassInstanceCreationExpression, caseAInstanceofRelationalExpression, caseAIntegerLiteralLiteral, caseAIntegralTypeNumericType, caseAInterfaceBody, caseAInterfaceDeclaration, caseAInterfaceDeclarationClassMemberDeclaration, caseAInterfaceDeclarationInterfaceMemberDeclaration, caseAInterfaceDeclarationTypeDeclaration, caseAInterfaces, caseAInterfaceType, caseAInterfaceTypeInterfaceTypeList, caseAInterfaceTypeListInterfaceTypeList, caseAIntIntegralType, caseALabeledStatement, caseALabeledStatementNoShortIf, caseALabeledStatementNoShortIfStatementNoShortIf, caseALabeledStatementStatement, caseALBracketDims, caseALiteralPrimaryNoNewArray, caseALocalVariableDeclaration, caseALocalVariableDeclarationForInit, caseALocalVariableDeclarationStatement, caseALocalVariableDeclarationStatementBlockStatement, caseALongIntegralType, caseALParenthesePrimaryNoNewArray, caseALteqRelationalExpression, caseALtRelationalExpression, caseAMethodDeclaration, caseAMethodDeclarationClassMemberDeclaration, caseAMethodDeclaratorMethodDeclarator, caseAMethodInvocationPrimaryNoNewArray, caseAMethodInvocationStatementExpression, caseAMinusAdditiveExpression, caseAMinusAssignAssignmentOperator, caseAMinusUnaryExpression, caseAModAssignAssignmentOperator, caseAModMultiplicativeExpression, caseAMultiplicativeExpressionAdditiveExpression, caseANameArrayAccess, caseANameArrayType, caseANameCastExpression, caseANamedTypePrimaryNoNewArray, caseANameLeftHandSide, caseANameMethodInvocation, caseANamePostfixExpression, caseANativeModifier, caseANeqEqualityExpression, caseANullLiteral, caseANullLiteralLiteral, caseANumericTypePrimitiveType, caseAOctalIntegerLiteral, caseAPackageDeclaration, caseAPlusAdditiveExpression, caseAPlusAssignAssignmentOperator, caseAPlusUnaryExpression, caseAPostDecrementExpression, caseAPostDecrementExpressionPostfixExpression, caseAPostDecrementExpressionStatementExpression, caseAPostfixExpressionUnaryExpressionNotPlusMinus, caseAPostIncrementExpression, caseAPostIncrementExpressionPostfixExpression, caseAPostIncrementExpressionStatementExpression, caseAPreDecrementExpression, caseAPreDecrementExpressionStatementExpression, caseAPreDecrementExpressionUnaryExpression, caseAPreIncrementExpression, caseAPreIncrementExpressionStatementExpression, caseAPreIncrementExpressionUnaryExpression, caseAPrimaryFieldAccess, caseAPrimaryMethodInvocation, caseAPrimaryNoNewArrayArrayAccess, caseAPrimaryNoNewArrayPrimary, caseAPrimaryPostfixExpression, caseAPrimitiveTypeArrayCreationExpression, caseAPrimitiveTypeArrayType, caseAPrimitiveTypeCastExpression, caseAPrimitiveTypePrimaryNoNewArray, caseAPrimitiveTypeType, caseAPrivateModifier, caseAProtectedModifier, caseAPublicModifier, caseAQualifiedClassInstanceCreationExpression, caseAQualifiedExplicitConstructorInvocation, caseAQualifiedName, caseAQualifiedNameName, caseAQualifiedThisPrimaryNoNewArray, caseAQuestionConditionalExpression, caseAReferenceTypeType, caseARelationalExpressionEqualityExpression, caseAReturnStatement, caseAReturnStatementStatementWithoutTrailingSubstatement, caseASemicolonClassMemberDeclaration, caseASemicolonInterfaceMemberDeclaration, caseASemicolonMethodBody, caseASemicolonTypeDeclaration, caseAShiftExpressionRelationalExpression, caseAShiftLeftAssignAssignmentOperator, caseAShiftLeftShiftExpression, caseAShortIntegralType, caseASignedShiftRightAssignAssignmentOperator, caseASignedShiftRightShiftExpression, caseASimpleClassInstanceCreationExpression, caseASimpleName, caseASimpleNameName, caseASingleTypeImportDeclaration, caseASingleTypeImportDeclarationImportDeclaration, caseAStarAssignAssignmentOperator, caseAStarMultiplicativeExpression, caseAStatementBlockStatement, caseAStatementExpressionListForInit, caseAStatementExpressionListStatementExpressionList, caseAStatementExpressionStatementExpressionList, caseAStatementWithoutTrailingSubstatementStatement, caseAStatementWithoutTrailingSubstatementStatementNoShortIf, caseAStaticInitializer, caseAStaticInitializerClassBodyDeclaration, caseAStaticModifier, caseAStrictfpModifier, caseAStringLiteralLiteral, caseASuper, caseASuperExplicitConstructorInvocation, caseASuperFieldAccess, caseASuperMethodInvocation, caseASwitchBlock, caseASwitchBlockStatementGroup, caseASwitchStatement, caseASwitchStatementStatementWithoutTrailingSubstatement, caseASynchronizedModifier, caseASynchronizedStatement, caseASynchronizedStatementStatementWithoutTrailingSubstatement, caseAThisExplicitConstructorInvocation, caseAThisPrimaryNoNewArray, caseAThrows, caseAThrowStatement, caseAThrowStatementStatementWithoutTrailingSubstatement, caseATransientModifier, caseATrueBooleanLiteral, caseATryStatementStatementWithoutTrailingSubstatement, caseATryTryStatement, caseATypeImportOnDemandDeclaration, caseATypeImportOnDemandDeclarationImportDeclaration, caseATypeMethodHeader, caseAUnaryExpressionMultiplicativeExpression, caseAUnaryExpressionNotPlusMinusUnaryExpression, caseAUnsignedShiftRightAssignAssignmentOperator, caseAUnsignedShiftRightShiftExpression, caseAVariableDeclaratorIdVariableDeclarator, caseAVariableDeclaratorIdVariableDeclaratorId, caseAVariableDeclaratorsVariableDeclarators, caseAVariableDeclaratorVariableDeclarators, caseAVariableInitializersVariableInitializers, caseAVariableInitializerVariableInitializers, caseAVoidMethodHeader, caseAVoidPrimaryNoNewArray, caseAVolatileModifier, caseAWhileStatement, caseAWhileStatementNoShortIf, caseAWhileStatementNoShortIfStatementNoShortIf, caseAWhileStatementStatement, caseStart, defaultIn, defaultOut, inAAbstractMethodDeclaration, inAAbstractMethodDeclarationInterfaceMemberDeclaration, inAAbstractModifier, inAAdditiveExpressionShiftExpression, inAAndExpressionAndExpression, inAAndExpressionExclusiveOrExpression, inAArgumentListArgumentList, inAArrayAccessLeftHandSide, inAArrayAccessPrimaryNoNewArray, inAArrayCreationExpressionPrimary, inAArrayInitializer, inAArrayInitializerVariableInitializer, inAArrayTypeReferenceType, inAAssertAssertStatement, inAAssertStatement, inAAssertStatementStatementWithoutTrailingSubstatement, inAAssignAssignmentOperator, inAAssignment, inAAssignmentAssignmentExpression, inAAssignmentStatementExpression, inAAssignVariableDeclarator, inABitAndAssignAssignmentOperator, inABitComplementUnaryExpressionNotPlusMinus, inABitOrAssignAssignmentOperator, inABitXorAssignAssignmentOperator, inABlock, inABlockClassBodyDeclaration, inABlockMethodBody, inABlockStatementWithoutTrailingSubstatement, inABooleanLiteralLiteral, inABooleanPrimitiveType, inABreakStatement, inABreakStatementStatementWithoutTrailingSubstatement, inAByteIntegralType, inACaseSwitchLabel, inACastExpressionUnaryExpressionNotPlusMinus, inACatchClause, inACharacterLiteralLiteral, inACharIntegralType, inAClassDeclaration, inAClassDeclarationBlockStatement, inAClassDeclarationClassMemberDeclaration, inAClassDeclarationInterfaceMemberDeclaration, inAClassDeclarationTypeDeclaration, inAClassInstanceCreationExpressionPrimaryNoNewArray, inAClassInstanceCreationExpressionStatementExpression, inAClassMemberDeclarationClassBodyDeclaration, inAClassOrInterfaceType, inAClassOrInterfaceTypeArrayCreationExpression, inAClassOrInterfaceTypeReferenceType, inAClassType, inAClassTypeClassTypeList, inAClassTypeListClassTypeList, inACompilationUnit, inAComplementUnaryExpressionNotPlusMinus, inAConditionalAndExpressionConditionalAndExpression, inAConditionalAndExpressionConditionalOrExpression, inAConditionalExpressionAssignmentExpression, inAConditionalOrExpressionConditionalExpression, inAConditionalOrExpressionConditionalOrExpression, inAConstantDeclaration, inAConstantDeclarationInterfaceMemberDeclaration, inAConstantExpression, inAConstructorBody, inAConstructorDeclaration, inAConstructorDeclarationClassBodyDeclaration, inAConstructorDeclarator, inAContinueStatement, inAContinueStatementStatementWithoutTrailingSubstatement, inADecimalIntegerLiteral, inADefaultSwitchLabel, inADimExpr, inADimsDims, inADivAssignAssignmentOperator, inADivMultiplicativeExpression, inADoStatement, inADoStatementStatementWithoutTrailingSubstatement, inADoubleFloatingPointType, inAEmptyStatement, inAEmptyStatementStatementWithoutTrailingSubstatement, inAEqEqualityExpression, inAEqualityExpressionAndExpression, inAExclusiveOrExpressionExclusiveOrExpression, inAExclusiveOrExpressionInclusiveOrExpression, inAExpression, inAExpressionArgumentList, inAExpressionCastExpression, inAExpressionStatement, inAExpressionStatementStatementWithoutTrailingSubstatement, inAExpressionVariableInitializer, inAExtendsExtendsInterfaces, inAExtendsInterfacesExtendsInterfaces, inAFalseBooleanLiteral, inAFieldAccessLeftHandSide, inAFieldAccessPrimaryNoNewArray, inAFieldDeclaration, inAFieldDeclarationClassMemberDeclaration, inAFinally, inAFinallyTryStatement, inAFinalModifier, inAFloatFloatingPointType, inAFloatingPointLiteralLiteral, inAFloatingPointTypeNumericType, inAFormalParameter, inAFormalParameterFormalParameterList, inAFormalParameterListFormalParameterList, inAForStatement, inAForStatementNoShortIf, inAForStatementNoShortIfStatementNoShortIf, inAForStatementStatement, inAForUpdate, inAGoal, inAGteqRelationalExpression, inAGtRelationalExpression, inAHexIntegerLiteral, inAIdentifierMethodDeclarator, inAIdentifierVariableDeclaratorId, inAIfThenElseStatement, inAIfThenElseStatementNoShortIf, inAIfThenElseStatementNoShortIfStatementNoShortIf, inAIfThenElseStatementStatement, inAIfThenStatement, inAIfThenStatementStatement, inAInclusiveOrExpressionConditionalAndExpression, inAInclusiveOrExpressionInclusiveOrExpression, inAInitClassInterfaceArrayCreationExpression, inAInitPrimitiveArrayCreationExpression, inAInnerclassClassInstanceCreationExpression, inAInstanceofRelationalExpression, inAIntegerLiteralLiteral, inAIntegralTypeNumericType, inAInterfaceBody, inAInterfaceDeclaration, inAInterfaceDeclarationClassMemberDeclaration, inAInterfaceDeclarationInterfaceMemberDeclaration, inAInterfaceDeclarationTypeDeclaration, inAInterfaces, inAInterfaceType, inAInterfaceTypeInterfaceTypeList, inAInterfaceTypeListInterfaceTypeList, inAIntIntegralType, inALabeledStatement, inALabeledStatementNoShortIf, inALabeledStatementNoShortIfStatementNoShortIf, inALabeledStatementStatement, inALBracketDims, inALiteralPrimaryNoNewArray, inALocalVariableDeclaration, inALocalVariableDeclarationForInit, inALocalVariableDeclarationStatement, inALocalVariableDeclarationStatementBlockStatement, inALongIntegralType, inALParenthesePrimaryNoNewArray, inALteqRelationalExpression, inALtRelationalExpression, inAMethodDeclaration, inAMethodDeclarationClassMemberDeclaration, inAMethodDeclaratorMethodDeclarator, inAMethodInvocationPrimaryNoNewArray, inAMethodInvocationStatementExpression, inAMinusAdditiveExpression, inAMinusAssignAssignmentOperator, inAMinusUnaryExpression, inAModAssignAssignmentOperator, inAModMultiplicativeExpression, inAMultiplicativeExpressionAdditiveExpression, inANameArrayAccess, inANameArrayType, inANameCastExpression, inANamedTypePrimaryNoNewArray, inANameLeftHandSide, inANameMethodInvocation, inANamePostfixExpression, inANativeModifier, inANeqEqualityExpression, inANullLiteral, inANullLiteralLiteral, inANumericTypePrimitiveType, inAOctalIntegerLiteral, inAPlusAdditiveExpression, inAPlusAssignAssignmentOperator, inAPlusUnaryExpression, inAPostDecrementExpression, inAPostDecrementExpressionPostfixExpression, inAPostDecrementExpressionStatementExpression, inAPostfixExpressionUnaryExpressionNotPlusMinus, inAPostIncrementExpression, inAPostIncrementExpressionPostfixExpression, inAPostIncrementExpressionStatementExpression, inAPreDecrementExpression, inAPreDecrementExpressionStatementExpression, inAPreDecrementExpressionUnaryExpression, inAPreIncrementExpression, inAPreIncrementExpressionStatementExpression, inAPreIncrementExpressionUnaryExpression, inAPrimaryFieldAccess, inAPrimaryMethodInvocation, inAPrimaryNoNewArrayArrayAccess, inAPrimaryNoNewArrayPrimary, inAPrimaryPostfixExpression, inAPrimitiveTypeArrayCreationExpression, inAPrimitiveTypeArrayType, inAPrimitiveTypeCastExpression, inAPrimitiveTypePrimaryNoNewArray, inAPrimitiveTypeType, inAPrivateModifier, inAProtectedModifier, inAPublicModifier, inAQualifiedClassInstanceCreationExpression, inAQualifiedExplicitConstructorInvocation, inAQualifiedName, inAQualifiedNameName, inAQualifiedThisPrimaryNoNewArray, inAQuestionConditionalExpression, inAReferenceTypeType, inARelationalExpressionEqualityExpression, inAReturnStatement, inAReturnStatementStatementWithoutTrailingSubstatement, inASemicolonClassMemberDeclaration, inASemicolonInterfaceMemberDeclaration, inASemicolonMethodBody, inASemicolonTypeDeclaration, inAShiftExpressionRelationalExpression, inAShiftLeftAssignAssignmentOperator, inAShiftLeftShiftExpression, inAShortIntegralType, inASignedShiftRightAssignAssignmentOperator, inASignedShiftRightShiftExpression, inASimpleClassInstanceCreationExpression, inASimpleName, inASimpleNameName, inASingleTypeImportDeclaration, inASingleTypeImportDeclarationImportDeclaration, inAStarAssignAssignmentOperator, inAStarMultiplicativeExpression, inAStatementBlockStatement, inAStatementExpressionListForInit, inAStatementExpressionListStatementExpressionList, inAStatementExpressionStatementExpressionList, inAStatementWithoutTrailingSubstatementStatement, inAStatementWithoutTrailingSubstatementStatementNoShortIf, inAStaticInitializer, inAStaticInitializerClassBodyDeclaration, inAStaticModifier, inAStrictfpModifier, inAStringLiteralLiteral, inASuper, inASuperExplicitConstructorInvocation, inASuperFieldAccess, inASuperMethodInvocation, inASwitchBlock, inASwitchBlockStatementGroup, inASwitchStatement, inASwitchStatementStatementWithoutTrailingSubstatement, inASynchronizedModifier, inASynchronizedStatement, inASynchronizedStatementStatementWithoutTrailingSubstatement, inAThisExplicitConstructorInvocation, inAThisPrimaryNoNewArray, inAThrows, inAThrowStatement, inAThrowStatementStatementWithoutTrailingSubstatement, inATransientModifier, inATrueBooleanLiteral, inATryStatementStatementWithoutTrailingSubstatement, inATryTryStatement, inATypeImportOnDemandDeclaration, inATypeImportOnDemandDeclarationImportDeclaration, inATypeMethodHeader, inAUnaryExpressionMultiplicativeExpression, inAUnaryExpressionNotPlusMinusUnaryExpression, inAUnsignedShiftRightAssignAssignmentOperator, inAUnsignedShiftRightShiftExpression, inAVariableDeclaratorIdVariableDeclarator, inAVariableDeclaratorIdVariableDeclaratorId, inAVariableDeclaratorsVariableDeclarators, inAVariableDeclaratorVariableDeclarators, inAVariableInitializersVariableInitializers, inAVariableInitializerVariableInitializers, inAVoidMethodHeader, inAVoidPrimaryNoNewArray, inAVolatileModifier, inAWhileStatement, inAWhileStatementNoShortIf, inAWhileStatementNoShortIfStatementNoShortIf, inAWhileStatementStatement, inStart, outAAbstractMethodDeclaration, outAAbstractMethodDeclarationInterfaceMemberDeclaration, outAAbstractModifier, outAAdditiveExpressionShiftExpression, outAAndExpressionAndExpression, outAAndExpressionExclusiveOrExpression, outAArgumentListArgumentList, outAArrayAccessLeftHandSide, outAArrayAccessPrimaryNoNewArray, outAArrayCreationExpressionPrimary, outAArrayInitializer, outAArrayInitializerVariableInitializer, outAArrayTypeReferenceType, outAAssertAssertStatement, outAAssertStatement, outAAssertStatementStatementWithoutTrailingSubstatement, outAAssignAssignmentOperator, outAAssignment, outAAssignmentAssignmentExpression, outAAssignmentStatementExpression, outAAssignVariableDeclarator, outABitAndAssignAssignmentOperator, outABitComplementUnaryExpressionNotPlusMinus, outABitOrAssignAssignmentOperator, outABitXorAssignAssignmentOperator, outABlock, outABlockClassBodyDeclaration, outABlockMethodBody, outABlockStatementWithoutTrailingSubstatement, outABooleanLiteralLiteral, outABooleanPrimitiveType, outABreakStatement, outABreakStatementStatementWithoutTrailingSubstatement, outAByteIntegralType, outACaseSwitchLabel, outACastExpressionUnaryExpressionNotPlusMinus, outACatchClause, outACharacterLiteralLiteral, outACharIntegralType, outAClassBody, outAClassDeclaration, outAClassDeclarationBlockStatement, outAClassDeclarationClassMemberDeclaration, outAClassDeclarationInterfaceMemberDeclaration, outAClassDeclarationTypeDeclaration, outAClassInstanceCreationExpressionPrimaryNoNewArray, outAClassInstanceCreationExpressionStatementExpression, outAClassMemberDeclarationClassBodyDeclaration, outAClassOrInterfaceType, outAClassOrInterfaceTypeArrayCreationExpression, outAClassOrInterfaceTypeReferenceType, outAClassType, outAClassTypeClassTypeList, outAClassTypeListClassTypeList, outACompilationUnit, outAComplementUnaryExpressionNotPlusMinus, outAConditionalAndExpressionConditionalAndExpression, outAConditionalAndExpressionConditionalOrExpression, outAConditionalExpressionAssignmentExpression, outAConditionalOrExpressionConditionalExpression, outAConditionalOrExpressionConditionalOrExpression, outAConstantDeclaration, outAConstantDeclarationInterfaceMemberDeclaration, outAConstantExpression, outAConstructorBody, outAConstructorDeclaration, outAConstructorDeclarationClassBodyDeclaration, outAConstructorDeclarator, outAContinueStatement, outAContinueStatementStatementWithoutTrailingSubstatement, outADecimalIntegerLiteral, outADefaultSwitchLabel, outADimExpr, outADimsDims, outADivAssignAssignmentOperator, outADivMultiplicativeExpression, outADoStatement, outADoStatementStatementWithoutTrailingSubstatement, outADoubleFloatingPointType, outAEmptyStatement, outAEmptyStatementStatementWithoutTrailingSubstatement, outAEqEqualityExpression, outAEqualityExpressionAndExpression, outAExclusiveOrExpressionExclusiveOrExpression, outAExclusiveOrExpressionInclusiveOrExpression, outAExpression, outAExpressionArgumentList, outAExpressionCastExpression, outAExpressionStatement, outAExpressionStatementStatementWithoutTrailingSubstatement, outAExpressionVariableInitializer, outAExtendsExtendsInterfaces, outAExtendsInterfacesExtendsInterfaces, outAFalseBooleanLiteral, outAFieldAccessLeftHandSide, outAFieldAccessPrimaryNoNewArray, outAFieldDeclaration, outAFieldDeclarationClassMemberDeclaration, outAFinally, outAFinallyTryStatement, outAFinalModifier, outAFloatFloatingPointType, outAFloatingPointLiteralLiteral, outAFloatingPointTypeNumericType, outAFormalParameter, outAFormalParameterFormalParameterList, outAFormalParameterListFormalParameterList, outAForStatement, outAForStatementNoShortIf, outAForStatementNoShortIfStatementNoShortIf, outAForStatementStatement, outAForUpdate, outAGoal, outAGteqRelationalExpression, outAGtRelationalExpression, outAHexIntegerLiteral, outAIdentifierMethodDeclarator, outAIdentifierVariableDeclaratorId, outAIfThenElseStatement, outAIfThenElseStatementNoShortIf, outAIfThenElseStatementNoShortIfStatementNoShortIf, outAIfThenElseStatementStatement, outAIfThenStatement, outAIfThenStatementStatement, outAInclusiveOrExpressionConditionalAndExpression, outAInclusiveOrExpressionInclusiveOrExpression, outAInitClassInterfaceArrayCreationExpression, outAInitPrimitiveArrayCreationExpression, outAInnerclassClassInstanceCreationExpression, outAInstanceofRelationalExpression, outAIntegerLiteralLiteral, outAIntegralTypeNumericType, outAInterfaceBody, outAInterfaceDeclaration, outAInterfaceDeclarationClassMemberDeclaration, outAInterfaceDeclarationInterfaceMemberDeclaration, outAInterfaceDeclarationTypeDeclaration, outAInterfaces, outAInterfaceType, outAInterfaceTypeInterfaceTypeList, outAInterfaceTypeListInterfaceTypeList, outAIntIntegralType, outALabeledStatement, outALabeledStatementNoShortIf, outALabeledStatementNoShortIfStatementNoShortIf, outALabeledStatementStatement, outALBracketDims, outALiteralPrimaryNoNewArray, outALocalVariableDeclaration, outALocalVariableDeclarationForInit, outALocalVariableDeclarationStatement, outALocalVariableDeclarationStatementBlockStatement, outALongIntegralType, outALParenthesePrimaryNoNewArray, outALteqRelationalExpression, outALtRelationalExpression, outAMethodDeclaration, outAMethodDeclarationClassMemberDeclaration, outAMethodDeclaratorMethodDeclarator, outAMethodInvocationPrimaryNoNewArray, outAMethodInvocationStatementExpression, outAMinusAdditiveExpression, outAMinusAssignAssignmentOperator, outAMinusUnaryExpression, outAModAssignAssignmentOperator, outAModMultiplicativeExpression, outAMultiplicativeExpressionAdditiveExpression, outANameArrayAccess, outANameArrayType, outANameCastExpression, outANamedTypePrimaryNoNewArray, outANameLeftHandSide, outANameMethodInvocation, outANamePostfixExpression, outANativeModifier, outANeqEqualityExpression, outANullLiteral, outANullLiteralLiteral, outANumericTypePrimitiveType, outAOctalIntegerLiteral, outAPackageDeclaration, outAPlusAdditiveExpression, outAPlusAssignAssignmentOperator, outAPlusUnaryExpression, outAPostDecrementExpression, outAPostDecrementExpressionPostfixExpression, outAPostDecrementExpressionStatementExpression, outAPostfixExpressionUnaryExpressionNotPlusMinus, outAPostIncrementExpression, outAPostIncrementExpressionPostfixExpression, outAPostIncrementExpressionStatementExpression, outAPreDecrementExpression, outAPreDecrementExpressionStatementExpression, outAPreDecrementExpressionUnaryExpression, outAPreIncrementExpression, outAPreIncrementExpressionStatementExpression, outAPreIncrementExpressionUnaryExpression, outAPrimaryFieldAccess, outAPrimaryMethodInvocation, outAPrimaryNoNewArrayArrayAccess, outAPrimaryNoNewArrayPrimary, outAPrimaryPostfixExpression, outAPrimitiveTypeArrayCreationExpression, outAPrimitiveTypeArrayType, outAPrimitiveTypeCastExpression, outAPrimitiveTypePrimaryNoNewArray, outAPrimitiveTypeType, outAPrivateModifier, outAProtectedModifier, outAPublicModifier, outAQualifiedClassInstanceCreationExpression, outAQualifiedExplicitConstructorInvocation, outAQualifiedName, outAQualifiedNameName, outAQualifiedThisPrimaryNoNewArray, outAQuestionConditionalExpression, outAReferenceTypeType, outARelationalExpressionEqualityExpression, outAReturnStatement, outAReturnStatementStatementWithoutTrailingSubstatement, outASemicolonClassMemberDeclaration, outASemicolonInterfaceMemberDeclaration, outASemicolonMethodBody, outASemicolonTypeDeclaration, outAShiftExpressionRelationalExpression, outAShiftLeftAssignAssignmentOperator, outAShiftLeftShiftExpression, outAShortIntegralType, outASignedShiftRightAssignAssignmentOperator, outASignedShiftRightShiftExpression, outASimpleClassInstanceCreationExpression, outASimpleName, outASimpleNameName, outASingleTypeImportDeclaration, outASingleTypeImportDeclarationImportDeclaration, outAStarAssignAssignmentOperator, outAStarMultiplicativeExpression, outAStatementBlockStatement, outAStatementExpressionListForInit, outAStatementExpressionListStatementExpressionList, outAStatementExpressionStatementExpressionList, outAStatementWithoutTrailingSubstatementStatement, outAStatementWithoutTrailingSubstatementStatementNoShortIf, outAStaticInitializer, outAStaticInitializerClassBodyDeclaration, outAStaticModifier, outAStrictfpModifier, outAStringLiteralLiteral, outASuper, outASuperExplicitConstructorInvocation, outASuperFieldAccess, outASuperMethodInvocation, outASwitchBlock, outASwitchBlockStatementGroup, outASwitchStatement, outASwitchStatementStatementWithoutTrailingSubstatement, outASynchronizedModifier, outASynchronizedStatement, outASynchronizedStatementStatementWithoutTrailingSubstatement, outAThisExplicitConstructorInvocation, outAThisPrimaryNoNewArray, outAThrows, outAThrowStatement, outAThrowStatementStatementWithoutTrailingSubstatement, outATransientModifier, outATrueBooleanLiteral, outATryStatementStatementWithoutTrailingSubstatement, outATryTryStatement, outATypeImportOnDemandDeclaration, outATypeImportOnDemandDeclarationImportDeclaration, outATypeMethodHeader, outAUnaryExpressionMultiplicativeExpression, outAUnaryExpressionNotPlusMinusUnaryExpression, outAUnsignedShiftRightAssignAssignmentOperator, outAUnsignedShiftRightShiftExpression, outAVariableDeclaratorIdVariableDeclarator, outAVariableDeclaratorIdVariableDeclaratorId, outAVariableDeclaratorsVariableDeclarators, outAVariableDeclaratorVariableDeclarators, outAVariableInitializersVariableInitializers, outAVariableInitializerVariableInitializers, outAVoidMethodHeader, outAVoidPrimaryNoNewArray, outAVolatileModifier, outAWhileStatement, outAWhileStatementNoShortIf, outAWhileStatementNoShortIfStatementNoShortIf, outAWhileStatementStatement, outStart
 
Methods inherited from class com.bluemarsh.jswat.parser.java.analysis.AnalysisAdapter
caseEOF, caseTAbstract, caseTAnd, caseTAssert, caseTAssign, caseTBitAnd, caseTBitAndAssign, caseTBitComplement, caseTBitOr, caseTBitOrAssign, caseTBitXor, caseTBitXorAssign, caseTBoolean, caseTBreak, caseTByte, caseTCase, caseTCatch, caseTChar, caseTCharacterLiteral, caseTClass, caseTColon, caseTComma, caseTComplement, caseTConst, caseTContinue, caseTDecimalIntegerLiteral, caseTDefault, caseTDiv, caseTDivAssign, caseTDo, caseTDocumentationComment, caseTDot, caseTDouble, caseTElse, caseTEndOfLineComment, caseTEq, caseTExtends, caseTFalse, caseTFinal, caseTFinally, caseTFloat, caseTFloatingPointLiteral, caseTFor, caseTGoto, caseTGt, caseTGteq, caseTHexIntegerLiteral, caseTIdentifier, caseTIf, caseTImplements, caseTImport, caseTInstanceof, caseTInt, caseTInterface, caseTLBrace, caseTLBracket, caseTLong, caseTLParenthese, caseTLt, caseTLteq, caseTMinus, caseTMinusAssign, caseTMinusMinus, caseTMod, caseTModAssign, caseTNative, caseTNeq, caseTNew, caseTNull, caseTOctalIntegerLiteral, caseTOr, caseTPackage, caseTPlus, caseTPlusAssign, caseTPlusPlus, caseTPrivate, caseTProtected, caseTPublic, caseTQuestion, caseTRBrace, caseTRBracket, caseTReturn, caseTRParenthese, caseTSemicolon, caseTShiftLeft, caseTShiftLeftAssign, caseTShort, caseTSignedShiftRight, caseTSignedShiftRightAssign, caseTStar, caseTStarAssign, caseTStatic, caseTStrictfp, caseTStringLiteral, caseTSuper, caseTSwitch, caseTSynchronized, caseTThis, caseTThrow, caseTThrows, caseTTraditionalComment, caseTTransient, caseTTrue, caseTTry, caseTUnsignedShiftRight, caseTUnsignedShiftRightAssign, caseTVoid, caseTVolatile, caseTWhile, caseTWhiteSpace, 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

reader

protected java.io.Reader reader
Source file reader.

classLines

protected java.util.List classLines
List of ClassDefinition objects.

packageName

protected java.lang.String packageName
Name of the package the parsed class is defined in, if any.
Constructor Detail

JavaParser

public JavaParser(java.io.Reader r)
Constructs a JavaParser to read from the given Reader.
Parameters:
r - input reader.
Method Detail

fixClassNames

protected void fixClassNames()
Correct the names of the classes to include the package name, if any, and to include enclosing instances, if any.

getPackageName

public java.lang.String getPackageName()
Returns the name of the package that the parsed class is defined in.
Returns:
package name, or null if none.

parse

public java.util.List parse()
Parse the input source file and return a List of ClassDefinition objects.
Returns:
list of class definitions, or null if error.

trimWhitespace

protected java.lang.String trimWhitespace(java.lang.String s)
Strips out all whitespace characters from string 's'.
Parameters:
s - string to be trimmed.
Returns:
string without whitespace.

inAClassBody

public void inAClassBody(AClassBody node)
Overrides:
inAClassBody in class DepthFirstAdapter

inAPackageDeclaration

public void inAPackageDeclaration(APackageDeclaration node)
Overrides:
inAPackageDeclaration in class DepthFirstAdapter