current_class

Dachuan Yu dachuan.yu@yale.edu
Thu Oct 11 12:01:00 GMT 2001


I was wondering how I can get access to the current
class that is being compiled.

For example, suppose we are compiling the method
invocation of "b.g()" in the following example.

Class A {
    void f() {
        B b;
        b.g();
   }
}

Say, in method "patch_invoke" or
"build_invokevirtual", can I use "current_class" to
get hold of the "class_type_node" counterpart of
class A?

Note: I'm not looking for the class of object b. I'm
looking for the enclosing class of the current code
being compiled. I want to do sometime like the
following:

  otable = build1(INDIRECT_REF, class_type_node,
current_class);
  otable = build (COMPONENT_REF, otable_prt_type,
otable,
                 lookup_field (&class_type_node,
otable_ident));

(where "otable_ident" is the identifier node of the
name of a field in class_type_node.)

regards,

Dachuan




More information about the Java mailing list