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

stringMap.h

This is the verbatim text of the stringMap.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

// stringOops are canonical strings; all stringOops are registered in the
// string table

class stringMap: public byteVectorMap {
 public:
  // testers
  bool is_string() { return true; }
  bool is_programmable_slots() { return false; }

  // if you ever change this, must go back and look at create_initial_strings
  bool should_canonicalize() { return false; }  
  
  // constructors
  friend void create_initial_strings(oop parent);
  
  // mirror operation
  mirrorOop mirror_proto() { return Memory->stringMirrorObj; }
  
  // creation operations
  slotsOop create_object(fint size) { return create_string(size); }
  
  // cloning operations
  bool can_inline_clone() { return false; }
  oop clone(oop obj, bool mustAllocate= true, oop genObj= NULL);
  oop cloneSize(oop obj, fint len, bool mustAllocate= true, oop filler= NULL);
  
  // memory operations
  virtual oop scavenge(oop obj);
  bool verify(oop obj);

  int32 debug_size(oop p);
  
  // printing operations
  void print_string(oop obj, char* buf);
  void print_oop(oop obj);
  void print(oop obj);
};

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