You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by dl...@apache.org on 2007/08/12 22:46:39 UTC
svn commit: r565143 -
/harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h
Author: dlydick
Date: Sun Aug 12 13:46:38 2007
New Revision: 565143
URL: http://svn.apache.org/viewvc?view=rev&rev=565143
Log:
Added typedef struct class_resolve_method;
Added prototypes for suite of OO evaluation functions.
Modified:
harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h
Modified: harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h?view=diff&rev=565143&r1=565142&r2=565143
==============================================================================
--- harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h (original)
+++ harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/class.h Sun Aug 12 13:46:38 2007
@@ -264,6 +264,22 @@
} rclass;
+
+/*!
+ * @brief Result of resolving an object with field it should reference
+ * or method it should invoke.
+ *
+ */
+typedef struct
+{
+ jvm_class_index clsidx; /**< Class containing method to invoke */
+
+ jvm_method_index mthidx; /**< Method to invoke from @b clsidx */
+
+ jvm_field_index fldidx; /**< Field to invoke from @b clsidx */
+
+} class_resolve_member;
+
/*!
* @internal Remove effects of packing pragma on other code.
*
@@ -324,6 +340,9 @@
extern rboolean classutil_class_is_a(jvm_class_index clsidx1,
jvm_class_index clsidx2);
+extern rboolean classutil_object_is_a(jvm_object_hash objhash1,
+ jvm_class_index clsidx2);
+
extern rboolean classutil_class_implements_interface(
jvm_class_index clsidx1,
jvm_class_index clsidx2);
@@ -332,12 +351,50 @@
jvm_class_index clsidx1,
jvm_class_index clsidx2);
+extern rboolean classutil_class_same_package_as(
+ jvm_class_index clsidx1,
+ jvm_class_index clsidx2);
+
extern rboolean classutil_class_is_accessible_to(
jvm_class_index clsidx1,
jvm_class_index clsidx2);
-extern rboolean
- classutil_interface_implemented_by_arrays(jvm_class_index clsidx);
+extern rboolean classutil_interface_implemented_by_arrays(
+ jvm_class_index clsidx);
+
+extern rboolean classutil_field_is_accessible_to(
+ CONSTANT_Fieldref_info *fldref1,
+ jvm_class_index clsidx2);
+
+extern rboolean classutil_method_is_accessible_to(
+ CONSTANT_Methodref_info *mthref1,
+ jvm_class_index clsidx2);
+
+extern rboolean classutil_interface_method_is_accessible_to(
+ CONSTANT_InterfaceMethodref_info *mthref1,
+ jvm_class_index clsidx2);
+
+extern jvm_object_hash classutil_direct_superclass_parent_object_of(
+ jvm_class_index clsidx1,
+ jvm_object_hash objhash2);
+
+extern rvoid classutil_class_has_a_field(class_resolve_member *rc,
+ jvm_object_hash objhash1,
+ ClassFile *pcfs2,
+ CONSTANT_Fieldref_info *fldref2);
+
+extern rvoid classutil_class_has_a_method(
+ class_resolve_member *rc,
+ jvm_object_hash objhash1,
+ ClassFile *pcfs2,
+ CONSTANT_Methodref_info *mthref2,
+ rboolean isaccessible);
+
+extern rvoid classutil_class_has_an_interface_method(
+ class_resolve_member *rc,
+ jvm_object_hash objhash1,
+ ClassFile *pcfs2,
+ CONSTANT_InterfaceMethodref_info *mthref2);
#endif /* _class_h_included_ */