Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

mapMap.h

This is the verbatim text of the mapMap.h include file.
/* Sun-$Revision: 23.3 $ */

/* Copyright 1992-9 Sun Microsystems, Inc. and Stanford University.
   See the LICENSE file for license information. */

# pragma interface

class mapMap: public Map {
 public:
  // testers
  bool is_map()  { return true; }
  
  // slot operations
  fint length_slots() { return 0; }
  fint length_nonVM_slots() { return 0; }
  
  fint size() { return sizeof(mapMap) / sizeof(oop); }
  fint object_size(oop obj) { return mapOop(obj)->addr()->size(); }
  
  // cloning operations
  oop clone(oop obj, bool mustAllocate= true, oop genObj= NULL);
  oop cloneSize(oop obj, fint length, bool mustAllocate= true,
                oop filler= NULL);
  
  // creation operation
  friend Map* create_mapMap();
  oop fill_in_slots(slotList* slist, fint slotCount) {
    ShouldNotCallThis(); Unused(slist); Unused(slotCount); return badOop; }
  
  // memory operations
  virtual oop scavenge(oop obj);
  bool verify(oop obj);

  // programming operations
  void switch_pointer(oop obj, oop* where, oop to) {
    assert_map(obj, "obj must be map!");
    mapOop(obj)->addr()->switch_pointer_in_map(where, to);
  }

  // bogus operations
  mirrorOop mirror_proto() { ShouldNotCallThis(); return NULL; }
  oop dummy_obj(oop filler) {
    Unused(filler);  ShouldNotCallThis(); return NULL; }
  fint empty_object_size() { ShouldNotCallThis(); return 0; }
  bool is_enumerable(oop obj, oop* matching_cell) {
    Unused(obj); Unused(matching_cell);
    ShouldNotCallThis(); return false; }

  // printing operations
  void print(oop obj);
};

Generated at Tue Jun 27 12:14:25 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999