public class WideningCategories extends Object
isIntCategory(ClassNode)
, isLongCategory(ClassNode)
,
isBigIntCategory(ClassNode)
, isDoubleCategory(ClassNode)
and
isBigDecCategory(ClassNode)
in that order. The first case applying to
exp1 and exp2 is defining the result type of the expression. Constructor and Description |
---|
WideningCategories() |
Modifier and Type | Method and Description |
---|---|
static ClassNode |
firstCommonSuperType(ClassNode a,
ClassNode b)
Given two class nodes, returns the first common supertype, or the class itself
if there are equal.
|
static ClassNode |
firstCommonSuperType(List<ClassNode> nodes)
Given a list of class nodes, returns the first common supertype.
|
static boolean |
isBigDecCategory(ClassNode type)
It is of a BigDecimal category, if the provided type is a
BigInteger category or a BigDecimal.
|
static boolean |
isBigIntCategory(ClassNode type)
It is of a BigInteger category, if the provided type is a
long category or a BigInteger.
|
static boolean |
isDoubleCategory(ClassNode type)
It is of a double category, if the provided type is a
BigDecimal, a float, double or a wrapper of those.
|
static boolean |
isIntCategory(ClassNode type)
It is of an int category, if the provided type is a
byte, char, short, int or any of the wrapper.
|
static boolean |
isLongCategory(ClassNode type)
It is of a long category, if the provided type is a
long, its wrapper or if it is a long category.
|
static boolean |
isNumberCategory(ClassNode type) |
public static boolean isIntCategory(ClassNode type)
public static boolean isLongCategory(ClassNode type)
public static boolean isBigIntCategory(ClassNode type)
public static boolean isBigDecCategory(ClassNode type)
public static boolean isDoubleCategory(ClassNode type)
public static boolean isNumberCategory(ClassNode type)
public static ClassNode firstCommonSuperType(ClassNode a, ClassNode b)
a
- first class nodeb
- second class nodepublic static ClassNode firstCommonSuperType(List<ClassNode> nodes)
nodes
- the list of nodes for which to find the first common super type.