Class BeanMethodCallExpression
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Expression
-
- gw.internal.gosu.parser.expressions.BeanMethodCallExpression
-
- All Implemented Interfaces:
IHasOperatorLineNumber
,IBeanMethodCallExpression
,IMemberAccessExpression
,IExpression
,IHasArguments
,IHasType
,IParsedElement
public final class BeanMethodCallExpression extends Expression implements IBeanMethodCallExpression, IHasOperatorLineNumber
An expression representing a bean method call:bean-method-call-expression <member-access> ( [<argument-list>] ) member-access <root-expression>.<member> <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 protected int
_startOffset
Start offset of array list (without leading '.')-
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 BeanMethodCallExpression()
-
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, isCompileTimeConstant, 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, isCompileTimeConstant, isSuppressed, isSynthetic, setLocation, setParent, visit
-
-
-
-
Method Detail
-
getFunctionType
public IFunctionType getFunctionType()
- Specified by:
getFunctionType
in interfaceIBeanMethodCallExpression
-
setFunctionType
public void setFunctionType(IFunctionType funcType)
-
getRootExpression
public Expression getRootExpression()
- Specified by:
getRootExpression
in interfaceIMemberAccessExpression
-
setRootExpression
public void setRootExpression(Expression rootExpression)
-
getArgTypes
public IType[] getArgTypes()
- Specified by:
getArgTypes
in interfaceIBeanMethodCallExpression
- Returns:
- An array of IIntrinsicITyperguments of the method call.
-
setArgTypes
public void setArgTypes(IType[] argTypes)
- Parameters:
argTypes
- An array of IIntrinsicType for the arguments of the method call.
-
getMemberName
public String getMemberName()
- Specified by:
getMemberName
in interfaceIMemberAccessExpression
- Returns:
- A list of Strings representing the member access path. Note the member access path for the expression Root.foo.bar() is {foo, bar}.
-
setAccessPath
public void setAccessPath(String accessPath)
- Parameters:
accessPath
- A list of Strings representing the member access path.
-
getAccessPath
public String getAccessPath()
-
getStartOffset
public int getStartOffset()
- Specified by:
getStartOffset
in interfaceIMemberAccessExpression
-
setExpressionRuntime
public void setExpressionRuntime(IExpressionRuntime expressionRuntime)
- Specified by:
setExpressionRuntime
in interfaceIMemberAccessExpression
-
getPropertyInfo
public IPropertyInfo getPropertyInfo()
- Specified by:
getPropertyInfo
in interfaceIMemberAccessExpression
-
getExpressionRuntime
public IExpressionRuntime getExpressionRuntime()
- Specified by:
getExpressionRuntime
in interfaceIMemberAccessExpression
-
setStartOffset
public void setStartOffset(int startOffset)
- Specified by:
setStartOffset
in interfaceIMemberAccessExpression
-
getArgs
public Expression[] getArgs()
- Specified by:
getArgs
in interfaceIBeanMethodCallExpression
- Specified by:
getArgs
in interfaceIHasArguments
- Returns:
- An array of expressions for corresponding to the arguments in the expression.
-
setArgs
public void setArgs(Expression[] args)
- Parameters:
args
- An array of expressions for corresponding to the arguments in the expression.
-
getNamedArgOrder
public int[] getNamedArgOrder()
-
setNamedArgOrder
public void setNamedArgOrder(int[] namedArgOrder)
-
setMethodDescriptor
public void setMethodDescriptor(IMethodInfo md)
-
getMethodDescriptor
public IMethodInfo getMethodDescriptor()
- Specified by:
getMethodDescriptor
in interfaceIBeanMethodCallExpression
-
getGenericMethodDescriptor
public IMethodInfo getGenericMethodDescriptor()
- Specified by:
getGenericMethodDescriptor
in interfaceIBeanMethodCallExpression
-
getRootType
public IType getRootType()
- Specified by:
getRootType
in interfaceIMemberAccessExpression
-
getMemberAccessKind
public MemberAccessKind getMemberAccessKind()
-
setMemberAccessKind
public void setMemberAccessKind(MemberAccessKind kind)
-
isNullSafe
public boolean isNullSafe()
- Specified by:
isNullSafe
in interfaceIExpression
- Overrides:
isNullSafe
in classExpression
-
isExpansion
public boolean isExpansion()
-
evaluate
public Object evaluate()
Evaluates the bean method call.- Specified by:
evaluate
in interfaceIExpression
- Overrides:
evaluate
in classExpression
- Returns:
- The value of the expression.
-
toString
public String toString()
Description copied from class:Expression
Subclasses should return a String representing the parsed expression.- Specified by:
toString
in classExpression
-
getArgPosition
public int getArgPosition()
- Specified by:
getArgPosition
in interfaceIHasArguments
-
setArgPosition
public void setArgPosition(int iArgPos)
-
getOperatorLineNumber
public int getOperatorLineNumber()
- Specified by:
getOperatorLineNumber
in interfaceIHasOperatorLineNumber
-
setOperatorLineNumber
public void setOperatorLineNumber(int operatorLineNumber)
- Specified by:
setOperatorLineNumber
in interfaceIHasOperatorLineNumber
-
-