mixinOopDesc Class Reference

#include <mixinOop.hpp>

Inheritance diagram for mixinOopDesc:

Inheritance graph
[legend]
Collaboration diagram for mixinOopDesc:

Collaboration graph
[legend]
List of all members.

Public Member Functions

objArrayOop methods () const
void set_methods (objArrayOop m)
objArrayOop instVars () const
void set_instVars (objArrayOop i)
objArrayOop classVars () const
void set_classVars (objArrayOop c)
klassOop primary_invocation () const
void set_primary_invocation (klassOop k)
mixinOop class_mixin () const
void set_class_mixin (mixinOop m)
oop installed () const
void set_installed (oop b)
int number_of_methods () const
methodOop method_at (int index) const
void add_method (methodOop method)
methodOop remove_method_at (int index)
bool includes_method (methodOop method)
int number_of_instVars () const
symbolOop instVar_at (int index) const
void add_instVar (symbolOop name)
symbolOop remove_instVar_at (int index)
bool includes_instVar (symbolOop name)
int number_of_classVars () const
symbolOop classVar_at (int index) const
void add_classVar (symbolOop name)
symbolOop remove_classVar_at (int index)
bool includes_classVar (symbolOop name)
int inst_var_offset (symbolOop name, int non_indexable_size) const
void apply_mixin (mixinOop m)
void customize_for (klassOop klass)
void uncustomize_methods ()
bool is_installed () const
bool has_primary_invocation () const
void bootstrap_object (bootstrap *st)

Static Public Member Functions

static int header_size ()

Public Attributes

friend mixinKlass

Protected Member Functions

mixinOopDescaddr () const

Private Attributes

objArrayOop _methods
objArrayOop _inst_vars
objArrayOop _class_vars
klassOop _primary_invocation
mixinOop _class_mixin
oop _installed

Friends

mixinOop as_mixinOop (void *p)

Detailed Description

Definition at line 37 of file mixinOop.hpp.


Member Function Documentation

void mixinOopDesc::add_classVar ( symbolOop  name  ) 

Definition at line 132 of file mixinOop.cpp.

References classVars(), objArrayOopDesc::copy_add(), objArrayOopDesc::length(), objArrayOopDesc::obj_at(), and set_classVars().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

void mixinOopDesc::add_instVar ( symbolOop  name  ) 

Definition at line 98 of file mixinOop.cpp.

References assert, objArrayOopDesc::copy_add(), instVars(), oopDesc::is_symbol(), objArrayOopDesc::length(), objArrayOopDesc::obj_at(), and set_instVars().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

void mixinOopDesc::add_method ( methodOop  method  ) 

Definition at line 57 of file mixinOop.cpp.

References assert, objArrayOopDesc::copy(), objArrayOopDesc::copy_add(), oopDesc::is_method(), objArrayOopDesc::length(), methods(), objArrayOopDesc::obj_at(), objArrayOopDesc::obj_at_put(), methodOopDesc::selector(), and set_methods().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

mixinOopDesc* mixinOopDesc::addr (  )  const [inline, protected]

Reimplemented from memOopDesc.

Definition at line 47 of file mixinOop.hpp.

References memOopDesc::addr().

Referenced by bootstrap_object(), class_mixin(), classVars(), installed(), instVars(), methods(), primary_invocation(), set_class_mixin(), set_classVars(), set_installed(), set_instVars(), set_methods(), and set_primary_invocation().

Here is the call graph for this function:

void mixinOopDesc::apply_mixin ( mixinOop  m  ) 

Definition at line 169 of file mixinOop.cpp.

References methods(), and set_methods().

Here is the call graph for this function:

void mixinOopDesc::bootstrap_object ( bootstrap st  ) 

Reimplemented from memOopDesc.

Definition at line 38 of file mixinOop.cpp.

References _class_mixin, _class_vars, _inst_vars, _installed, _methods, _primary_invocation, addr(), memOopDesc::bootstrap_body(), memOopDesc::bootstrap_header(), header_size(), and bootstrap::read_oop().

Here is the call graph for this function:

mixinOop mixinOopDesc::class_mixin (  )  const [inline]

Definition at line 68 of file mixinOop.hpp.

References _class_mixin, and addr().

Referenced by Reflection::apply_change(), Klass::create_generic_class(), ClassChange::new_class_from(), PRIM_DECL_1(), PRIM_DECL_3(), PRIM_DECL_5(), ClassChange::recustomize_methods(), ClassChange::update_class_vars(), and ClassChange::update_methods().

Here is the call graph for this function:

symbolOop mixinOopDesc::classVar_at ( int  index  )  const

Definition at line 128 of file mixinOop.cpp.

References classVars().

Referenced by Klass::create_generic_class(), Reflection::has_class_vars_changed(), PRIM_DECL_2(), and remove_classVar_at().

Here is the call graph for this function:

objArrayOop mixinOopDesc::classVars (  )  const [inline]

Definition at line 62 of file mixinOop.hpp.

References _class_vars, and addr().

Referenced by add_classVar(), classVar_at(), Klass::create_generic_class(), includes_classVar(), number_of_classVars(), PRIM_DECL_1(), and remove_classVar_at().

Here is the call graph for this function:

void mixinOopDesc::customize_for ( klassOop  klass  ) 

Definition at line 173 of file mixinOop.cpp.

References methodOopDesc::customize_for(), oopDesc::klass(), objArrayOopDesc::length(), methods(), and objArrayOopDesc::obj_at().

Referenced by ClassChange::recustomize_methods().

Here is the call graph for this function:

bool mixinOopDesc::has_primary_invocation (  )  const

Definition at line 165 of file mixinOop.cpp.

References oopDesc::is_klass(), and primary_invocation().

Here is the call graph for this function:

static int mixinOopDesc::header_size (  )  [inline, static]

Reimplemented from memOopDesc.

Definition at line 53 of file mixinOop.hpp.

References oopSize.

Referenced by bootstrap_object(), mixinKlass::oop_header_size(), and mixinKlass::oop_layout_iterate().

bool mixinOopDesc::includes_classVar ( symbolOop  name  ) 

Definition at line 150 of file mixinOop.cpp.

References classVars(), objArrayOopDesc::length(), and objArrayOopDesc::obj_at().

Referenced by Reflection::has_class_vars_changed().

Here is the call graph for this function:

bool mixinOopDesc::includes_instVar ( symbolOop  name  ) 

Definition at line 115 of file mixinOop.cpp.

References instVars(), objArrayOopDesc::length(), and objArrayOopDesc::obj_at().

Here is the call graph for this function:

bool mixinOopDesc::includes_method ( methodOop  method  ) 

Definition at line 81 of file mixinOop.cpp.

References objArrayOopDesc::length(), methods(), and objArrayOopDesc::obj_at().

Referenced by Reflection::has_methods_changed().

Here is the call graph for this function:

int mixinOopDesc::inst_var_offset ( symbolOop  name,
int  non_indexable_size 
) const

Definition at line 27 of file mixinOop.cpp.

References instVars(), objArrayOopDesc::length(), and objArrayOopDesc::obj_at().

Referenced by Klass::lookup_inst_var().

Here is the call graph for this function:

oop mixinOopDesc::installed (  )  const [inline]

Definition at line 71 of file mixinOop.hpp.

References _installed, and addr().

Referenced by is_installed().

Here is the call graph for this function:

symbolOop mixinOopDesc::instVar_at ( int  index  )  const

Definition at line 94 of file mixinOop.cpp.

References instVars().

Referenced by Klass::inst_var_name_at(), PRIM_DECL_2(), and remove_instVar_at().

Here is the call graph for this function:

objArrayOop mixinOopDesc::instVars (  )  const [inline]

Definition at line 59 of file mixinOop.hpp.

References _inst_vars, and addr().

Referenced by add_instVar(), includes_instVar(), inst_var_offset(), instVar_at(), number_of_instVars(), PRIM_DECL_1(), and remove_instVar_at().

Here is the call graph for this function:

bool mixinOopDesc::is_installed (  )  const

Definition at line 159 of file mixinOop.cpp.

References assert, falseObj, installed(), and trueObj.

Referenced by PRIM_DECL_1().

Here is the call graph for this function:

methodOop mixinOopDesc::method_at ( int  index  )  const

Definition at line 53 of file mixinOop.cpp.

References methods().

Referenced by Reflection::has_methods_changed(), PRIM_DECL_2(), and remove_method_at().

Here is the call graph for this function:

objArrayOop mixinOopDesc::methods (  )  const [inline]

Definition at line 56 of file mixinOop.hpp.

References _methods, and addr().

Referenced by add_method(), apply_mixin(), customize_for(), decode_klass(), includes_method(), Klass::is_method_holder_for(), MethodSweeper::klass_task(), Klass::local_lookup(), method_at(), Universe::methods_for_do(), number_of_methods(), PRIM_DECL_1(), remove_method_at(), and uncustomize_methods().

Here is the call graph for this function:

int mixinOopDesc::number_of_classVars (  )  const

Definition at line 124 of file mixinOop.cpp.

References classVars(), and objArrayOopDesc::length().

Referenced by Klass::create_generic_class(), and Reflection::has_class_vars_changed().

Here is the call graph for this function:

int mixinOopDesc::number_of_instVars (  )  const

Definition at line 90 of file mixinOop.cpp.

References instVars(), and objArrayOopDesc::length().

Referenced by Klass::inst_var_name_at(), and Klass::number_of_instance_variables().

Here is the call graph for this function:

int mixinOopDesc::number_of_methods (  )  const

Definition at line 49 of file mixinOop.cpp.

References objArrayOopDesc::length(), and methods().

Referenced by Reflection::has_methods_changed().

Here is the call graph for this function:

klassOop mixinOopDesc::primary_invocation (  )  const [inline]

Definition at line 65 of file mixinOop.hpp.

References _primary_invocation, and addr().

Referenced by has_primary_invocation(), Klass::is_named_class(), ClassChange::new_class_from(), and PRIM_DECL_1().

Here is the call graph for this function:

symbolOop mixinOopDesc::remove_classVar_at ( int  index  ) 

Definition at line 143 of file mixinOop.cpp.

References classVar_at(), classVars(), and set_classVars().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

symbolOop mixinOopDesc::remove_instVar_at ( int  index  ) 

Definition at line 109 of file mixinOop.cpp.

References instVar_at(), instVars(), and set_instVars().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

methodOop mixinOopDesc::remove_method_at ( int  index  ) 

Definition at line 75 of file mixinOop.cpp.

References method_at(), methods(), and set_methods().

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

void mixinOopDesc::set_class_mixin ( mixinOop  m  )  [inline]

Definition at line 69 of file mixinOop.hpp.

References _class_mixin, addr(), and STORE_OOP.

Referenced by PRIM_DECL_2().

Here is the call graph for this function:

void mixinOopDesc::set_classVars ( objArrayOop  c  )  [inline]

Definition at line 63 of file mixinOop.hpp.

References _class_vars, addr(), and STORE_OOP.

Referenced by add_classVar(), mixinKlass::allocateObject(), remove_classVar_at(), and ClassChange::update_class_vars().

Here is the call graph for this function:

void mixinOopDesc::set_installed ( oop  b  )  [inline]

Definition at line 72 of file mixinOop.hpp.

References _installed, addr(), and STORE_OOP.

Referenced by mixinKlass::allocateObject(), ClassChange::new_class_from(), mixinKlass::oop_shallow_copy(), PRIM_DECL_1(), PRIM_DECL_3(), and PRIM_DECL_5().

Here is the call graph for this function:

void mixinOopDesc::set_instVars ( objArrayOop  i  )  [inline]

Definition at line 60 of file mixinOop.hpp.

References _inst_vars, addr(), and STORE_OOP.

Referenced by add_instVar(), mixinKlass::allocateObject(), and remove_instVar_at().

Here is the call graph for this function:

void mixinOopDesc::set_methods ( objArrayOop  m  )  [inline]

Definition at line 57 of file mixinOop.hpp.

References _methods, addr(), and STORE_OOP.

Referenced by add_method(), mixinKlass::allocateObject(), apply_mixin(), remove_method_at(), and ClassChange::update_methods().

Here is the call graph for this function:

void mixinOopDesc::set_primary_invocation ( klassOop  k  )  [inline]

Definition at line 66 of file mixinOop.hpp.

References _primary_invocation, addr(), and STORE_OOP.

Referenced by ClassChange::new_class_from(), PRIM_DECL_2(), and PRIM_DECL_5().

Here is the call graph for this function:

void mixinOopDesc::uncustomize_methods (  ) 

Definition at line 181 of file mixinOop.cpp.

References objArrayOopDesc::length(), methods(), objArrayOopDesc::obj_at(), and methodOopDesc::uncustomize_for().

Here is the call graph for this function:


Friends And Related Function Documentation

mixinOop as_mixinOop ( void *  p  )  [friend]

Definition at line 50 of file mixinOop.hpp.


Member Data Documentation

mixinOop mixinOopDesc::_class_mixin [private]

Definition at line 43 of file mixinOop.hpp.

Referenced by bootstrap_object(), class_mixin(), and set_class_mixin().

objArrayOop mixinOopDesc::_class_vars [private]

Definition at line 41 of file mixinOop.hpp.

Referenced by bootstrap_object(), classVars(), and set_classVars().

objArrayOop mixinOopDesc::_inst_vars [private]

Definition at line 40 of file mixinOop.hpp.

Referenced by bootstrap_object(), instVars(), and set_instVars().

oop mixinOopDesc::_installed [private]

Definition at line 44 of file mixinOop.hpp.

Referenced by bootstrap_object(), installed(), and set_installed().

objArrayOop mixinOopDesc::_methods [private]

Definition at line 39 of file mixinOop.hpp.

Referenced by bootstrap_object(), methods(), and set_methods().

klassOop mixinOopDesc::_primary_invocation [private]

Definition at line 42 of file mixinOop.hpp.

Referenced by bootstrap_object(), primary_invocation(), and set_primary_invocation().

friend mixinOopDesc::mixinKlass

Definition at line 112 of file mixinOop.hpp.


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:10:19 2006 for Strongtalk VM by  doxygen 1.4.7