< prev index next >

src/hotspot/share/classfile/classFileParser.hpp

Print this page

        

@@ -34,10 +34,11 @@
 class Annotations;
 template <typename T>
 class Array;
 class ClassFileStream;
 class ClassLoaderData;
+class ClassInstanceInfo;
 class CompressedLineNumberWriteStream;
 class ConstMethod;
 class FieldInfo;
 template <typename T>
 class GrowableArray;

@@ -76,15 +77,16 @@
  private:
   // Potentially unaligned pointer to various 16-bit entries in the class file
   typedef void unsafe_u2;
 
   const ClassFileStream* _stream; // Actual input stream
-  const Symbol* _requested_name;
   Symbol* _class_name;
   mutable ClassLoaderData* _loader_data;
   const InstanceKlass* _unsafe_anonymous_host;
   GrowableArray<Handle>* _cp_patches; // overrides for CP entries
+  const bool _is_hidden;
+  const bool _can_access_vm_annotations;
   int _num_patched_klasses;
   int _max_num_patched_klasses;
   int _orig_cp_size;
   int _first_patched_klass_resolved_index;
 

@@ -173,11 +175,13 @@
                                   TRAPS);
 
   void prepend_host_package_name(const InstanceKlass* unsafe_anonymous_host, TRAPS);
   void fix_unsafe_anonymous_class_name(TRAPS);
 
-  void fill_instance_klass(InstanceKlass* ik, bool cf_changed_in_CFLH, TRAPS);
+  void fill_instance_klass(InstanceKlass* ik, bool cf_changed_in_CFLH,
+                           const ClassInstanceInfo& cl_inst_info, TRAPS);
+
   void set_klass(InstanceKlass* instance);
 
   void set_class_bad_constant_seen(short bad_constant);
   short class_bad_constant_seen() { return  _bad_constant_seen; }
   void set_class_synthetic_flag(bool x)        { _synthetic_flag = x; }

@@ -485,25 +489,25 @@
                      const FieldAllocationCount* fac,
                      const ClassAnnotationCollector* parsed_annotations,
                      FieldLayoutInfo* info,
                      TRAPS);
 
-   void update_class_name(Symbol* new_name);
-
  public:
   ClassFileParser(ClassFileStream* stream,
                   Symbol* name,
                   ClassLoaderData* loader_data,
                   Handle protection_domain,
                   const InstanceKlass* unsafe_anonymous_host,
                   GrowableArray<Handle>* cp_patches,
+                  const bool is_hidden,
+                  const bool can_access_vm_annotations,
                   Publicity pub_level,
                   TRAPS);
 
   ~ClassFileParser();
 
-  InstanceKlass* create_instance_klass(bool cf_changed_in_CFLH, TRAPS);
+  InstanceKlass* create_instance_klass(bool cf_changed_in_CFLH, const ClassInstanceInfo& cl_inst_info, TRAPS);
 
   const ClassFileStream* clone_stream() const;
 
   void set_klass_to_deallocate(InstanceKlass* klass);
 

@@ -515,10 +519,11 @@
   int itable_size() const { return _itable_size; }
 
   u2 this_class_index() const { return _this_class_index; }
 
   bool is_unsafe_anonymous() const { return _unsafe_anonymous_host != NULL; }
+  bool is_hidden() const { return _is_hidden; }
   bool is_interface() const { return _access_flags.is_interface(); }
 
   const InstanceKlass* unsafe_anonymous_host() const { return _unsafe_anonymous_host; }
   const GrowableArray<Handle>* cp_patches() const { return _cp_patches; }
   ClassLoaderData* loader_data() const { return _loader_data; }
< prev index next >