Class new title: SymbolTable subclassof: Dictionary fields: '' declare: ''  t1 [(super  t1) value]  t1 _ t2 [super  t1 value_ t2] allCallsOn: t1 from: t2 | t3 t4 t5 t6 t7 [[t1 is: Vector  [] t1 _ t1 inVector]. t4 _ Stream default. user displayoffwhile [for t3 from: t2 do [t6 _ self  t3. for t7 from: t1 do [t5 _ t6 whosends: t7. t5 length = 0  [] t4 append: t3. t4 append: ''. t4 append: t5 asString. t4 cr]]. nil]. t4 contents] allRefs [self allRefsTo: self contents from: user classNames] allRefsTo: t1 from: t2 | t3 [[t1 is: Vector  [] t1 _ t1 inVector]. Smalltalk allCallsOn: (t1 transform [t3] to [self ref: t3]) from: t2] declare: t1 [self declare: t1 from: Undeclared] declare: t1 as: t2 | t3 t4 [t1 is: Vector  [t4 _ t2 asStream. for t3 from: t1 do [self declare: t3 as: t4 next]] self declare: t1. self  t1 _ t2] declare: t1 from: t2 | t3 [t1 is: Vector  [for t3 from: t1 do [self declare: t3 from: t2]] self has: t1  [] t2 has: t1  [super insert: t1 with: (t2 ref: t1). t2 delete: t1] self insert: t1 with: nil] define: t1 as: t2 [self declare: t1 as: t2] growto: t1 | t2 t3 [t3 _ self class new init: t1. for t2 from: self do [t3 insert: t2 withref: (self ref: t2)]. self copyfrom: t3] insert: t1 with: t2 [[self has: t1  [] super insert: t1 with: ObjectReference new]. self  t1 _ t2] insert: t1 withref: t2 [super insert: t1 with: t2] invert: t1 | t2 [for t2 to: values length do [nil  (values  t2)  [] t1  (values  t2) value  [objects  t2]]. false] invertRef: t1 | t2 [for t2 to: values length do [t1  (values  t2)  [objects  t2]]. false] lookup: t1 | t2 [t2 _ super lookup: t1. t2  [t2 value] false] lookupRef: t1 [super lookup: t1] ref: t1 [super  t1] ref: t1 _ t2 [super  t1 _ t2] rehash | t1 t2 [t2 _ SymbolTable new init: self size. for t1 to: objects length do [objects  t1  nil  [] t2 insert: objects  t1 withref: values  t1]. self copyfrom: t2]