Mercurial > hg > truffle
diff graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java @ 6699:d79098b9db3b
Support for interfaces in the Graal API: Make interfaces implemented by a ResolvedJavaType available; change semantics of ResolvedJavaType.getSuperclass to return null for interfaces (to conform with java.lang.Class); change semantics of ResolvedJavaType.isInstanceClass to return false for interfaces.
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 09 Nov 2012 17:15:13 -0800 |
parents | 2463eb24b644 |
children | 62818f156081 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java Fri Nov 09 17:04:16 2012 -0800 +++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java Fri Nov 09 17:15:13 2012 -0800 @@ -37,6 +37,15 @@ public class MetaUtil { /** + * Returns true if the specified typed is exactly the type {@link java.lang.Object}. + */ + public static boolean isJavaLangObject(ResolvedJavaType type) { + boolean result = type.getSuperclass() == null && !type.isInterface() && type.getKind() == Kind.Object; + assert result == type.getName().equals("Ljava/lang/Object;") : type.getName(); + return result; + } + + /** * Extends the functionality of {@link Class#getSimpleName()} to include a non-empty string for anonymous and local * classes. *