org.eclipse.jdt.internal.compiler.parser
Class RecoveryScanner

java.lang.Object
  extended by org.eclipse.jdt.internal.compiler.parser.Scanner
      extended by org.eclipse.jdt.internal.compiler.parser.RecoveryScanner
All Implemented Interfaces:
TerminalTokens

public class RecoveryScanner
extends Scanner


Field Summary
static char[] FAKE_IDENTIFIER
           
 boolean record
           
 
Fields inherited from class org.eclipse.jdt.internal.compiler.parser.Scanner
BracketKinds, charArray_length, checkNonExternalizedStringLiterals, COMMENT_ARRAYS_SIZE, commentPtr, commentStarts, commentStops, commentTagStarts, complianceLevel, containsAssertKeyword, CurlyBracket, currentCharacter, currentPosition, diet, END_OF_SOURCE, eofPosition, foundTaskCount, foundTaskMessages, foundTaskPositions, foundTaskPriorities, foundTaskTags, HIGH_SURROGATE_MAX_VALUE, HIGH_SURROGATE_MIN_VALUE, initialPosition, insideRecovery, INVALID_CHAR_IN_STRING, INVALID_CHARACTER_CONSTANT, INVALID_DIGIT, INVALID_ESCAPE, INVALID_FLOAT, INVALID_HEXA, INVALID_HIGH_SURROGATE, INVALID_INPUT, INVALID_LOW_SURROGATE, INVALID_OCTAL, INVALID_UNICODE_ESCAPE, isTaskCaseSensitive, lineEnds, linePtr, LOW_SURROGATE_MAX_VALUE, LOW_SURROGATE_MIN_VALUE, NULL_SOURCE_STRING, OptimizedLength, recordLineSeparator, returnOnlyGreater, RoundBracket, scanningFloatLiteral, skipComments, source, sourceLevel, SquareBracket, startPosition, TAG_POSTFIX, TAG_POSTFIX_LENGTH, TAG_PREFIX, TAG_PREFIX_LENGTH, taskPriorities, taskTags, tokenizeComments, tokenizeWhiteSpace, unicodeAsBackSlash, UNTERMINATED_COMMENT, UNTERMINATED_STRING, useAssertAsAnIndentifier, useEnumAsAnIndentifier, wasAcr, withoutUnicodeBuffer, withoutUnicodePtr
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.parser.TerminalTokens
TokenNameabstract, TokenNamealso, TokenNameAND, TokenNameAND_AND, TokenNameAND_EQUAL, TokenNameassert, TokenNameAssignableOrSynonym, TokenNameAssignableRedundantlyOrSynonym, TokenNameassume, TokenNameassume_redundantly, TokenNameAT, TokenNameaxiom, TokenNameBehaviorOrSynonym, TokenNameboolean, TokenNamebreak, TokenNamebyte, TokenNamecase, TokenNamecatch, TokenNamechar, TokenNameCharacterLiteral, TokenNameclass, TokenNamecode_bigint_math, TokenNamecode_java_math, TokenNamecode_safe_math, TokenNameCOLON, TokenNameCOMMA, TokenNameCOMMENT_BLOCK, TokenNameCOMMENT_JAVADOC, TokenNameCOMMENT_LINE, TokenNameconst, TokenNameconstraint, TokenNameconstraint_redundantly, TokenNamecontinue, TokenNamedecreases, TokenNamedecreases_redundantly, TokenNamedefault, TokenNamediverges, TokenNamediverges_redundantly, TokenNameDIVIDE, TokenNameDIVIDE_EQUAL, TokenNamedo, TokenNameDOT, TokenNameDOTDOT, TokenNamedouble, TokenNameDoubleLiteral, TokenNameELLIPSIS, TokenNameelse, TokenNameEnsuresOrSynonym, TokenNameEnsuresRedundantlyOrSynonym, TokenNameenum, TokenNameEOF, TokenNameEQUAL, TokenNameEQUAL_EQUAL, TokenNameEQUIV, TokenNameERROR, TokenNameextends, TokenNamefalse, TokenNamefinal, TokenNamefinally, TokenNamefloat, TokenNameFloatingPointLiteral, TokenNamefor, TokenNameforall, TokenNameghost, TokenNamegoto, TokenNameGREATER, TokenNameGREATER_EQUAL, TokenNamehelper, TokenNameIdentifier, TokenNameif, TokenNameimplements, TokenNameIMPLIES, TokenNameimplies_that, TokenNameimport, TokenNamein, TokenNamein_redundantly, TokenNameInformalDescription, TokenNameinitially, TokenNameinstance, TokenNameinstanceof, TokenNameint, TokenNameIntegerLiteral, TokenNameinterface, TokenNameinvariant, TokenNameinvariant_redundantly, TokenNamejml_assert, TokenNamejml_assert_redundantly, TokenNameLBRACE, TokenNameLBRACE_OR, TokenNameLBRACKET, TokenNameLEFT_SHIFT, TokenNameLEFT_SHIFT_EQUAL, TokenNameLESS, TokenNameLESS_EQUAL, TokenNamelong, TokenNameLongLiteral, TokenNameloop_invariant, TokenNameloop_invariant_redundantly, TokenNameLPAREN, TokenNamemaps, TokenNamemaps_redundantly, TokenNameMINUS, TokenNameMINUS_EQUAL, TokenNameMINUS_MINUS, TokenNamemodel, TokenNamemono_non_null, TokenNameMULTIPLY, TokenNameMULTIPLY_EQUAL, TokenNamenative, TokenNamenew, TokenNamenon_null, TokenNamenon_null_by_default, TokenNameNOT, TokenNameNOT_EQUAL, TokenNameNOT_EQUIV, TokenNamenowarn, TokenNamenull, TokenNamenullable, TokenNamenullable_by_default, TokenNameold, TokenNameOR, TokenNameOR_EQUAL, TokenNameOR_OR, TokenNameOR_RBRACE, TokenNamepackage, TokenNamepeer, TokenNamePLUS, TokenNamePLUS_EQUAL, TokenNamePLUS_PLUS, TokenNameprivate, TokenNameprotected, TokenNamepublic, TokenNamepure, TokenNameQUESTION, TokenNameRBRACE, TokenNameRBRACKET, TokenNamereadonly, TokenNameREMAINDER, TokenNameREMAINDER_EQUAL, TokenNamerep, TokenNamerepresents, TokenNameREPRESENTS, TokenNamerepresents_redundantly, TokenNameRequiresOrSynonym, TokenNameRequiresRedundantlyOrSynonym, TokenNamereturn, TokenNameREV_IMPLIES, TokenNameRIGHT_SHIFT, TokenNameRIGHT_SHIFT_EQUAL, TokenNameRPAREN, TokenNameSEMICOLON, TokenNameset, TokenNameshort, TokenNamesignals_only, TokenNamesignals_only_redundantly, TokenNameSignalsOrSynonym, TokenNameSignalsRedundantlyOrSynonym, TokenNameslash_elemtype, TokenNameslash_everything, TokenNameslash_exists, TokenNameslash_forall, TokenNameslash_fresh, TokenNameslash_into, TokenNameslash_max, TokenNameslash_min, TokenNameslash_nonnullelements, TokenNameslash_not_assigned, TokenNameslash_not_modified, TokenNameslash_not_specified, TokenNameslash_nothing, TokenNameslash_num_of, TokenNameslash_old, TokenNameslash_peer, TokenNameslash_pre, TokenNameslash_product, TokenNameslash_readonly, TokenNameslash_rep, TokenNameslash_result, TokenNameslash_same, TokenNameslash_sum, TokenNameslash_type, TokenNameslash_typeof, TokenNamespec_bigint_math, TokenNamespec_java_math, TokenNamespec_protected, TokenNamespec_public, TokenNamespec_safe_math, TokenNamestatic, TokenNamestrictfp, TokenNameStringLiteral, TokenNameSUBTYPE, TokenNamesuper, TokenNameswitch, TokenNamesynchronized, TokenNamethis, TokenNamethrow, TokenNamethrows, TokenNametransient, TokenNametrue, TokenNametry, TokenNameTWIDDLE, TokenNameuninitialized, TokenNameUNSIGNED_RIGHT_SHIFT, TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL, TokenNamevoid, TokenNamevolatile, TokenNamewhile, TokenNameWHITESPACE, TokenNameXOR, TokenNameXOR_EQUAL
 
Constructor Summary
RecoveryScanner(Scanner scanner, RecoveryScannerData data)
           
 
Method Summary
 char[] getCurrentIdentifierSource()
           
 char[] getCurrentTokenSource()
           
 char[] getCurrentTokenSourceString()
           
 RecoveryScannerData getData()
           
 int getNextToken()
           
 void insertToken(int token, int completedToken, int position)
           
 void insertTokens(int[] tokens, int completedToken, int position)
           
 boolean isFakeToken()
           
 boolean isInsertedToken()
           
 boolean isPrecededByRemovedToken()
           
 boolean isReplacedToken()
           
 void removeTokens(int start, int end)
           
 void replaceTokens(int[] tokens, int start, int end)
           
 void replaceTokens(int token, int start, int end)
           
 void setData(RecoveryScannerData data)
           
 void setPendingTokens(int[] pendingTokens)
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.parser.Scanner
atEnd, checkTaskTag, getCurrentStringLiteral, getCurrentTokenEndPosition, getCurrentTokenStartPosition, getCurrentTokenString, getLineEnd, getLineEnds, getLineNumber, getLineStart, getNextChar, getNextChar, getNextChar, getNextCharAsDigit, getNextCharAsDigit, getNextCharAsJavaIdentifierPart, getNextCharAsJavaIdentifierPartWithBoundCheck, getNextCharWithBoundChecks, getNextUnicodeChar, getNLSTags, getRawTokenSource, getRawTokenSourceEnd, getSource, jumpOverMethodBody, jumpOverUnicodeWhiteSpace, pushLineSeparator, pushUnicodeLineSeparator, recordComment, resetInExpressionPartOfJmlClause, resetJmlRelatedAttributes, resetTo, scanEscapeCharacter, scanIdentifier, scanIdentifierOrKeyword, scanIdentifierOrKeywordWithBoundCheck, scanNumber, setInExpressionPartOfJmlClause, setSource, setSource, setSource, startJmlAnnotation, toString, toStringAction, unicodeInitializeBuffer, unicodeStore
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FAKE_IDENTIFIER

public static final char[] FAKE_IDENTIFIER

record

public boolean record
Constructor Detail

RecoveryScanner

public RecoveryScanner(Scanner scanner,
                       RecoveryScannerData data)
Method Detail

insertToken

public void insertToken(int token,
                        int completedToken,
                        int position)

insertTokens

public void insertTokens(int[] tokens,
                         int completedToken,
                         int position)

replaceTokens

public void replaceTokens(int token,
                          int start,
                          int end)

replaceTokens

public void replaceTokens(int[] tokens,
                          int start,
                          int end)

removeTokens

public void removeTokens(int start,
                         int end)

getNextToken

public int getNextToken()
                 throws InvalidInputException
Overrides:
getNextToken in class Scanner
Throws:
InvalidInputException

getCurrentIdentifierSource

public char[] getCurrentIdentifierSource()
Overrides:
getCurrentIdentifierSource in class Scanner

getCurrentTokenSourceString

public char[] getCurrentTokenSourceString()
Overrides:
getCurrentTokenSourceString in class Scanner

getCurrentTokenSource

public char[] getCurrentTokenSource()
Overrides:
getCurrentTokenSource in class Scanner

getData

public RecoveryScannerData getData()

isFakeToken

public boolean isFakeToken()

isInsertedToken

public boolean isInsertedToken()

isReplacedToken

public boolean isReplacedToken()

isPrecededByRemovedToken

public boolean isPrecededByRemovedToken()

setData

public void setData(RecoveryScannerData data)

setPendingTokens

public void setPendingTokens(int[] pendingTokens)