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

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

public class RecoveredMethod
extends RecoveredElement
implements TerminalTokens

Internal method structure for parsing recovery


Field Summary
 int annotationCount
           
 RecoveredAnnotation[] annotations
           
 boolean discardBody
           
 int localTypeCount
           
 RecoveredType[] localTypes
           
 RecoveredBlock methodBody
           
 AbstractMethodDeclaration methodDeclaration
           
 int modifiers
           
 int modifiersStart
           
 
Fields inherited from class org.eclipse.jdt.internal.compiler.parser.RecoveredElement
bracketBalance, foundOpeningBrace, parent
 
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
RecoveredMethod(AbstractMethodDeclaration methodDeclaration, RecoveredElement parent, int bracketBalance, Parser parser)
           
 
Method Summary
 RecoveredElement add(Block nestedBlockDeclaration, int bracketBalanceValue)
           
 RecoveredElement add(FieldDeclaration fieldDeclaration, int bracketBalanceValue)
           
 RecoveredElement add(LocalDeclaration localDeclaration, int bracketBalanceValue)
           
 RecoveredElement add(Statement statement, int bracketBalanceValue)
           
 RecoveredElement add(TypeDeclaration typeDeclaration, int bracketBalanceValue)
           
 RecoveredElement addAnnotationName(int identifierPtr, int identifierLengthPtr, int annotationStart, int bracketBalanceValue)
           
 void addModifier(int flag, int modifiersSourceStart)
           
 void attach(RecoveredAnnotation[] annots, int annotCount, int mods, int modsSourceStart)
           
 boolean bodyStartsAtHeaderEnd()
           
 ASTNode parseTree()
           
 void resetPendingModifiers()
           
 int sourceEnd()
           
 java.lang.String toString(int tab)
           
 void updateBodyStart(int bodyStart)
           
 AbstractMethodDeclaration updatedMethodDeclaration()
           
 void updateFromParserState()
           
 RecoveredElement updateOnClosingBrace(int braceStart, int braceEnd)
           
 RecoveredElement updateOnOpeningBrace(int braceStart, int braceEnd)
           
 void updateParseTree()
           
 void updateSourceEndIfNecessary(int braceStart, int braceEnd)
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.parser.RecoveredElement
add, add, depth, enclosingInitializer, enclosingMethod, enclosingType, parser, preserveEnclosingBlocks, previousAvailableLineEnd, topElement, toString, type, updateSourceEndIfNecessary
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

methodDeclaration

public AbstractMethodDeclaration methodDeclaration

annotations

public RecoveredAnnotation[] annotations

annotationCount

public int annotationCount

modifiers

public int modifiers

modifiersStart

public int modifiersStart

localTypes

public RecoveredType[] localTypes

localTypeCount

public int localTypeCount

methodBody

public RecoveredBlock methodBody

discardBody

public boolean discardBody
Constructor Detail

RecoveredMethod

public RecoveredMethod(AbstractMethodDeclaration methodDeclaration,
                       RecoveredElement parent,
                       int bracketBalance,
                       Parser parser)
Method Detail

add

public RecoveredElement add(Block nestedBlockDeclaration,
                            int bracketBalanceValue)
Overrides:
add in class RecoveredElement

add

public RecoveredElement add(FieldDeclaration fieldDeclaration,
                            int bracketBalanceValue)
Overrides:
add in class RecoveredElement

add

public RecoveredElement add(LocalDeclaration localDeclaration,
                            int bracketBalanceValue)
Overrides:
add in class RecoveredElement

add

public RecoveredElement add(Statement statement,
                            int bracketBalanceValue)
Overrides:
add in class RecoveredElement

add

public RecoveredElement add(TypeDeclaration typeDeclaration,
                            int bracketBalanceValue)
Overrides:
add in class RecoveredElement

bodyStartsAtHeaderEnd

public boolean bodyStartsAtHeaderEnd()

parseTree

public ASTNode parseTree()
Overrides:
parseTree in class RecoveredElement

resetPendingModifiers

public void resetPendingModifiers()
Overrides:
resetPendingModifiers in class RecoveredElement

sourceEnd

public int sourceEnd()
Overrides:
sourceEnd in class RecoveredElement

toString

public java.lang.String toString(int tab)
Overrides:
toString in class RecoveredElement

updateBodyStart

public void updateBodyStart(int bodyStart)
Overrides:
updateBodyStart in class RecoveredElement

updatedMethodDeclaration

public AbstractMethodDeclaration updatedMethodDeclaration()

updateFromParserState

public void updateFromParserState()
Overrides:
updateFromParserState in class RecoveredElement

updateOnClosingBrace

public RecoveredElement updateOnClosingBrace(int braceStart,
                                             int braceEnd)
Overrides:
updateOnClosingBrace in class RecoveredElement

updateOnOpeningBrace

public RecoveredElement updateOnOpeningBrace(int braceStart,
                                             int braceEnd)
Overrides:
updateOnOpeningBrace in class RecoveredElement

updateParseTree

public void updateParseTree()
Overrides:
updateParseTree in class RecoveredElement

updateSourceEndIfNecessary

public void updateSourceEndIfNecessary(int braceStart,
                                       int braceEnd)
Overrides:
updateSourceEndIfNecessary in class RecoveredElement

addAnnotationName

public RecoveredElement addAnnotationName(int identifierPtr,
                                          int identifierLengthPtr,
                                          int annotationStart,
                                          int bracketBalanceValue)
Overrides:
addAnnotationName in class RecoveredElement

addModifier

public void addModifier(int flag,
                        int modifiersSourceStart)
Overrides:
addModifier in class RecoveredElement

attach

public void attach(RecoveredAnnotation[] annots,
                   int annotCount,
                   int mods,
                   int modsSourceStart)