# HG changeset patch # User Doug Simon # Date 1408140201 -7200 # Node ID 7de44804d9faede58fb49f3f882a724013dfa526 # Parent 518559db79c6d29b2279f61a88964a7ef083dc24 factored out getSuperType diff -r 518559db79c6 -r 7de44804d9fa graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java --- 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 getDirectSuperTypes(TypeElement element) { List 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 getSuperTypes(TypeElement element) { List types = new ArrayList<>(); List superTypes = null; List 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);