public class StandardFeatureCallArguments extends java.lang.Object implements IFeatureCallArguments
IFeatureCallArguments that does not handle
var args or closures at an unexpected index.| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<XExpression> |
arguments |
protected int |
nextUnprocessedArgument |
protected ITypeReferenceOwner |
owner |
protected java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> |
parameters |
protected int |
receiverFixup |
| Constructor and Description |
|---|
StandardFeatureCallArguments(java.util.List<XExpression> arguments,
java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters,
boolean hasReceiver,
ITypeReferenceOwner owner) |
| Modifier and Type | Method and Description |
|---|---|
XExpression |
getArgument(int idx)
Returns the argument expression at index
idx. |
int |
getArgumentCount()
Returns the number of argument expressions where the receiver is
considered to be an argument, too.
|
LightweightTypeReference |
getDeclaredTypeForLambda(int idx)
Returns the declared parameter type for the argument at index
idx. |
IFeatureCallArgumentSlot |
getNextUnprocessedArgumentSlot() |
boolean |
hasEmptyTrailingVarArg() |
boolean |
hasUnprocessedArguments() |
protected XExpression |
internalGetArgument(int idx) |
protected LightweightTypeReference |
internalGetParameterType(int idx) |
protected LightweightTypeReference |
internalGetParameterTypeForLambda(int idx) |
boolean |
isProcessed(int argumentIndex) |
protected void |
markProcessed(int argumentIndex) |
protected LightweightTypeReference |
toLightweightTypeReference(org.eclipse.xtext.common.types.JvmFormalParameter parameter) |
java.lang.String |
toString() |
protected final java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters
protected final int receiverFixup
protected final java.util.List<XExpression> arguments
protected final ITypeReferenceOwner owner
protected int nextUnprocessedArgument
public StandardFeatureCallArguments(java.util.List<XExpression> arguments, java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters, boolean hasReceiver, ITypeReferenceOwner owner)
public boolean hasUnprocessedArguments()
hasUnprocessedArguments in interface IFeatureCallArgumentspublic IFeatureCallArgumentSlot getNextUnprocessedArgumentSlot()
getNextUnprocessedArgumentSlot in interface IFeatureCallArgumentspublic XExpression getArgument(int idx)
IFeatureCallArgumentsidx. If there is a
receiver, the index 0 returns null.getArgument in interface IFeatureCallArgumentspublic final LightweightTypeReference getDeclaredTypeForLambda(int idx)
IFeatureCallArgumentsidx. The semantics are similar to IFeatureCallArguments.getArgument(int)
except for var arg parameters. Var arg parameters always return the
component type of the last argument if asked for the type of the last or
variable argument.getDeclaredTypeForLambda in interface IFeatureCallArgumentsprotected LightweightTypeReference internalGetParameterTypeForLambda(int idx)
public int getArgumentCount()
IFeatureCallArgumentsgetArgumentCount in interface IFeatureCallArgumentspublic boolean hasEmptyTrailingVarArg()
hasEmptyTrailingVarArg in interface IFeatureCallArgumentsprotected XExpression internalGetArgument(int idx)
protected LightweightTypeReference internalGetParameterType(int idx)
public boolean isProcessed(int argumentIndex)
isProcessed in interface IFeatureCallArgumentsargumentIndex - the external argument index.protected void markProcessed(int argumentIndex)
argumentIndex - the internal argument index.protected LightweightTypeReference toLightweightTypeReference(org.eclipse.xtext.common.types.JvmFormalParameter parameter)
public java.lang.String toString()
toString in class java.lang.Object