com.bluemarsh.jswat.view
Class JavaScanner
java.lang.Object
|
+--com.bluemarsh.jswat.parser.java.analysis.AnalysisAdapter
|
+--com.bluemarsh.jswat.view.JavaScanner
- All Implemented Interfaces:
- Analysis, Switch
- public class JavaScanner
- extends AnalysisAdapter
Class JavaScanner is responsible for lexically scanning a Java
source file and generating a list of JavaTokenInfo objects.
- Author:
- Nathan Fiedler
Field Summary |
protected SourceContent |
content
Source content. |
protected java.io.Reader |
reader
Source file reader. |
protected com.bluemarsh.adt.SkipList |
tokenList
List of JavaTokenInfo objects. |
Constructor Summary |
JavaScanner(java.io.Reader r,
SourceContent doc)
Constructs a JavaScanner to read from the given Reader. |
Methods inherited from class com.bluemarsh.jswat.parser.java.analysis.AnalysisAdapter |
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, caseEOF, caseStart, caseTAnd, caseTAssign, caseTBitAnd, caseTBitAndAssign, caseTBitComplement, caseTBitOr, caseTBitOrAssign, caseTBitXor, caseTBitXorAssign, caseTColon, caseTComma, caseTComplement, caseTDiv, caseTDivAssign, caseTDot, caseTEq, caseTGt, caseTGteq, caseTLBrace, caseTLBracket, caseTLParenthese, caseTLt, caseTLteq, caseTMinus, caseTMinusAssign, caseTMinusMinus, caseTMod, caseTModAssign, caseTNeq, caseTOr, caseTPlus, caseTPlusAssign, caseTPlusPlus, caseTQuestion, caseTRBrace, caseTRBracket, caseTRParenthese, caseTSemicolon, caseTShiftLeft, caseTShiftLeftAssign, caseTSignedShiftRight, caseTSignedShiftRightAssign, caseTStar, caseTStarAssign, caseTUnsignedShiftRight, caseTUnsignedShiftRightAssign, caseTWhiteSpace, defaultCase, getIn, getOut, setIn, setOut |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
reader
protected java.io.Reader reader
- Source file reader.
content
protected SourceContent content
- Source content.
tokenList
protected com.bluemarsh.adt.SkipList tokenList
- List of JavaTokenInfo objects.
JavaScanner
public JavaScanner(java.io.Reader r,
SourceContent doc)
- Constructs a JavaScanner to read from the given Reader.
- Parameters:
r
- input reader.doc
- source content.
scan
public com.bluemarsh.adt.SkipList scan()
- Scan the input source file and return a SkipList of JavaTokenInfo
objects.
- Returns:
- list of tokens, or null if error.
getOffset
protected int getOffset(Token t)
- Determines the offset from the start of the source file of the
given token.
- Parameters:
t
- token whose position is in question.- Returns:
- zero-based offset of token.
handleKeyword
protected void handleKeyword(Token node)
- Handle a keyword token.
- Parameters:
node
- token representing a keyword.
handleLiteral
protected void handleLiteral(Token node)
- Handle a literal token ('false', 'true', 'null').
- Parameters:
node
- token representing a literal.
caseTDecimalIntegerLiteral
public void caseTDecimalIntegerLiteral(TDecimalIntegerLiteral node)
- Overrides:
caseTDecimalIntegerLiteral
in class AnalysisAdapter
caseTHexIntegerLiteral
public void caseTHexIntegerLiteral(THexIntegerLiteral node)
- Overrides:
caseTHexIntegerLiteral
in class AnalysisAdapter
caseTOctalIntegerLiteral
public void caseTOctalIntegerLiteral(TOctalIntegerLiteral node)
- Overrides:
caseTOctalIntegerLiteral
in class AnalysisAdapter
caseTFloatingPointLiteral
public void caseTFloatingPointLiteral(TFloatingPointLiteral node)
- Overrides:
caseTFloatingPointLiteral
in class AnalysisAdapter
caseTCharacterLiteral
public void caseTCharacterLiteral(TCharacterLiteral node)
- Overrides:
caseTCharacterLiteral
in class AnalysisAdapter
caseTStringLiteral
public void caseTStringLiteral(TStringLiteral node)
- Overrides:
caseTStringLiteral
in class AnalysisAdapter
caseTTraditionalComment
public void caseTTraditionalComment(TTraditionalComment node)
- Overrides:
caseTTraditionalComment
in class AnalysisAdapter
caseTDocumentationComment
public void caseTDocumentationComment(TDocumentationComment node)
- Overrides:
caseTDocumentationComment
in class AnalysisAdapter
caseTEndOfLineComment
public void caseTEndOfLineComment(TEndOfLineComment node)
- Overrides:
caseTEndOfLineComment
in class AnalysisAdapter
caseTIdentifier
public void caseTIdentifier(TIdentifier node)
- Overrides:
caseTIdentifier
in class AnalysisAdapter
caseTAssert
public void caseTAssert(TAssert node)
- Overrides:
caseTAssert
in class AnalysisAdapter
caseTAbstract
public void caseTAbstract(TAbstract node)
- Overrides:
caseTAbstract
in class AnalysisAdapter
caseTBoolean
public void caseTBoolean(TBoolean node)
- Overrides:
caseTBoolean
in class AnalysisAdapter
caseTBreak
public void caseTBreak(TBreak node)
- Overrides:
caseTBreak
in class AnalysisAdapter
caseTByte
public void caseTByte(TByte node)
- Overrides:
caseTByte
in class AnalysisAdapter
caseTCase
public void caseTCase(TCase node)
- Overrides:
caseTCase
in class AnalysisAdapter
caseTCatch
public void caseTCatch(TCatch node)
- Overrides:
caseTCatch
in class AnalysisAdapter
caseTChar
public void caseTChar(TChar node)
- Overrides:
caseTChar
in class AnalysisAdapter
caseTClass
public void caseTClass(TClass node)
- Overrides:
caseTClass
in class AnalysisAdapter
caseTConst
public void caseTConst(TConst node)
- Overrides:
caseTConst
in class AnalysisAdapter
caseTContinue
public void caseTContinue(TContinue node)
- Overrides:
caseTContinue
in class AnalysisAdapter
caseTDefault
public void caseTDefault(TDefault node)
- Overrides:
caseTDefault
in class AnalysisAdapter
caseTDo
public void caseTDo(TDo node)
- Overrides:
caseTDo
in class AnalysisAdapter
caseTDouble
public void caseTDouble(TDouble node)
- Overrides:
caseTDouble
in class AnalysisAdapter
caseTElse
public void caseTElse(TElse node)
- Overrides:
caseTElse
in class AnalysisAdapter
caseTExtends
public void caseTExtends(TExtends node)
- Overrides:
caseTExtends
in class AnalysisAdapter
caseTFinal
public void caseTFinal(TFinal node)
- Overrides:
caseTFinal
in class AnalysisAdapter
caseTFinally
public void caseTFinally(TFinally node)
- Overrides:
caseTFinally
in class AnalysisAdapter
caseTFloat
public void caseTFloat(TFloat node)
- Overrides:
caseTFloat
in class AnalysisAdapter
caseTFor
public void caseTFor(TFor node)
- Overrides:
caseTFor
in class AnalysisAdapter
caseTGoto
public void caseTGoto(TGoto node)
- Overrides:
caseTGoto
in class AnalysisAdapter
caseTIf
public void caseTIf(TIf node)
- Overrides:
caseTIf
in class AnalysisAdapter
caseTImplements
public void caseTImplements(TImplements node)
- Overrides:
caseTImplements
in class AnalysisAdapter
caseTImport
public void caseTImport(TImport node)
- Overrides:
caseTImport
in class AnalysisAdapter
caseTInstanceof
public void caseTInstanceof(TInstanceof node)
- Overrides:
caseTInstanceof
in class AnalysisAdapter
caseTInt
public void caseTInt(TInt node)
- Overrides:
caseTInt
in class AnalysisAdapter
caseTInterface
public void caseTInterface(TInterface node)
- Overrides:
caseTInterface
in class AnalysisAdapter
caseTLong
public void caseTLong(TLong node)
- Overrides:
caseTLong
in class AnalysisAdapter
caseTNative
public void caseTNative(TNative node)
- Overrides:
caseTNative
in class AnalysisAdapter
caseTNew
public void caseTNew(TNew node)
- Overrides:
caseTNew
in class AnalysisAdapter
caseTPackage
public void caseTPackage(TPackage node)
- Overrides:
caseTPackage
in class AnalysisAdapter
caseTPrivate
public void caseTPrivate(TPrivate node)
- Overrides:
caseTPrivate
in class AnalysisAdapter
caseTProtected
public void caseTProtected(TProtected node)
- Overrides:
caseTProtected
in class AnalysisAdapter
caseTPublic
public void caseTPublic(TPublic node)
- Overrides:
caseTPublic
in class AnalysisAdapter
caseTReturn
public void caseTReturn(TReturn node)
- Overrides:
caseTReturn
in class AnalysisAdapter
caseTShort
public void caseTShort(TShort node)
- Overrides:
caseTShort
in class AnalysisAdapter
caseTStatic
public void caseTStatic(TStatic node)
- Overrides:
caseTStatic
in class AnalysisAdapter
caseTStrictfp
public void caseTStrictfp(TStrictfp node)
- Overrides:
caseTStrictfp
in class AnalysisAdapter
caseTSuper
public void caseTSuper(TSuper node)
- Overrides:
caseTSuper
in class AnalysisAdapter
caseTSwitch
public void caseTSwitch(TSwitch node)
- Overrides:
caseTSwitch
in class AnalysisAdapter
caseTSynchronized
public void caseTSynchronized(TSynchronized node)
- Overrides:
caseTSynchronized
in class AnalysisAdapter
caseTThis
public void caseTThis(TThis node)
- Overrides:
caseTThis
in class AnalysisAdapter
caseTThrow
public void caseTThrow(TThrow node)
- Overrides:
caseTThrow
in class AnalysisAdapter
caseTThrows
public void caseTThrows(TThrows node)
- Overrides:
caseTThrows
in class AnalysisAdapter
caseTTransient
public void caseTTransient(TTransient node)
- Overrides:
caseTTransient
in class AnalysisAdapter
caseTTry
public void caseTTry(TTry node)
- Overrides:
caseTTry
in class AnalysisAdapter
caseTVoid
public void caseTVoid(TVoid node)
- Overrides:
caseTVoid
in class AnalysisAdapter
caseTVolatile
public void caseTVolatile(TVolatile node)
- Overrides:
caseTVolatile
in class AnalysisAdapter
caseTWhile
public void caseTWhile(TWhile node)
- Overrides:
caseTWhile
in class AnalysisAdapter
caseTTrue
public void caseTTrue(TTrue node)
- Overrides:
caseTTrue
in class AnalysisAdapter
caseTFalse
public void caseTFalse(TFalse node)
- Overrides:
caseTFalse
in class AnalysisAdapter
caseTNull
public void caseTNull(TNull node)
- Overrides:
caseTNull
in class AnalysisAdapter