Class MemberAccess
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Expression
-
- gw.internal.gosu.parser.expressions.MemberAccess
-
- All Implemented Interfaces:
IHasOperatorLineNumber,IFieldAccessExpression,IMemberAccessExpression,IExpression,IHasType,IParsedElement
- Direct Known Subclasses:
MemberExpansionAccess,SynthesizedMemberAccess,UnqualifiedEnumMemberAccess
public class MemberAccess extends Expression implements IFieldAccessExpression, IHasOperatorLineNumber
Represents a member access expression in the Gosu grammar:member-access <root-expression>.<member> <root-expression>[member-name] root-expression <bean-reference> <type-literal> member <member-access> <identifier> bean-reference <primary-expression> member-name <expression>
- See Also:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description private IExpressionRuntime_expressionRuntimeprivate MemberAccessKind_kindprivate Expression_memberExpressionAn expression for accessing a member by name dynamicallyprivate int_opLineNumprivate Expression_rootExpressionThe root expression in the path (instead of a root bean symbol)private int_startOffsetStart offset of array list (without leading '.')private java.lang.String_strMemberNameThe member name.-
Fields inherited from class gw.internal.gosu.parser.Expression
_type
-
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
Fields inherited from interface gw.lang.parser.IExpression
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description MemberAccess()
-
Method Summary
-
Methods inherited from class gw.internal.gosu.parser.Expression
evaluate, getContextType, getReturnType, getType, getTypeImpl, isUnchecked, setType
-
Methods inherited from class gw.internal.gosu.parser.ParsedElement
addExceptionsFrom, addParseException, addParseException, addParseException, addParseExceptions, addParseIssues, addParseWarning, addParseWarning, addParseWarnings, addToken, adjustColumn, adjustLineNum, assignTokens, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, compactParseTree, findAncestorParsedElementByType, findDeclaringStatement, findLineNumberOfDeclaration, findRootParsedElement, getAnnotations, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getEnclosingFeatureInfo, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getQualifyingEnclosingTypeInfo, getTokens, hasImmediateParseIssue, hasImmediateParseWarning, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, initEmptyParseTree, initLocation, isSuppressed, isSuppressed, isSynthetic, makeDoubleValue, makeFloatValue, makeInteger, makeLong, removeParseException, removeParseWarning, removeParseWarningRecursively, setGosuProgram, setLineNum, setLocation, setParent, setSynthetic, shouldClearParseInfo, visit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IExpression
evaluate, getContextType, isUnchecked
-
Methods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getReturnType, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isSuppressed, isSynthetic, setLocation, setParent, visit
-
-
-
-
Field Detail
-
_rootExpression
private Expression _rootExpression
The root expression in the path (instead of a root bean symbol)
-
_strMemberName
private java.lang.String _strMemberName
The member name.
-
_startOffset
private int _startOffset
Start offset of array list (without leading '.')
-
_memberExpression
private Expression _memberExpression
An expression for accessing a member by name dynamically
-
_expressionRuntime
private IExpressionRuntime _expressionRuntime
-
_kind
private MemberAccessKind _kind
-
_opLineNum
private int _opLineNum
-
-
Method Detail
-
getRootExpression
public Expression getRootExpression()
- Specified by:
getRootExpressionin interfaceIMemberAccessExpression
-
evaluateRootExpr
public java.lang.Object evaluateRootExpr()
-
setRootExpression
public void setRootExpression(Expression rootExpression)
-
getMemberName
public java.lang.String getMemberName()
- Specified by:
getMemberNamein interfaceIMemberAccessExpression
-
setMemberName
public void setMemberName(java.lang.String strMemberName)
-
getStartOffset
public int getStartOffset()
- Specified by:
getStartOffsetin interfaceIMemberAccessExpression
-
setStartOffset
public void setStartOffset(int startOffset)
- Specified by:
setStartOffsetin interfaceIMemberAccessExpression
-
getMemberExpression
public Expression getMemberExpression()
- Specified by:
getMemberExpressionin interfaceIFieldAccessExpression
-
setMemberExpression
public void setMemberExpression(Expression memberExpression)
-
getRootType
public IType getRootType()
- Specified by:
getRootTypein interfaceIMemberAccessExpression
-
getAssignableType
public IType getAssignableType()
-
getPropertyInfo
public IPropertyInfo getPropertyInfo()
- Specified by:
getPropertyInfoin interfaceIFieldAccessExpression- Specified by:
getPropertyInfoin interfaceIMemberAccessExpression
-
getPropertyInfoWithoutThrowing
public IPropertyInfo getPropertyInfoWithoutThrowing()
-
isCompileTimeConstant
public boolean isCompileTimeConstant()
- Specified by:
isCompileTimeConstantin interfaceIParsedElement- Overrides:
isCompileTimeConstantin classParsedElement
-
evaluate
public java.lang.Object evaluate()
Description copied from interface:IExpressionEvaluates this Expression and returns the result.- Specified by:
evaluatein interfaceIExpression- Overrides:
evaluatein classExpression
-
getCompileTimePropertyInfo
public IPropertyInfo getCompileTimePropertyInfo()
-
setExpressionRuntime
public void setExpressionRuntime(IExpressionRuntime expressionRuntime)
- Specified by:
setExpressionRuntimein interfaceIMemberAccessExpression
-
getExpressionRuntime
public IExpressionRuntime getExpressionRuntime()
- Specified by:
getExpressionRuntimein interfaceIMemberAccessExpression
-
getMemberAccessKind
public MemberAccessKind getMemberAccessKind()
-
setMemberAccessKind
public void setMemberAccessKind(MemberAccessKind kind)
-
isNullSafe
public boolean isNullSafe()
- Specified by:
isNullSafein interfaceIExpression- Overrides:
isNullSafein classExpression
-
toString
public java.lang.String toString()
Description copied from class:ExpressionSubclasses should return a String representing the parsed expression.- Specified by:
toStringin classExpression
-
getOperatorLineNumber
public int getOperatorLineNumber()
- Specified by:
getOperatorLineNumberin interfaceIHasOperatorLineNumber
-
setOperatorLineNumber
public void setOperatorLineNumber(int operatorLineNumber)
- Specified by:
setOperatorLineNumberin interfaceIHasOperatorLineNumber
-
-