Class StandardFeatureCallArguments
- java.lang.Object
-
- org.eclipse.xtext.xbase.typesystem.arguments.StandardFeatureCallArguments
-
- All Implemented Interfaces:
IFeatureCallArguments
- Direct Known Subclasses:
ReorderedFeatureCallArguments,VarArgFeatureCallArguments
public class StandardFeatureCallArguments extends java.lang.Object implements IFeatureCallArguments
A representation ofIFeatureCallArgumentsthat does not handlevar argsor closures at an unexpected index.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<XExpression>argumentsprotected intnextUnprocessedArgumentprotected ITypeReferenceOwnerownerprotected java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter>parametersprotected intreceiverFixup
-
Constructor Summary
Constructors Constructor Description StandardFeatureCallArguments(java.util.List<XExpression> arguments, java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters, boolean hasReceiver, ITypeReferenceOwner owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XExpressiongetArgument(int idx)Returns the argument expression at indexidx.intgetArgumentCount()Returns the number of argument expressions where the receiver is considered to be an argument, too.LightweightTypeReferencegetDeclaredTypeForLambda(int idx)Returns the declared parameter type for the argument at indexidx.IFeatureCallArgumentSlotgetNextUnprocessedArgumentSlot()booleanhasEmptyTrailingVarArg()booleanhasUnprocessedArguments()protected XExpressioninternalGetArgument(int idx)protected LightweightTypeReferenceinternalGetParameterType(int idx)protected LightweightTypeReferenceinternalGetParameterTypeForLambda(int idx)booleanisProcessed(int argumentIndex)protected voidmarkProcessed(int argumentIndex)protected LightweightTypeReferencetoLightweightTypeReference(org.eclipse.xtext.common.types.JvmFormalParameter parameter)java.lang.StringtoString()
-
-
-
Field Detail
-
parameters
protected final java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters
-
receiverFixup
protected final int receiverFixup
-
arguments
protected final java.util.List<XExpression> arguments
-
owner
protected final ITypeReferenceOwner owner
-
nextUnprocessedArgument
protected int nextUnprocessedArgument
-
-
Constructor Detail
-
StandardFeatureCallArguments
public StandardFeatureCallArguments(java.util.List<XExpression> arguments, java.util.List<org.eclipse.xtext.common.types.JvmFormalParameter> parameters, boolean hasReceiver, ITypeReferenceOwner owner)
-
-
Method Detail
-
hasUnprocessedArguments
public boolean hasUnprocessedArguments()
- Specified by:
hasUnprocessedArgumentsin interfaceIFeatureCallArguments
-
getNextUnprocessedArgumentSlot
public IFeatureCallArgumentSlot getNextUnprocessedArgumentSlot()
- Specified by:
getNextUnprocessedArgumentSlotin interfaceIFeatureCallArguments
-
getArgument
public XExpression getArgument(int idx)
Description copied from interface:IFeatureCallArgumentsReturns the argument expression at indexidx. If there is a receiver, the index0returnsnull.- Specified by:
getArgumentin interfaceIFeatureCallArguments
-
getDeclaredTypeForLambda
public final LightweightTypeReference getDeclaredTypeForLambda(int idx)
Description copied from interface:IFeatureCallArgumentsReturns the declared parameter type for the argument at indexidx. The semantics are similar toIFeatureCallArguments.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.- Specified by:
getDeclaredTypeForLambdain interfaceIFeatureCallArguments
-
internalGetParameterTypeForLambda
protected LightweightTypeReference internalGetParameterTypeForLambda(int idx)
-
getArgumentCount
public int getArgumentCount()
Description copied from interface:IFeatureCallArgumentsReturns the number of argument expressions where the receiver is considered to be an argument, too.- Specified by:
getArgumentCountin interfaceIFeatureCallArguments
-
hasEmptyTrailingVarArg
public boolean hasEmptyTrailingVarArg()
- Specified by:
hasEmptyTrailingVarArgin interfaceIFeatureCallArguments
-
internalGetArgument
protected XExpression internalGetArgument(int idx)
-
internalGetParameterType
protected LightweightTypeReference internalGetParameterType(int idx)
-
isProcessed
public boolean isProcessed(int argumentIndex)
- Specified by:
isProcessedin interfaceIFeatureCallArguments- Parameters:
argumentIndex- the external argument index.
-
markProcessed
protected void markProcessed(int argumentIndex)
- Parameters:
argumentIndex- the internal argument index.
-
toLightweightTypeReference
protected LightweightTypeReference toLightweightTypeReference(org.eclipse.xtext.common.types.JvmFormalParameter parameter)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-