Mercurial > hg > graal-compiler
changeset 16892:7de44804d9fa
factored out getSuperType
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sat, 16 Aug 2014 00:03:21 +0200 |
parents | 518559db79c6 |
children | 03a4d382c122 |
files | graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java |
diffstat | 1 files changed, 19 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Fri Aug 15 16:57:21 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Sat Aug 16 00:03:21 2014 +0200 @@ -576,12 +576,10 @@ public static List<TypeElement> getDirectSuperTypes(TypeElement element) { List<TypeElement> types = new ArrayList<>(); - if (element.getSuperclass() != null) { - TypeElement superElement = fromTypeMirror(element.getSuperclass()); - if (superElement != null) { - types.add(superElement); - types.addAll(getDirectSuperTypes(superElement)); - } + TypeElement superElement = getSuperType(element); + if (superElement != null) { + types.add(superElement); + types.addAll(getDirectSuperTypes(superElement)); } return types; @@ -610,16 +608,25 @@ } } + /** + * Gets the element representing the {@linkplain TypeElement#getSuperclass() super class} of a + * given type element. + */ + public static TypeElement getSuperType(TypeElement element) { + if (element.getSuperclass() != null) { + return fromTypeMirror(element.getSuperclass()); + } + return null; + } + public static List<TypeElement> getSuperTypes(TypeElement element) { List<TypeElement> types = new ArrayList<>(); List<TypeElement> superTypes = null; List<TypeElement> superInterfaces = null; - if (element.getSuperclass() != null) { - TypeElement superElement = fromTypeMirror(element.getSuperclass()); - if (superElement != null) { - types.add(superElement); - superTypes = getSuperTypes(superElement); - } + TypeElement superElement = getSuperType(element); + if (superElement != null) { + types.add(superElement); + superTypes = getSuperTypes(superElement); } for (TypeMirror interfaceMirror : element.getInterfaces()) { TypeElement interfaceElement = fromTypeMirror(interfaceMirror);