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
Modifier and TypeMethodDescriptiondefault NaddVariable(VariableDeclarator variableDeclarator)calculateMaximumCommonType(List<Type> types)default TypeReturns the type that is shared between all variables.default TypeReturns the element type.Returns the type that maximum shared type between all variables.default VariableDeclaratorgetVariable(int i)default NsetAllTypes(Type newType)Sets the type of all variables.default NsetVariable(int i, VariableDeclarator variableDeclarator)setVariables(NodeList<VariableDeclarator> variables)
-
Method Details
-
getVariables
NodeList<VariableDeclarator> getVariables() -
setVariables
-
getVariable
-
setVariable
-
addVariable
-
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
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. -
setAllTypes
Sets the type of all variables. Erases any existing type. This is a shortcut for setting a type on all variable declarators separately. -
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[][]. -
calculateMaximumCommonType
-