Interface NodeWithVariables<N extends Node>
-
- All Known Implementing Classes:
FieldDeclaration
,VariableDeclarationExpr
public interface NodeWithVariables<N extends Node>
A node which has a list of variables.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default N
addVariable(VariableDeclarator variableDeclarator)
static Type
calculateMaximumCommonType(List<Type> types)
default Type
getCommonType()
Returns the type that is shared between all variables.default Type
getElementType()
Returns the element type.default Type
getMaximumCommonType()
Returns the type that maximum shared type between all variables.default VariableDeclarator
getVariable(int i)
NodeList<VariableDeclarator>
getVariables()
default N
setVariable(int i, VariableDeclarator variableDeclarator)
N
setVariables(NodeList<VariableDeclarator> variables)
-
-
-
Method Detail
-
getVariables
NodeList<VariableDeclarator> getVariables()
-
setVariables
N setVariables(NodeList<VariableDeclarator> variables)
-
getVariable
default VariableDeclarator getVariable(int i)
-
setVariable
default N setVariable(int i, VariableDeclarator variableDeclarator)
-
addVariable
default N addVariable(VariableDeclarator variableDeclarator)
-
getCommonType
default Type getCommonType()
Returns the type that is shared between all variables. This is a shortcut for when you are certain that all variables share one type. What makes this difficult is arrays, and being able to set the type.
Forint a;
this is int.
Forint a,b,c,d;
this is also int.
Forint a,b[],c;
this is an assertion error since b is an int[], not an int.
Forint a,b;
, then doing setType(String) on b, this is an assertion error. It is also a situation that you don't really want.
-
getElementType
default Type getElementType()
Returns the element type.
Forint a;
this is int.
Forint a,b,c,d;
this is also int.
Forint a,b[],c;
this is also int. Note: no mention of b being an array.
Forint a,b;
, then doing setType(String) on b, then calling getElementType(). This is an assertion error. It is also a situation that you don't really want.
-
getMaximumCommonType
default Type getMaximumCommonType()
Returns the type that maximum shared type between all variables. The minimum common type does never include annotations on the array level.
Forint a;
this is int.
Forint a,b,c,d;
this is also int.
Forint a,b[],c;
this is also int.
Forint[] a[][],b[],c[][];
this is int[][].
-
-