[vmkit-commits] [vmkit] r56973 - /vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Oct 2 15:47:54 PDT 2008


Author: geoffray
Date: Thu Oct  2 17:47:54 2008
New Revision: 56973

URL: http://llvm.org/viewvc/llvm-project?rev=56973&view=rev
Log:
Provide safe implementations of casting.


Modified:
    vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h

Modified: vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h?rev=56973&r1=56972&r2=56973&view=diff

==============================================================================
--- vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/branches/isolate/lib/JnJVM/VMCore/JavaClass.h Thu Oct  2 17:47:54 2008
@@ -216,18 +216,41 @@
     return array;
   }
 
-  /// isPrimitive - Is the class a primitive class?
-  ///
   bool primitive;
 
+  /// isPrimitive - Is the class a primitive class?
+  ///
   bool isPrimitive() {
     return primitive;
   }
-
+  
+  /// isInterface - Is the class an interface?
+  ///
   bool isInterface() {
     return jnjvm::isInterface(access);
   }
   
+  /// asClass - Returns the class as a user-defined class
+  /// if it is not a primitive or an array.
+  UserClass* asClass() {
+    if (!primitive && !array) return (UserClass*)this;
+    return 0;
+  }
+  
+  /// asPrimitiveClass - Returns the class if it's a primitive class.
+  ///
+  UserClassPrimitive* asPrimitiveClass() {
+    if (primitive) return (UserClassPrimitive*)this;
+    return 0;
+  }
+  
+  /// asArrayClass - Returns the class if it's an array class.
+  ///
+  UserClassArray* asArrayClass() {
+    if (array) return (UserClassArray*)this;
+    return 0;
+  }
+  
   /// interfaces - The interfaces this class implements.
   ///
   std::vector<Class*> interfaces;





More information about the vmkit-commits mailing list