[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