Package gw.internal.gosu.parser
Class ParserBase
- java.lang.Object
-
- gw.internal.gosu.parser.ParserBase
-
- All Implemented Interfaces:
IParserPart
- Direct Known Subclasses:
GosuClassParser,GosuParser
public abstract class ParserBase extends java.lang.Object implements IParserPart
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classParserBase.PlaceholderParserState
-
Field Summary
Fields Modifier and Type Field Description protected boolean_bDontOptimizeStatementLists(package private) Stack<BlockExpression>_blocksprivate java.util.Set<ResourceKey>_ignoreWarningsprivate Stack<java.util.List<IType>>_inferringFunctionTypesprivate int_lineNumShiftprotected int_offsetShiftprivate GosuParser_ownerprivate boolean_snapshotSymbolsprivate java.util.List<IParseTree>_subTreeprivate IGosuValidator_validatorprivate static java.lang.Object[]EMPTY_ARRAYprivate static NotAWordExpressionNOT_SET_EXPRESSIONprivate static IParserStatePLACEHOLDER_PARSER_STATEprivate static INamespaceTypePROGRAM_NAMESPACE
-
Constructor Summary
Constructors Constructor Description ParserBase()ParserBase(GosuParser owner)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddBlockToBlockStack(BlockExpression block)(package private) voidaddError(ParsedElement parsedElement, ResourceKey errorMsg)(package private) voidaddError(ParsedElement parsedElement, ResourceKey errorMsg, java.lang.Object... args)private ParseTreeaddLocation(ParseTree location, boolean bForceRedundancy)(package private) voidadvanceToNextTokenSilently()private static booleanassertBoxedOrBigNumber(ParserBase parser, ParsedElement parsedElement, IType rhsType, int op)protected voidcaptureAllSymbols(ICompilableTypeInternal anonClass, ICompilableTypeInternal enclosingClass, java.util.List<ICapturedSymbol> capturedSymbols)protected ISymbolcaptureSymbol(ICompilableTypeInternal anonClass, java.lang.String strName, ParsedElement e)protected voidcopyBlockStackTo(ParserBase otherParser)TokeneatBlock(char cBegin, char cEnd, boolean bOperator)TokeneatBlock(char cBegin, char cEnd, boolean bOperator, boolean bStopAtDeclarationKeyword)protected voideatOptionalSemiColon(boolean bEat)(package private) voideatParenthesized(ParsedElement parsedElement, ResourceKey errorKey)(package private) voideatPossibleArrayBrackets()(package private) voideatPossibleArrayBrackets(boolean bMatchStart)(package private) booleaneatPossibleEnclosedVarInStmt()(package private) voideatPossibleParametarization()(package private) voideatPossibleParametarization(boolean bMatchStart)(package private) booleaneatPossibleStatementBlock()(package private) booleaneatStatementBlock(ParsedElement parsedElement, ResourceKey errorKey)voideatTypeLiteral()ParseTreefindAndWrapLocation(Expression oldExpr, ParsedElement newExpr)static IMethodInfofindMathOpMethod(IType lhsType, int op, IType rhsType)private ISymbolfindSymbol(java.lang.String strName, boolean ignoreFunctionSymbols)private ISymbolfindSymbol(java.lang.String strName, ISymbolTable symTable, boolean ignoreFunctionSymbols)private static ITypegetAndAssignOperatorOverloader(IType lhsType, IType rhsType, int op, ParsedElement parsedElement)(package private) ClassStatementgetClassStatement()protected ICompilableTypeInternalgetCurrentEnclosingGosuClass()java.util.List<IType>getCurrentlyInferringFunctionTypeVars()(package private) ICompilableTypeInternalgetGosuClass()intgetLineNumShift()(package private) java.util.List<ParseTree>getLocationsList()intgetOffsetShift()private ICompilableTypeInternalgetOuterFromScriptPartStack()GosuParsergetOwner()protected IGosuClassInternalgetParsingAnonymousClass()private IScopegetScope(ICompilableType anonClass)protected abstract java.lang.StringgetScript()(package private) ISymbolTablegetSymbolTable()private ISymbolTablegetSymbolTableForClass(ICompilableType gsClass)(package private) SourceCodeTokenizergetTokenizer()protected ISymbolgetUncapturedSymbol(ICompilableType gsClass, java.lang.String strName)IGosuValidatorgetValidator()private static ITypehandleBoxedAndPrimitiveTypes(IType lhsType, IType rhsType)private ISymbolhandleForwardReference(ParsedElement e, ISymbol sym)booleanisDontOptimizeStatementLists()protected booleanisEvalClass()(package private) static booleanisFinalDimension(ParserBase parser, IType lhsType, ParsedElement pe)private static booleanisNonFinalDimension(IType type)(package private) booleanisOrIsEnclosedByAnonymousClass(ICompilableType type)booleanisParsingBlock()(package private) booleanisTypeVarInReifiedContext(Expression expr, ITypeVariableType typeVarType)(package private) booleanisWordOrValueKeyword(Token T)private static ITypemakeBoxedTypeIfEitherOperandIsBoxed(IType lhsType, IType rhsType, IType retType)(package private) IFullParserStatemakeFullParserState()(package private) IFullParserStatemakeFullParserStateWithSymbols()(package private) LazyLightweightParserStatemakeLazyLightweightParserState()(package private) LightweightParserStatemakeLightweightParserState()protected booleanmatch(Token T, int iType)Possibly matches the specified token type.protected booleanmatch(Token T, Keyword token)(package private) booleanmatch(Token T, Keyword keyword, boolean bPeek)protected booleanmatch(Token T, java.lang.String token)Possibly matches the specified string token value.booleanmatch(Token T, java.lang.String token, int iType)Possibly matches the specified token or name (in token).booleanmatch(Token T, java.lang.String token, int iType, boolean bPeek)Possibly matches the specified token or name (in token).static booleanmatchDeclarationKeyword(java.lang.String[] ret, boolean bPeek, SourceCodeTokenizer tokenizer)private intmaybeAddJavadocDeprecatedModifier(int iModifiers, java.util.List<IGosuAnnotation> annotations)private voidmaybeAddLocalsOfEnclosingType()private voidmaybeVerifyAnnotationArgs(Expression e)protected voidparseAnnotation(java.util.List<IGosuAnnotation> annotations)private AnnotationUseSiteTargetClauseparseAnnotationUseSiteTarget()java.lang.StringparseDotPathWord(java.lang.String t)Parse a dot separated path as a single logical token(package private) ModifierInfoparseModifiers()(package private) ModifierInfoparseModifiers(boolean bIgnoreErrors)protected ExpressionpeekExpression()protected java.util.List<IType>peekInferringFunctionTypeVariableTypes()protected StatementpeekStatement()(package private) voidpopCurrentBlock()protected ExpressionpopExpression()protected java.util.List<IType>popInferringFunctionTypeVariableTypes()private DocCommentBlockpopLastComment()protected StatementpopStatement()protected ExpressionpossiblyWrapWithCoercion(Expression expressionToCoerce, IType typeToCoerceTo, boolean bImplicit)protected ExpressionpossiblyWrapWithImplicitCoercion(Expression expressionToCoerce, IType typeToCoerceTo)voidpushCurrentBlock(BlockExpression block)protected voidpushExpression(Expression e)protected voidpushInferringFunctionTypeVars(java.util.List<IType> typeVariableTypes)(package private) voidpushModifierList(int iOffsetList, int iLineNumList, int iColumnList)protected voidpushStatement(Statement stmt)private ISymbolresolveForNullEnclosingClass(java.lang.String strName)private static ITyperesolveIfDimensionOperand(ParserBase parser, ParsedElement parsedElement, IType lhsType, int op, IType rhsType)protected INamespaceTyperesolveNamespace(java.lang.String strName)protected ISymbolresolveNamespaceSymbol(ParsedElement e, java.lang.String strName)static ITyperesolveRuntimeType(ArithmeticExpression expr, IType lhsType, int op, IType rhsType)protected ISymbolresolveSymbol(ParsedElement e, java.lang.String strName, boolean ignoreFunctionSymbols)protected ITyperesolveType(ParsedElement parsedElement, IType lhsType, int op, IType rhsType)static ITyperesolveType(IType lhsType, int op, IType rhsType)protected ITyperesolveTypeForArithmeticExpression(ParsedElement parsedElement, IType lhsType, java.lang.String op, IType rhsType)voidsetBlocks(Stack<BlockExpression> blocks)voidsetDontOptimizeStatementLists(boolean dontOptimizeStatementLists)voidsetIgnoreWarnings(java.util.Set<ResourceKey> msgKeys)voidsetLineNumShift(int lineNumShift)(package private) voidsetLocation(int iOffset, int iLineNum, int iColumn)(package private) voidsetLocation(int iOffset, int iLineNum, int iColumn, boolean bForceRedundancy)(package private) voidsetLocation(int iOffset, int iLineNum, int iColumn, boolean bZeroLength, boolean bForceRedundancy)protected voidsetLocationForImplicitTypeAs(Expression expressionToCoerce, TypeAsExpression tas)protected voidsetOffsetShift(int offsetShift)protected voidsetOwner(GosuParser owner)voidsetSnapshotSymbols()voidsetSubTree(java.util.List<IParseTree> subTree)voidsetValidator(IGosuValidator validator)booleanshouldSnapshotSymbols()private booleanverify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, boolean bWarning, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, ResourceKey errorMesg, java.lang.Object... args)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.Object... args)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.String arg0)(package private) booleanverify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.String... args)(package private) voidverifyAnnotations(IParsedElement pe, ModifierInfo modInfo, UsageTarget targetType)protected voidverifyComparable(IType lhsType, Expression rhs)protected voidverifyComparable(IType lhsType, Expression rhs, boolean bBiDirectional, boolean bErrorIfCoercion)protected voidverifyComparable(IType lhsType, Expression rhs, boolean bBiDirectional, boolean bErrorIfCoercion, IParserState state)(package private) voidverifyModifiers(IParsedElement pe, ModifierInfo modInfo, UsageTarget targetType)protected voidverifyModifiersForFeature(IParsedElement pe, ModifierInfo modInfo)(package private) voidverifyNoAbstractHideOverrideModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)(package private) voidverifyNoAbstractHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)(package private) voidverifyNoAbstractHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw, boolean alreadyMatched)(package private) voidverifyNoAbstractHideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw, boolean alreadyMatched)(package private) voidverifyNoAccessibilityModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)(package private) voidverifyNoCombinedFinalPrivateModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier)(package private) voidverifyNoCombinedFinalStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier)(package private) voidverifyNoCombinedPrivateAbstract(ParsedElement elem, boolean bIgnoreErrors, int modifier)(package private) voidverifyNoHideOverrideModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)(package private) voidverifyNoHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)voidverifyNonVoidExpression(Expression eas)(package private) booleanverifyOrWarn(ParsedElement target, boolean bExpression, boolean bWarning, ResourceKey err, java.lang.Object... args)protected voidverifyParsedElement(IParsedElement element)protected voidverifyParsedElement(IParsedElement element, boolean bThrowOnWarnings)protected ITypeverifyTypesComparable(ParsedElement element, IType lhsType, IType rhsType, boolean bBiDirectional, boolean bErrorIfCoercion)protected ITypeverifyTypesComparable(ParsedElement element, IType lhsType, IType rhsType, boolean bBiDirectional, boolean bErrorIfCoercion, IParserState state)(package private) voidverifyTypeVarAreReified(Expression expr, IType rhsType)(package private) booleanwarn(ParsedElement target, boolean bExpression, IParserState state, ResourceKey err, java.lang.Object... args)(package private) booleanwarn(ParsedElement target, boolean bExpression, ResourceKey err, java.lang.Object... args)private voidwarnOnPcfVariablesHack(ParsedElement e, ISymbol sym)
-
-
-
Field Detail
-
EMPTY_ARRAY
private static final java.lang.Object[] EMPTY_ARRAY
-
PLACEHOLDER_PARSER_STATE
private static final IParserState PLACEHOLDER_PARSER_STATE
-
PROGRAM_NAMESPACE
private static final INamespaceType PROGRAM_NAMESPACE
-
_snapshotSymbols
private boolean _snapshotSymbols
-
_owner
private GosuParser _owner
-
_blocks
Stack<BlockExpression> _blocks
-
_validator
private IGosuValidator _validator
-
_offsetShift
protected int _offsetShift
-
_lineNumShift
private int _lineNumShift
-
_bDontOptimizeStatementLists
protected boolean _bDontOptimizeStatementLists
-
_subTree
private java.util.List<IParseTree> _subTree
-
NOT_SET_EXPRESSION
private static final NotAWordExpression NOT_SET_EXPRESSION
-
_ignoreWarnings
private java.util.Set<ResourceKey> _ignoreWarnings
-
-
Constructor Detail
-
ParserBase
public ParserBase()
-
ParserBase
public ParserBase(GosuParser owner)
-
-
Method Detail
-
getOwner
public GosuParser getOwner()
- Specified by:
getOwnerin interfaceIParserPart
-
setOwner
protected void setOwner(GosuParser owner)
-
setIgnoreWarnings
public void setIgnoreWarnings(java.util.Set<ResourceKey> msgKeys)
-
getTokenizer
SourceCodeTokenizer getTokenizer()
-
getSymbolTable
ISymbolTable getSymbolTable()
-
setLocation
void setLocation(int iOffset, int iLineNum, int iColumn)
-
setLocation
void setLocation(int iOffset, int iLineNum, int iColumn, boolean bForceRedundancy)
-
setLocation
void setLocation(int iOffset, int iLineNum, int iColumn, boolean bZeroLength, boolean bForceRedundancy)
-
getLocationsList
java.util.List<ParseTree> getLocationsList()
-
pushExpression
protected void pushExpression(Expression e)
-
verifyParsedElement
protected void verifyParsedElement(IParsedElement element) throws ParseResultsException
- Throws:
ParseResultsException
-
verifyParsedElement
protected void verifyParsedElement(IParsedElement element, boolean bThrowOnWarnings) throws ParseResultsException
- Throws:
ParseResultsException
-
getScript
protected abstract java.lang.String getScript()
-
popExpression
protected Expression popExpression()
-
peekExpression
protected Expression peekExpression()
-
pushStatement
protected void pushStatement(Statement stmt)
-
popStatement
protected Statement popStatement()
-
peekStatement
protected Statement peekStatement()
-
eatStatementBlock
boolean eatStatementBlock(ParsedElement parsedElement, ResourceKey errorKey)
-
eatPossibleStatementBlock
boolean eatPossibleStatementBlock()
-
eatPossibleEnclosedVarInStmt
boolean eatPossibleEnclosedVarInStmt()
-
eatParenthesized
void eatParenthesized(ParsedElement parsedElement, ResourceKey errorKey)
-
eatPossibleParametarization
void eatPossibleParametarization()
-
eatPossibleParametarization
void eatPossibleParametarization(boolean bMatchStart)
-
eatPossibleArrayBrackets
void eatPossibleArrayBrackets()
-
eatPossibleArrayBrackets
void eatPossibleArrayBrackets(boolean bMatchStart)
-
eatBlock
public final Token eatBlock(char cBegin, char cEnd, boolean bOperator)
-
eatBlock
public final Token eatBlock(char cBegin, char cEnd, boolean bOperator, boolean bStopAtDeclarationKeyword)
-
eatTypeLiteral
public void eatTypeLiteral()
-
parseDotPathWord
public java.lang.String parseDotPathWord(java.lang.String t)
Parse a dot separated path as a single logical token
-
match
protected final boolean match(Token T, java.lang.String token)
Possibly matches the specified string token value. If a match occurs the token will be eaten and its information put into T (if T is not null).- Parameters:
T- the Token object to populate iff a match is foundtoken- the string object to match- Returns:
- true if a match occurred, and false otherwise
-
match
protected final boolean match(Token T, int iType)
Possibly matches the specified token type. If a match occurs then the token will be eaten and its information put into T (if T is not null).- Parameters:
T- the Token object to populate iff a match is foundiType- the token "type" to match (e.g.ISourceCodeTokenizer.TT_WORD)- Returns:
- true if a match occurred, and false otherwise
-
match
public final boolean match(Token T, java.lang.String token, int iType)
Possibly matches the specified token or name (in token). If a match occurs then the token will be eaten and its information put into T (if T is not null).- Parameters:
T- the Token object to populate iff a match is foundtoken- the string object to matchiType- the token "type" to match (e.g.ISourceCodeTokenizer.TT_WORD)- Returns:
- true if a match occurred, and false otherwise
-
match
public final boolean match(Token T, java.lang.String token, int iType, boolean bPeek)
Possibly matches the specified token or name (in token). If a match occurs and bPeek is false then the token will be eaten and its information put into T (if T is not null).- Parameters:
T- the Token object to populate iff a match is foundtoken- the string object to matchiType- the token "type" to match (e.g.ISourceCodeTokenizer.TT_WORD)bPeek- if true, a matching token will not be consumed (i.e. the stream will not advance to the next token.) if false, a matching token will be removed from the front of the stream.- Returns:
- true if a match occurred, and false otherwise
-
isWordOrValueKeyword
final boolean isWordOrValueKeyword(Token T)
-
addError
final void addError(ParsedElement parsedElement, ResourceKey errorMsg, java.lang.Object... args)
-
addError
final void addError(ParsedElement parsedElement, ResourceKey errorMsg)
-
verify
final boolean verify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.String arg0)
-
verify
final boolean verify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.String... args)
-
verify
final boolean verify(ParsedElement parsedElement, boolean bExpression, ResourceKey errorMesg, java.lang.Object... args)
-
verify
final boolean verify(ParsedElement parsedElement, boolean bExpression, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)
-
verify
final boolean verify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, ResourceKey errorMesg, java.lang.Object... args)
-
verify
boolean verify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)
-
warn
final boolean warn(ParsedElement target, boolean bExpression, ResourceKey err, java.lang.Object... args)
-
warn
final boolean warn(ParsedElement target, boolean bExpression, IParserState state, ResourceKey err, java.lang.Object... args)
-
verifyOrWarn
final boolean verifyOrWarn(ParsedElement target, boolean bExpression, boolean bWarning, ResourceKey err, java.lang.Object... args)
-
verify
private boolean verify(ParsedElement parsedElement, boolean bExpression, boolean bNextTokenIfException, boolean bWarning, IParserState parserState, ResourceKey errorMesg, java.lang.Object... args)
-
advanceToNextTokenSilently
final void advanceToNextTokenSilently()
-
makeFullParserState
final IFullParserState makeFullParserState()
- Returns:
- a full parser state, which includes symbol table information, a clone of the tokenizer and everything else
-
makeFullParserStateWithSymbols
final IFullParserState makeFullParserStateWithSymbols()
- Returns:
- a full parser state, which includes symbol table information, a clone of the tokenizer and everything else
-
makeLightweightParserState
final LightweightParserState makeLightweightParserState()
- Returns:
- a lightweight parser state, which includes *only* the offset information of the parser, and no symbol information or a tokenizer state.
-
makeLazyLightweightParserState
final LazyLightweightParserState makeLazyLightweightParserState()
-
resolveTypeForArithmeticExpression
protected IType resolveTypeForArithmeticExpression(ParsedElement parsedElement, IType lhsType, java.lang.String op, IType rhsType)
-
resolveType
protected IType resolveType(ParsedElement parsedElement, IType lhsType, int op, IType rhsType)
-
isNonFinalDimension
private static boolean isNonFinalDimension(IType type)
-
resolveRuntimeType
public static IType resolveRuntimeType(ArithmeticExpression expr, IType lhsType, int op, IType rhsType)
-
handleBoxedAndPrimitiveTypes
private static IType handleBoxedAndPrimitiveTypes(IType lhsType, IType rhsType)
-
makeBoxedTypeIfEitherOperandIsBoxed
private static IType makeBoxedTypeIfEitherOperandIsBoxed(IType lhsType, IType rhsType, IType retType)
-
resolveIfDimensionOperand
private static IType resolveIfDimensionOperand(ParserBase parser, ParsedElement parsedElement, IType lhsType, int op, IType rhsType)
-
assertBoxedOrBigNumber
private static boolean assertBoxedOrBigNumber(ParserBase parser, ParsedElement parsedElement, IType rhsType, int op)
-
isFinalDimension
static boolean isFinalDimension(ParserBase parser, IType lhsType, ParsedElement pe)
-
getAndAssignOperatorOverloader
private static IType getAndAssignOperatorOverloader(IType lhsType, IType rhsType, int op, ParsedElement parsedElement)
-
findMathOpMethod
public static IMethodInfo findMathOpMethod(IType lhsType, int op, IType rhsType)
-
resolveSymbol
protected ISymbol resolveSymbol(ParsedElement e, java.lang.String strName, boolean ignoreFunctionSymbols)
-
handleForwardReference
private ISymbol handleForwardReference(ParsedElement e, ISymbol sym)
-
isOrIsEnclosedByAnonymousClass
boolean isOrIsEnclosedByAnonymousClass(ICompilableType type)
-
resolveNamespaceSymbol
protected ISymbol resolveNamespaceSymbol(ParsedElement e, java.lang.String strName)
-
maybeAddLocalsOfEnclosingType
private void maybeAddLocalsOfEnclosingType()
-
resolveNamespace
protected INamespaceType resolveNamespace(java.lang.String strName)
-
captureAllSymbols
protected void captureAllSymbols(ICompilableTypeInternal anonClass, ICompilableTypeInternal enclosingClass, java.util.List<ICapturedSymbol> capturedSymbols)
-
captureSymbol
protected ISymbol captureSymbol(ICompilableTypeInternal anonClass, java.lang.String strName, ParsedElement e)
-
warnOnPcfVariablesHack
private void warnOnPcfVariablesHack(ParsedElement e, ISymbol sym)
-
getScope
private IScope getScope(ICompilableType anonClass)
-
resolveForNullEnclosingClass
private ISymbol resolveForNullEnclosingClass(java.lang.String strName)
-
getUncapturedSymbol
protected ISymbol getUncapturedSymbol(ICompilableType gsClass, java.lang.String strName)
-
getSymbolTableForClass
private ISymbolTable getSymbolTableForClass(ICompilableType gsClass)
-
findSymbol
private ISymbol findSymbol(java.lang.String strName, boolean ignoreFunctionSymbols)
-
findSymbol
private ISymbol findSymbol(java.lang.String strName, ISymbolTable symTable, boolean ignoreFunctionSymbols)
-
isEvalClass
protected boolean isEvalClass()
-
verifyComparable
protected void verifyComparable(IType lhsType, Expression rhs)
-
verifyComparable
protected void verifyComparable(IType lhsType, Expression rhs, boolean bBiDirectional, boolean bErrorIfCoercion)
-
verifyComparable
protected void verifyComparable(IType lhsType, Expression rhs, boolean bBiDirectional, boolean bErrorIfCoercion, IParserState state)
-
verifyTypesComparable
protected IType verifyTypesComparable(ParsedElement element, IType lhsType, IType rhsType, boolean bBiDirectional, boolean bErrorIfCoercion)
-
verifyTypesComparable
protected IType verifyTypesComparable(ParsedElement element, IType lhsType, IType rhsType, boolean bBiDirectional, boolean bErrorIfCoercion, IParserState state)
-
verifyNonVoidExpression
public void verifyNonVoidExpression(Expression eas)
-
getGosuClass
ICompilableTypeInternal getGosuClass()
-
getClassStatement
ClassStatement getClassStatement()
-
parseModifiers
ModifierInfo parseModifiers()
-
parseModifiers
ModifierInfo parseModifiers(boolean bIgnoreErrors)
-
maybeAddJavadocDeprecatedModifier
private int maybeAddJavadocDeprecatedModifier(int iModifiers, java.util.List<IGosuAnnotation> annotations)
-
pushModifierList
void pushModifierList(int iOffsetList, int iLineNumList, int iColumnList)
-
eatOptionalSemiColon
protected void eatOptionalSemiColon(boolean bEat)
-
parseAnnotation
protected void parseAnnotation(java.util.List<IGosuAnnotation> annotations)
-
parseAnnotationUseSiteTarget
private AnnotationUseSiteTargetClause parseAnnotationUseSiteTarget()
-
maybeVerifyAnnotationArgs
private void maybeVerifyAnnotationArgs(Expression e)
-
verifyModifiers
void verifyModifiers(IParsedElement pe, ModifierInfo modInfo, UsageTarget targetType)
-
verifyModifiersForFeature
protected void verifyModifiersForFeature(IParsedElement pe, ModifierInfo modInfo)
-
verifyAnnotations
void verifyAnnotations(IParsedElement pe, ModifierInfo modInfo, UsageTarget targetType)
-
verifyNoAbstractHideOverrideStaticModifierDefined
void verifyNoAbstractHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)
-
verifyNoAbstractHideOverrideStaticModifierDefined
void verifyNoAbstractHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw, boolean alreadyMatched)
-
verifyNoHideOverrideStaticModifierDefined
void verifyNoHideOverrideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)
-
verifyNoAbstractHideStaticModifierDefined
void verifyNoAbstractHideStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw, boolean alreadyMatched)
-
verifyNoAccessibilityModifierDefined
void verifyNoAccessibilityModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)
-
verifyNoAbstractHideOverrideModifierDefined
void verifyNoAbstractHideOverrideModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)
-
verifyNoHideOverrideModifierDefined
void verifyNoHideOverrideModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier, Keyword kw)
-
verifyNoCombinedPrivateAbstract
void verifyNoCombinedPrivateAbstract(ParsedElement elem, boolean bIgnoreErrors, int modifier)
-
verifyNoCombinedFinalPrivateModifierDefined
void verifyNoCombinedFinalPrivateModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier)
-
verifyNoCombinedFinalStaticModifierDefined
void verifyNoCombinedFinalStaticModifierDefined(ParsedElement elem, boolean bIgnoreErrors, int modifier)
-
setDontOptimizeStatementLists
public void setDontOptimizeStatementLists(boolean dontOptimizeStatementLists)
- Specified by:
setDontOptimizeStatementListsin interfaceIParserPart
-
isDontOptimizeStatementLists
public boolean isDontOptimizeStatementLists()
- Specified by:
isDontOptimizeStatementListsin interfaceIParserPart
-
setSubTree
public void setSubTree(java.util.List<IParseTree> subTree)
-
setBlocks
public void setBlocks(Stack<BlockExpression> blocks)
-
pushCurrentBlock
public void pushCurrentBlock(BlockExpression block)
-
addBlockToBlockStack
public void addBlockToBlockStack(BlockExpression block)
-
getCurrentEnclosingGosuClass
protected ICompilableTypeInternal getCurrentEnclosingGosuClass()
-
getOuterFromScriptPartStack
private ICompilableTypeInternal getOuterFromScriptPartStack()
-
popCurrentBlock
void popCurrentBlock()
-
isParsingBlock
public boolean isParsingBlock()
-
copyBlockStackTo
protected void copyBlockStackTo(ParserBase otherParser)
-
getParsingAnonymousClass
protected IGosuClassInternal getParsingAnonymousClass()
-
possiblyWrapWithImplicitCoercion
protected Expression possiblyWrapWithImplicitCoercion(Expression expressionToCoerce, IType typeToCoerceTo)
-
possiblyWrapWithCoercion
protected Expression possiblyWrapWithCoercion(Expression expressionToCoerce, IType typeToCoerceTo, boolean bImplicit)
-
verifyTypeVarAreReified
void verifyTypeVarAreReified(Expression expr, IType rhsType)
-
isTypeVarInReifiedContext
boolean isTypeVarInReifiedContext(Expression expr, ITypeVariableType typeVarType)
-
setLocationForImplicitTypeAs
protected void setLocationForImplicitTypeAs(Expression expressionToCoerce, TypeAsExpression tas)
-
findAndWrapLocation
public ParseTree findAndWrapLocation(Expression oldExpr, ParsedElement newExpr)
-
popLastComment
private DocCommentBlock popLastComment()
-
setValidator
public void setValidator(IGosuValidator validator)
- Specified by:
setValidatorin interfaceIParserPart
-
getValidator
public IGosuValidator getValidator()
-
setOffsetShift
protected void setOffsetShift(int offsetShift)
-
setLineNumShift
public void setLineNumShift(int lineNumShift)
- Specified by:
setLineNumShiftin interfaceIParserPart
-
getLineNumShift
public int getLineNumShift()
- Specified by:
getLineNumShiftin interfaceIParserPart
-
getOffsetShift
public int getOffsetShift()
- Specified by:
getOffsetShiftin interfaceIParserPart
-
pushInferringFunctionTypeVars
protected void pushInferringFunctionTypeVars(java.util.List<IType> typeVariableTypes)
-
popInferringFunctionTypeVariableTypes
protected java.util.List<IType> popInferringFunctionTypeVariableTypes()
-
peekInferringFunctionTypeVariableTypes
protected java.util.List<IType> peekInferringFunctionTypeVariableTypes()
-
getCurrentlyInferringFunctionTypeVars
public java.util.List<IType> getCurrentlyInferringFunctionTypeVars()
-
matchDeclarationKeyword
public static boolean matchDeclarationKeyword(java.lang.String[] ret, boolean bPeek, SourceCodeTokenizer tokenizer)
-
shouldSnapshotSymbols
public boolean shouldSnapshotSymbols()
-
setSnapshotSymbols
public void setSnapshotSymbols()
-
-