Logo Search packages:      
Sourcecode: jruby1.1 version File versions

org::jruby::RubyHash Class Reference

Inheritance diagram for org::jruby::RubyHash:

org::jruby::RubyObject org::jruby::runtime::builtin::IRubyObject org::jruby::runtime::builtin::InstanceVariables org::jruby::runtime::builtin::InternalVariables org::jruby::RubyGlobal::StringOnlyRubyHash

List of all members.


Detailed Description

Implementation of the Hash class.

Concurrency: no synchronization is required among readers, but all users must synchronize externally with writers.

Definition at line 104 of file RubyHash.java.


Public Member Functions

void addFinalizer (IRubyObject finalizer)
IRubyObject anyToString ()
IRubyObject aref (IRubyObject key)
IRubyObject as (Class javaClass)
IRubyObject aset (IRubyObject key, IRubyObject value)
String asJavaString ()
RubyString asString ()
void attachToObjectSpace ()
final void callInit (IRubyObject[] args, Block block)
final IRubyObject callMethod (ThreadContext context, int methodIndex, String name, IRubyObject arg)
final IRubyObject callMethod (ThreadContext context, int methodIndex, String name)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject[] args, Block block)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject[] args)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject arg)
final IRubyObject callMethod (ThreadContext context, String name)
IRubyObject callSuper (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject checkArrayType ()
IRubyObject checkStringType ()
void clear ()
boolean containsKey (Object key)
boolean containsValue (Object value)
RubyArray convertToArray ()
RubyFloat convertToFloat ()
RubyHash convertToHash ()
RubyInteger convertToInteger (int convertMethodIndex, String convertMethod)
RubyInteger convertToInteger ()
RubyString convertToString ()
final IRubyObject convertToType (RubyClass target, int convertMethodIndex)
synchronized Object dataGetStruct ()
synchronized void dataWrapStruct (Object obj)
IRubyObject default_proc ()
IRubyObject default_value_get (ThreadContext context, IRubyObject arg)
IRubyObject default_value_get (ThreadContext context)
IRubyObject default_value_get (ThreadContext context, IRubyObject[] args)
IRubyObject default_value_set (final IRubyObject defaultValue)
IRubyObject delete (ThreadContext context, IRubyObject key, Block block)
RubyHash delete_if (final ThreadContext context, final Block block)
Set directEntrySet ()
Set directKeySet ()
Collection directValues ()
IRubyObject display (ThreadContext context, IRubyObject[] args)
IRubyObject dup ()
RubyHash each (final ThreadContext context, final Block block)
RubyHash each_key (final ThreadContext context, final Block block)
RubyHash each_pair (final ThreadContext context, final Block block)
RubyHash each_value (final ThreadContext context, final Block block)
RubyBoolean empty_p ()
Set entrySet ()
boolean eql (IRubyObject other)
IRubyObject eql_p (IRubyObject obj)
IRubyObject equal_p (ThreadContext context, IRubyObject obj)
boolean equals (Object other)
IRubyObject evalUnder (final ThreadContext context, RubyModule under, RubyString src, String file, int line)
IRubyObject evalUnder (final ThreadContext context, RubyModule under, IRubyObject src, IRubyObject file, IRubyObject line)
IRubyObject extend (IRubyObject[] args)
final IRubyObject fastARef (IRubyObject key)
final void fastASet (IRubyObject key, IRubyObject value)
final boolean fastDelete (IRubyObject key)
IRubyObject fastGetInstanceVariable (String internedName)
IRubyObject fastGetInternalVariable (String internedName)
boolean fastHasInstanceVariable (String internedName)
boolean fastHasInternalVariable (String internedName)
IRubyObject fastSetInstanceVariable (String internedName, IRubyObject value)
void fastSetInternalVariable (String internedName, IRubyObject value)
IRubyObject fetch (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject freeze (ThreadContext context)
RubyBoolean frozen_p (ThreadContext context)
Object get (Object key)
final boolean getFlag (int flag)
IRubyObject getIfNone ()
IRubyObject getInstanceVariable (String name)
List< Variable< IRubyObject > > getInstanceVariableList ()
List< String > getInstanceVariableNameList ()
InstanceVariables getInstanceVariables ()
IRubyObject getInternalVariable (String name)
List< Variable< IRubyObject > > getInternalVariableList ()
InternalVariables getInternalVariables ()
Class getJavaClass ()
final RubyClass getMetaClass ()
int getNativeTypeIndex ()
final Ruby getRuntime ()
RubyClass getSingletonClass ()
RubyClass getType ()
int getVariableCount ()
List< Variable< IRubyObject > > getVariableList ()
Map getVariableMap ()
List< String > getVariableNameList ()
RubyBoolean has_key_p (IRubyObject key)
RubyBoolean has_value_p (ThreadContext context, IRubyObject expected)
boolean hasDefaultProc ()
RubyFixnum hash ()
int hashCode ()
boolean hasInstanceVariable (String name)
boolean hasInternalVariable (String name)
boolean hasVariables ()
synchronized IRubyObject id ()
synchronized IRubyObject id_deprecated ()
IRubyObject index (ThreadContext context, IRubyObject expected)
RubyArray indices (ThreadContext context, IRubyObject[] indices)
IRubyObject infectBy (IRubyObject obj)
IRubyObject initialize ()
IRubyObject initialize (IRubyObject[] args, final Block block)
IRubyObject initialize_copy (IRubyObject original)
RubyHash initialize_copy (ThreadContext context, IRubyObject other)
IRubyObject inspect ()
IRubyObject inspect (ThreadContext context)
IRubyObject instance_eval (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, Block block)
IRubyObject instance_eval (ThreadContext context, Block block)
IRubyObject instance_exec (ThreadContext context, IRubyObject[] args, Block block)
RubyBoolean instance_of_p (ThreadContext context, IRubyObject type)
IRubyObject instance_variable_defined_p (ThreadContext context, IRubyObject name)
IRubyObject instance_variable_get (ThreadContext context, IRubyObject name)
IRubyObject instance_variable_set (IRubyObject name, IRubyObject value)
RubyArray instance_variables (ThreadContext context)
RubyHash invert (final ThreadContext context)
boolean isClass ()
boolean isEmpty ()
final boolean isFalse ()
boolean isFrozen ()
boolean isImmediate ()
boolean isModule ()
final boolean isNil ()
boolean isTaint ()
final boolean isTrue ()
RubyArray keys ()
Set keySet ()
RubyBoolean kind_of_p (ThreadContext context, IRubyObject type)
RubyClass makeMetaClass (RubyClass superClass)
RubyHash merge (ThreadContext context, IRubyObject other, Block block)
RubyHash merge_bang (final ThreadContext context, final IRubyObject other, final Block block)
IRubyObject method (IRubyObject symbol)
IRubyObject methods (ThreadContext context, IRubyObject[] args)
void modify ()
IRubyObject nil_p (ThreadContext context)
IRubyObject op_aref (ThreadContext context, IRubyObject key)
IRubyObject op_aset (ThreadContext context, IRubyObject key, IRubyObject value)
IRubyObject op_aset (IRubyObject key, IRubyObject value)
IRubyObject op_eqq (ThreadContext context, IRubyObject other)
IRubyObject op_equal (ThreadContext context, IRubyObject obj)
IRubyObject op_equal (final ThreadContext context, final IRubyObject other)
IRubyObject op_match (ThreadContext context, IRubyObject arg)
IRubyObject private_methods (ThreadContext context, IRubyObject[] args)
IRubyObject protected_methods (ThreadContext context, IRubyObject[] args)
IRubyObject public_methods (ThreadContext context, IRubyObject[] args)
Object put (Object key, Object value)
void putAll (Map map)
RubyHash rb_clear ()
RubyFixnum rb_size ()
RubyArray rb_values ()
IRubyObject rbClone ()
RubyHash rehash ()
RubyHash reject (ThreadContext context, Block block)
IRubyObject reject_bang (ThreadContext context, Block block)
Object remove (Object key)
IRubyObject remove_instance_variable (ThreadContext context, IRubyObject name, Block block)
void removeFinalizers ()
IRubyObject removeInstanceVariable (String name)
IRubyObject removeInternalVariable (String name)
RubyHash replace (final ThreadContext context, IRubyObject other)
RubyBoolean respond_to_p (IRubyObject mname, IRubyObject includePrivate)
RubyBoolean respond_to_p (IRubyObject mname)
final boolean respondsTo (String name)
 RubyHash (Ruby runtime, Map valueMap, IRubyObject defaultValue)
 RubyHash (Ruby runtime, IRubyObject defaultValue)
 RubyHash (Ruby runtime)
 RubyHash (Ruby runtime, RubyClass klass)
IRubyObject select (final ThreadContext context, final Block block)
IRubyObject send (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, Block block)
IRubyObject send (ThreadContext context, Block block)
final void setFlag (int flag, boolean set)
void setFrozen (boolean frozen)
IRubyObject setInstanceVariable (String name, IRubyObject value)
void setInternalVariable (String name, IRubyObject value)
void setMetaClass (RubyClass metaClass)
void setTaint (boolean taint)
IRubyObject shift (ThreadContext context)
RubyArray singleton_methods (ThreadContext context, IRubyObject[] args)
int size ()
RubyArray sort (Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject[] args, Block block)
void syncVariables (List< Variable< IRubyObject >> variables)
IRubyObject taint (ThreadContext context)
RubyBoolean tainted_p (ThreadContext context)
RubyArray to_a ()
RubyHash to_hash ()
IRubyObject to_java ()
IRubyObject to_s ()
String toString ()
RubyClass type ()
RubyClass type_deprecated ()
IRubyObject untaint (ThreadContext context)
Collection values ()
RubyArray values_at (ThreadContext context, IRubyObject[] args)
void visitAll (Visitor visitor)

Static Public Member Functions

static IRubyObject create (ThreadContext context, IRubyObject recv, IRubyObject[] args, Block block)
static RubyClass createHashClass (Ruby runtime)
static RubyClass createObjectClass (Ruby runtime, RubyClass objectClass)
static void marshalTo (final RubyHash hash, final MarshalStream output) throws IOException
static final RubyHash newHash (Ruby runtime, Map valueMap, IRubyObject defaultValue)
static final RubyHash newHash (Ruby runtime)
static void puts (Object obj)
static RubyHash unmarshalFrom (UnmarshalStream input, boolean defaultValue) throws IOException

Static Public Attributes

static final int ALL_F = -1
static long collisions = 0
static final int FALSE_F = 1 << 0
static final int FL_USHIFT = 4
static final int FROZEN_F = 1 << 2
static final IRubyObject NEVER = new RubyObject()
static final int NIL_F = 1 << 1
static final IRubyObject[] NULL_ARRAY = new IRubyObject[0]
static final ObjectAllocator OBJECT_ALLOCATOR
static final int TAINTED_F = 1 << 3
static final IRubyObject UNDEF = new RubyObject()
static final int USER0_F = (1<<(FL_USHIFT+0))
static final int USER1_F = (1<<(FL_USHIFT+1))
static final int USER2_F = (1<<(FL_USHIFT+2))
static final int USER3_F = (1<<(FL_USHIFT+3))
static final int USER4_F = (1<<(FL_USHIFT+4))
static final int USER5_F = (1<<(FL_USHIFT+5))
static final int USER6_F = (1<<(FL_USHIFT+6))
static final int USER7_F = (1<<(FL_USHIFT+7))

Protected Member Functions

void checkFrozen ()
void copySpecialInstanceVariables (IRubyObject clone)
void ensureInstanceVariablesSettable ()
RubyClass getSingletonClassClone ()
final void testFrozen (String message)
String validateInstanceVariable (String name)
boolean variableTableContains (String name)
boolean variableTableFastContains (String internedName)
IRubyObject variableTableFastFetch (String internedName)
IRubyObject variableTableFastStore (String internedName, IRubyObject value)
IRubyObject variableTableFetch (String name)
Map variableTableGetMap (Map map)
Map variableTableGetMap ()
int variableTableGetSize ()
VariableTableEntry[] variableTableGetTable ()
synchronized IRubyObject variableTableReadLocked (VariableTableEntry entry)
final VariableTableEntry[] variableTableRehash ()
IRubyObject variableTableRemove (String name)
IRubyObject variableTableStore (String name, IRubyObject value)
void variableTableSync (List< Variable< IRubyObject >> vars)

Static Protected Member Functions

static boolean eqlInternal (final ThreadContext context, final IRubyObject that, final IRubyObject other)
static boolean equalInternal (final ThreadContext context, final IRubyObject that, final IRubyObject other)
static final boolean isRubyVariable (String name)

Protected Attributes

transient Object dataStruct
int flags
transient RubyClass metaClass
transient volatile
VariableTableEntry[] 
variableTable
transient int variableTableSize
transient int variableTableThreshold

Static Protected Attributes

static final String ERR_INSECURE_SET_INST_VAR = "Insecure: can't modify instance variable"
static final int VARIABLE_TABLE_DEFAULT_CAPACITY = 8
static final VariableTableEntry[] VARIABLE_TABLE_EMPTY_TABLE = new VariableTableEntry[0]
static final float VARIABLE_TABLE_LOAD_FACTOR = 0.75f
static final int VARIABLE_TABLE_MAXIMUM_CAPACITY = 1 << 30

Package Functions

 [instance initializer]
 RubyHash (Ruby runtime, boolean objectSpace)

Static Package Functions

static RubyString inspect (ThreadContext context, IRubyObject object)

Private Member Functions

final void alloc ()
void checkResize ()
boolean hasValue (final ThreadContext context, final IRubyObject expected)
IRubyObject inspectHash (final ThreadContext context)
final RubyHashEntry[] internalCopyTable (RubyHashEntry destHead)
final RubyHashEntry internalDelete (final int hash, final EntryMatchType matchType, final Object obj)
final RubyHashEntry internalDelete (final IRubyObject key)
final RubyHashEntry internalDeleteEntry (final RubyHashEntry entry)
final IRubyObject internalGet (IRubyObject key)
final RubyHashEntry internalGetEntry (IRubyObject key)
IRubyObject internalIndex (final ThreadContext context, final IRubyObject expected)
final void internalPut (final IRubyObject key, final IRubyObject value, final boolean checkForExisting)
final void internalPut (final IRubyObject key, final IRubyObject value)
final void JavaSoftCheckResize ()
final void MRICheckResize ()
final void resize (int newCapacity)
 RubyHash (Ruby runtime, RubyClass klass, RubyHash other)

Static Private Member Functions

static int bucketIndex (final int h, final int length)
static int hashValue (final int h)
static int JavaSoftBucketIndex (final int h, final int length)
static int JavaSoftHashValue (int h)
static int MRIBucketIndex (final int h, final int length)
static int MRIHashValue (int h)

Private Attributes

final EntryView DIRECT_ENTRY_VIEW
final EntryView ENTRY_VIEW
int generation = 0
final RubyHashEntry head = new RubyHashEntry()
IRubyObject ifNone
int size = 0
RubyHashEntry[] table
int threshold
final EntryView VALUE_VIEW

Static Private Attributes

static final EntryView DIRECT_KEY_VIEW
static final EntryView DIRECT_VALUE_VIEW
static final boolean EQUAL_CHECK_DEFAULT_VALUE = false
static final ObjectAllocator HASH_ALLOCATOR
static final int HASH_SIGN_BIT_MASK = ~(1 << 31)
static final int INITIAL_THRESHOLD = JAVASOFT_INITIAL_CAPACITY - (JAVASOFT_INITIAL_CAPACITY >> 2)
static final int JAVASOFT_INITIAL_CAPACITY = 8
static final EntryView KEY_VIEW
static final EntryMatchType MATCH_ENTRY
static final EntryMatchType MATCH_KEY
static final int MAXIMUM_CAPACITY = 1 << 30
static final int MIN_CAPA = 8
static boolean MRI_HASH = true
static boolean MRI_HASH_RESIZE = true
static final int MRI_INITIAL_CAPACITY = MRI_PRIMES[0]
static final int MRI_PRIMES []
static final RubyHashEntry NO_ENTRY = new RubyHashEntry()
static final int PROCDEFAULT_HASH_F = 1 << 10
static final int ST_DEFAULT_MAX_DENSITY = 5

Classes

class  BaseCollection
class  BaseIterator
class  BaseSet
class  ConvertingEntry
class  EntryMatchType
class  EntryView
class  Found
class  FoundKey
class  Mismatch
class  RubyHashEntry
class  Visitor
class  VisitorIOException

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index