Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java @ 20170:953c813b8e7a
DSL: allow comparison of different integral types.
author | Chris Seaton <chris.seaton@oracle.com> |
---|---|
date | Sun, 05 Apr 2015 20:40:52 +0100 |
parents | 2bd8b3aa282f |
children | 3648df587223 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Sun Apr 05 19:51:46 2015 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Sun Apr 05 20:40:52 2015 +0100 @@ -934,6 +934,20 @@ } } + public static boolean typeCompatible(TypeMirror type1, TypeMirror type2) { + if (typeEquals(type1, type2)) { + return true; + } else if (kindIsIntegral(type1.getKind())) { + return kindIsIntegral(type2.getKind()); + } else { + return false; + } + } + + private static boolean kindIsIntegral(TypeKind kind) { + return kind == TypeKind.BYTE || kind == TypeKind.SHORT || kind == TypeKind.INT || kind == TypeKind.LONG; + } + public static List<String> getUniqueIdentifiers(List<TypeMirror> typeMirror) { List<String> ids = new ArrayList<>(); for (TypeMirror type : typeMirror) {