aa
com.cliffc.aa.HM.HM.Struct Class Reference
Inheritance diagram for com.cliffc.aa.HM.HM.Struct:
[legend]
Collaboration diagram for com.cliffc.aa.HM.HM.Struct:
[legend]

Public Member Functions

String p ()
 
final String toString ()
 

Package Functions

 Struct (String[] ids, Syntax[] flds)
 
void add_hm_work (Worklist work)
 
void add_val_work (Syntax child, Worklist work)
 
T2 debug_find ()
 
T2 find ()
 
boolean hm (Worklist work)
 
boolean more_work (Worklist work)
 
final boolean more_work_impl (Worklist work)
 
final SB p0 (SB sb, VBitSet dups)
 
SB p1 (SB sb)
 
SB p2 (SB sb, VBitSet dups)
 
void prep_lookup_deps (Ident id)
 
int prep_tree (Syntax par, VStack nongen, Worklist work)
 
final void prep_tree_impl (Syntax par, VStack nongen, Worklist work, T2 t)
 
SB str (SB sb)
 
Type val (Worklist work)
 

Package Attributes

final int _alias
 
final Syntax[] _flds
 
Type _flow
 
T2 _hmt
 
final String[] _ids
 
VStack _nongen
 
Syntax _par
 

Detailed Description

Definition at line 792 of file HM.java.

Constructor & Destructor Documentation

◆ Struct()

com.cliffc.aa.HM.HM.Struct.Struct ( String[]  ids,
Syntax[]  flds 
)
package

Definition at line 796 of file HM.java.

796  {
797  _ids=ids;
798  _flds=flds;
799  // Make a TMP
801  }

References com.cliffc.aa.HM.HM.Struct._alias, com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.type.BitsAlias.new_alias(), and com.cliffc.aa.type.BitsAlias.REC.

Here is the call graph for this function:

Member Function Documentation

◆ add_hm_work()

void com.cliffc.aa.HM.HM.Struct.add_hm_work ( Worklist  work)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 856 of file HM.java.

856  {
857  work.push(_par);
858  for( Syntax fld : _flds ) work.push(fld);
859  }

References com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Syntax._par, and com.cliffc.aa.HM.HM.Worklist.push().

Here is the call graph for this function:

◆ add_val_work()

void com.cliffc.aa.HM.HM.Syntax.add_val_work ( Syntax  child,
Worklist  work 
)
packageinherited

Reimplemented in com.cliffc.aa.HM.HM.PrimSyn, com.cliffc.aa.HM.HM.Apply, com.cliffc.aa.HM.HM.Let, and com.cliffc.aa.HM.HM.Lambda.

Definition at line 365 of file HM.java.

365 {} // Add affected neighbors to worklist

Referenced by com.cliffc.aa.HM.HM.hm().

Here is the caller graph for this function:

◆ debug_find()

T2 com.cliffc.aa.HM.HM.Syntax.debug_find ( )
packageinherited

Definition at line 348 of file HM.java.

348 { return _hmt.debug_find(); } // Find, without the roll-up

References com.cliffc.aa.HM.HM.Syntax._hmt, and com.cliffc.aa.HM.HM.T2.debug_find().

Referenced by com.cliffc.aa.HM.HM.hm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find()

◆ hm()

boolean com.cliffc.aa.HM.HM.Struct.hm ( Worklist  work)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 817 of file HM.java.

817  {
818  boolean progress = false, must_alloc=false;
819 
820  // Force result to be a struct with at least these fields.
821  // Do not allocate a T2 unless we need to pick up fields.
822  T2 rec = find();
823  if( rec.is_err() ) return false;
824  for( String id : _ids )
825  if( Util.find(rec._ids, id) == -1 )
826  { must_alloc = true; break; }
827  if( must_alloc ) { // Must allocate.
828  if( work==null ) return true; // Will progress
829  T2[] t2s = new T2[_ids.length];
830  for( int i=0; i<_ids.length; i++ )
831  t2s[i] = _flds[i].find();
832  T2.make_struct(BitsAlias.make0(_alias),_ids,t2s).unify(rec,work);
833  rec=find();
834  progress = true;
835  }
836 
837  // Extra fields are unified with ERR since they are not created here:
838  // error to load from a non-existing field
839  for( int i=0; i<rec._ids.length; i++ ) {
840  if( Util.find(_ids,rec._ids[i])== -1 && !rec.args(i).is_err() ) {
841  if( work==null ) return true;
842  progress |= rec.args(i).unify(find().miss_field(rec._ids[i]),work);
843  }
844  }
845 
846  // Unify existing fields. Ignore extras on either side.
847  for( int i=0; i<_ids.length; i++ ) {
848  int idx = Util.find(rec._ids,_ids[i]);
849  if( idx!= -1 ) progress |= rec.args(idx).unify(_flds[i].find(),work);
850  if( work==null && progress ) return true;
851  }
852  rec.push_update(this);
853 
854  return progress;
855  }

References com.cliffc.aa.HM.HM.Struct._alias, com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.HM.HM.T2._ids, com.cliffc.aa.HM.HM.T2.args(), com.cliffc.aa.util.Util.find(), com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.T2.is_err(), com.cliffc.aa.type.BitsAlias.make0(), com.cliffc.aa.HM.HM.T2.make_struct(), com.cliffc.aa.HM.HM.T2.push_update(), and com.cliffc.aa.HM.HM.T2.unify().

Here is the call graph for this function:

◆ more_work()

boolean com.cliffc.aa.HM.HM.Struct.more_work ( Worklist  work)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 880 of file HM.java.

880  {
881  if( !more_work_impl(work) ) return false;
882  for( Syntax fld : _flds )
883  if( !fld.more_work(work) )
884  return false;
885  return true;
886  }

References com.cliffc.aa.HM.HM.Struct._flds, and com.cliffc.aa.HM.HM.Syntax.more_work_impl().

Here is the call graph for this function:

◆ more_work_impl()

final boolean com.cliffc.aa.HM.HM.Syntax.more_work_impl ( Worklist  work)
packageinherited

Definition at line 381 of file HM.java.

381  {
382  if( work.has(this) ) return true;
383  if( DO_HM && hm(null) ) // Any more HM work?
384  return false; // Found HM work not on worklist
385  if( DO_GCP && val(null)!=_flow )
386  return false; // Found GCP work not on worklist
387  return true;
388  }

References com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.DO_GCP, com.cliffc.aa.HM.HM.DO_HM, com.cliffc.aa.HM.HM.Worklist.has(), com.cliffc.aa.HM.HM.Syntax.hm(), and com.cliffc.aa.HM.HM.Syntax.val().

Referenced by com.cliffc.aa.HM.HM.Con.more_work(), com.cliffc.aa.HM.HM.Ident.more_work(), com.cliffc.aa.HM.HM.Lambda.more_work(), com.cliffc.aa.HM.HM.Let.more_work(), com.cliffc.aa.HM.HM.Apply.more_work(), com.cliffc.aa.HM.HM.Struct.more_work(), com.cliffc.aa.HM.HM.Field.more_work(), and com.cliffc.aa.HM.HM.PrimSyn.more_work().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ p()

String com.cliffc.aa.HM.HM.Syntax.p ( )
inherited

Definition at line 393 of file HM.java.

393 { return p0(new SB(), new VBitSet()).toString(); }

References com.cliffc.aa.HM.HM.Syntax.p0(), and com.cliffc.aa.util.SB.toString().

Here is the call graph for this function:

◆ p0()

final SB com.cliffc.aa.HM.HM.Syntax.p0 ( SB  sb,
VBitSet  dups 
)
packageinherited

Definition at line 394 of file HM.java.

394  {
395  _hmt.get_dups(dups);
396  VBitSet visit = new VBitSet();
397  p1(sb.i());
398  if( DO_HM ) _hmt .str(sb.p(", HM="), visit,dups);
399  if( DO_GCP ) _flow.str(sb.p(", CCP="),visit.clr(),null,false);
400  sb.nl();
401  return p2(sb.ii(1),dups).di(1);
402  }

References com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Syntax._hmt, com.cliffc.aa.util.VBitSet.clr(), com.cliffc.aa.util.SB.di(), com.cliffc.aa.HM.HM.DO_GCP, com.cliffc.aa.HM.HM.DO_HM, com.cliffc.aa.HM.HM.T2.get_dups(), com.cliffc.aa.util.SB.i(), com.cliffc.aa.util.SB.ii(), com.cliffc.aa.util.SB.nl(), com.cliffc.aa.util.SB.p(), com.cliffc.aa.HM.HM.Syntax.p1(), com.cliffc.aa.HM.HM.Syntax.p2(), com.cliffc.aa.type.Type< T extends Type< T >.str(), and com.cliffc.aa.HM.HM.T2.str().

Referenced by com.cliffc.aa.HM.HM.Syntax.p(), com.cliffc.aa.HM.HM.Lambda.p2(), com.cliffc.aa.HM.HM.Let.p2(), com.cliffc.aa.HM.HM.Apply.p2(), com.cliffc.aa.HM.HM.Struct.p2(), and com.cliffc.aa.HM.HM.Field.p2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ p1()

SB com.cliffc.aa.HM.HM.Struct.p1 ( SB  sb)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 811 of file HM.java.

811 { return sb.p("@{").p(_alias).p(" ... } "); }

References com.cliffc.aa.HM.HM.Struct._alias, and com.cliffc.aa.util.SB.p().

Here is the call graph for this function:

◆ p2()

SB com.cliffc.aa.HM.HM.Struct.p2 ( SB  sb,
VBitSet  dups 
)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 812 of file HM.java.

812  {
813  for( int i=0; i<_ids.length; i++ )
814  _flds[i].p0(sb.i().p(_ids[i]).p(" = ").nl(),dups);
815  return sb;
816  }

References com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.util.SB.i(), com.cliffc.aa.util.SB.nl(), com.cliffc.aa.util.SB.p(), and com.cliffc.aa.HM.HM.Syntax.p0().

Here is the call graph for this function:

◆ prep_lookup_deps()

void com.cliffc.aa.HM.HM.Syntax.prep_lookup_deps ( Ident  id)
packageinherited

Reimplemented in com.cliffc.aa.HM.HM.Let, and com.cliffc.aa.HM.HM.Lambda.

Definition at line 377 of file HM.java.

377 {}

◆ prep_tree()

int com.cliffc.aa.HM.HM.Struct.prep_tree ( Syntax  par,
VStack  nongen,
Worklist  work 
)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 870 of file HM.java.

870  {
871  T2[] t2s = new T2[_ids.length];
872  prep_tree_impl(par, nongen, work, T2.make_struct(BitsAlias.make0(_alias),_ids,t2s));
873  int cnt = 1; // One for self
874  for( int i=0; i<_flds.length; i++ ) { // Prep all sub-fields
875  cnt += _flds[i].prep_tree(this,nongen,work);
876  t2s[i] = _flds[i].find();
877  }
878  return cnt;
879  }

References com.cliffc.aa.HM.HM.Struct._alias, com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.type.BitsAlias.make0(), com.cliffc.aa.HM.HM.T2.make_struct(), com.cliffc.aa.HM.HM.Syntax.prep_tree(), and com.cliffc.aa.HM.HM.Syntax.prep_tree_impl().

Here is the call graph for this function:

◆ prep_tree_impl()

final void com.cliffc.aa.HM.HM.Syntax.prep_tree_impl ( Syntax  par,
VStack  nongen,
Worklist  work,
T2  t 
)
packageinherited

Definition at line 370 of file HM.java.

370  {
371  _par = par;
372  _hmt = t;
373  _flow= Type.XSCALAR;
374  _nongen = nongen;
375  work.push(this);
376  }

References com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Syntax._hmt, com.cliffc.aa.HM.HM.Syntax._nongen, com.cliffc.aa.HM.HM.Syntax._par, com.cliffc.aa.HM.HM.Worklist.push(), and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.

Referenced by com.cliffc.aa.HM.HM.Con.prep_tree(), com.cliffc.aa.HM.HM.Ident.prep_tree(), com.cliffc.aa.HM.HM.Lambda.prep_tree(), com.cliffc.aa.HM.HM.Let.prep_tree(), com.cliffc.aa.HM.HM.Apply.prep_tree(), com.cliffc.aa.HM.HM.Struct.prep_tree(), com.cliffc.aa.HM.HM.Field.prep_tree(), and com.cliffc.aa.HM.HM.PrimSyn.prep_tree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ str()

SB com.cliffc.aa.HM.HM.Struct.str ( SB  sb)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 802 of file HM.java.

802  {
803  sb.p("@{").p(_alias);
804  for( int i=0; i<_ids.length; i++ ) {
805  sb.p(' ').p(_ids[i]).p(" = ");
806  _flds[i].str(sb);
807  if( i < _ids.length-1 ) sb.p(',');
808  }
809  return sb.p("}");
810  }

References com.cliffc.aa.HM.HM.Struct._alias, com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.util.SB.p(), and com.cliffc.aa.HM.HM.Syntax.str().

Here is the call graph for this function:

◆ toString()

final String com.cliffc.aa.HM.HM.Syntax.toString ( )
inherited

Definition at line 390 of file HM.java.

390 { return str(new SB()).toString(); }

References com.cliffc.aa.HM.HM.Syntax.str(), and com.cliffc.aa.util.SB.toString().

Referenced by com.cliffc.aa.HM.HM.Lambda.p1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ val()

Type com.cliffc.aa.HM.HM.Struct.val ( Worklist  work)
package

Reimplemented from com.cliffc.aa.HM.HM.Syntax.

Definition at line 860 of file HM.java.

860  {
861  TypeFld[] ts = TypeFlds.get(_flds.length+1);
862  ts[0] = TypeFld.NO_DISP;
863  for( int i=0; i<_flds.length; i++ )
864  ts[i+1] = TypeFld.make(_ids[i],_flds[i]._flow,Access.Final,i+1);
865  TypeStruct tstr = TypeStruct.make(ts);
866  TypeStruct t2 = tstr.approx(1,_alias);
867  return TypeMemPtr.make(_alias,t2);
868  }

References com.cliffc.aa.HM.HM.Struct._alias, com.cliffc.aa.HM.HM.Struct._flds, com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Struct._ids, com.cliffc.aa.type.TypeStruct.approx(), com.cliffc.aa.type.TypeFld.Access.Final, com.cliffc.aa.type.TypeFlds.get(), com.cliffc.aa.type.TypeFld.make(), com.cliffc.aa.type.TypeMemPtr.make(), com.cliffc.aa.type.TypeStruct.make(), and com.cliffc.aa.type.TypeFld.NO_DISP.

Here is the call graph for this function:

Member Data Documentation

◆ _alias

◆ _flds

◆ _flow

◆ _hmt

T2 com.cliffc.aa.HM.HM.Syntax._hmt
packageinherited

Definition at line 343 of file HM.java.

Referenced by com.cliffc.aa.HM.HM.Syntax.debug_find(), com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.hm(), com.cliffc.aa.HM.HM.Syntax.p0(), com.cliffc.aa.HM.HM.Let.prep_tree(), com.cliffc.aa.HM.HM.PrimSyn.prep_tree(), com.cliffc.aa.HM.HM.Syntax.prep_tree_impl(), com.cliffc.aa.HM.HM.PrimSyn.PrimSyn(), com.cliffc.aa.HM.TestHM.run(), com.cliffc.aa.HM.TestHM9.run(), com.cliffc.aa.HM.TestHM.test05(), com.cliffc.aa.HM.TestHM9.test05(), com.cliffc.aa.HM.TestHM.test06(), com.cliffc.aa.HM.TestHM9.test06(), com.cliffc.aa.HM.TestHM.test14(), com.cliffc.aa.HM.TestHM9.test14(), com.cliffc.aa.HM.TestHM.test18(), com.cliffc.aa.HM.TestHM9.test18(), com.cliffc.aa.HM.TestHM.test20(), com.cliffc.aa.HM.TestHM9.test20(), com.cliffc.aa.HM.TestHM9.test32(), com.cliffc.aa.HM.TestHM.test32(), com.cliffc.aa.HM.TestHM9.test33(), com.cliffc.aa.HM.TestHM.test33(), com.cliffc.aa.HM.TestHM9.test34(), com.cliffc.aa.HM.TestHM.test34(), com.cliffc.aa.HM.TestHM9.test36(), com.cliffc.aa.HM.TestHM.test36(), com.cliffc.aa.HM.TestHM.test39(), com.cliffc.aa.HM.TestHM9.test39(), com.cliffc.aa.HM.TestHM.test40(), com.cliffc.aa.HM.TestHM9.test40(), com.cliffc.aa.HM.TestHM.test41(), com.cliffc.aa.HM.TestHM9.test41(), com.cliffc.aa.HM.TestHM.test42(), com.cliffc.aa.HM.TestHM9.test42(), com.cliffc.aa.HM.TestHM.test43(), com.cliffc.aa.HM.TestHM9.test43(), com.cliffc.aa.HM.TestHM.test44(), com.cliffc.aa.HM.TestHM9.test44(), com.cliffc.aa.HM.TestHM.test45(), com.cliffc.aa.HM.TestHM9.test45(), com.cliffc.aa.HM.TestHM.test49(), com.cliffc.aa.HM.TestHM9.test49(), com.cliffc.aa.HM.TestHM.test50(), com.cliffc.aa.HM.TestHM9.test50(), com.cliffc.aa.HM.TestHM.test51(), com.cliffc.aa.HM.TestHM.test52(), com.cliffc.aa.HM.TestHM.test55(), com.cliffc.aa.HM.TestHM.test56(), and com.cliffc.aa.HM.TestHM.test57().

◆ _ids

◆ _nongen

VStack com.cliffc.aa.HM.HM.Syntax._nongen
packageinherited

◆ _par


The documentation for this class was generated from the following file:
com.cliffc.aa.HM.HM.Struct._flds
final Syntax[] _flds
Definition: HM.java:795
com.cliffc.aa.type.TypeFld.Access.Final
Final
Definition: TypeFld.java:112
com.cliffc.aa.type.TypeFlds.get
TypeFld[] get()
Definition: TypeFlds.java:59
com.cliffc.aa.HM.HM.Syntax.find
T2 find()
Definition: HM.java:344
com.cliffc.aa.util.Util.find
static int find(int[] es, int e)
Definition: Util.java:6
com.cliffc.aa.util.SB.ii
SB ii(int i)
Definition: SB.java:44
com.cliffc.aa.util.SB.di
SB di(int i)
Definition: SB.java:46
com.cliffc.aa.HM.HM.Syntax.hm
abstract boolean hm(Worklist work)
com.cliffc.aa.type.TypeFld
Definition: TypeFld.java:12
com.cliffc.aa.type.Type.XSCALAR
static final Type XSCALAR
Definition: Type.java:329
com.cliffc.aa.HM.HM.Syntax.val
abstract Type val(Worklist work)
com.cliffc.aa.type.Type
an implementation of language AA
Definition: Type.java:94
com.cliffc.aa.type.BitsAlias
Definition: BitsAlias.java:8
com.cliffc.aa.HM.HM.Syntax.p2
abstract SB p2(SB sb, VBitSet dups)
com.cliffc.aa.type.TypeFld.NO_DISP
static final TypeFld NO_DISP
Definition: TypeFld.java:170
com.cliffc.aa.util.VBitSet.clr
VBitSet clr()
Definition: VBitSet.java:9
com.cliffc.aa.type.TypeFlds
Definition: TypeFlds.java:8
com.cliffc.aa.HM.HM.Syntax._flow
Type _flow
Definition: HM.java:351
com.cliffc.aa.type.BitsAlias.new_alias
static int new_alias(int par)
Definition: BitsAlias.java:75
com.cliffc.aa.type.TypeStruct
A memory-based collection of optionally named fields.
Definition: TypeStruct.java:50
com.cliffc.aa.type.TypeFld.make
static TypeFld make(String fld, Type t, int order)
Definition: TypeFld.java:58
com.cliffc.aa.type.Type.str
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
Definition: Type.java:131
com.cliffc.aa.HM.HM.DO_HM
static final boolean DO_HM
Definition: HM.java:91
com.cliffc.aa.type.BitsAlias.REC
static final int REC
Definition: BitsAlias.java:25
com.cliffc.aa.HM.HM.Syntax._par
Syntax _par
Definition: HM.java:341
com.cliffc.aa.HM.HM.Syntax.p1
abstract SB p1(SB sb)
com.cliffc.aa.HM.HM.Syntax.p0
final SB p0(SB sb, VBitSet dups)
Definition: HM.java:394
com.cliffc.aa.HM.HM.Struct._ids
final String[] _ids
Definition: HM.java:794
com.cliffc.aa.HM.HM.Syntax._nongen
VStack _nongen
Definition: HM.java:342
com.cliffc.aa.HM.HM.Syntax._hmt
T2 _hmt
Definition: HM.java:343
com.cliffc.aa.util.Util
Definition: Util.java:5
com.cliffc.aa.HM.HM.Struct._alias
final int _alias
Definition: HM.java:793
com.cliffc.aa.HM.HM.Syntax.more_work_impl
final boolean more_work_impl(Worklist work)
Definition: HM.java:381
com.cliffc.aa.HM.HM.Syntax.prep_tree_impl
final void prep_tree_impl(Syntax par, VStack nongen, Worklist work, T2 t)
Definition: HM.java:370
com.cliffc.aa.HM.HM.T2.unify
boolean unify(T2 that, Worklist work)
Definition: HM.java:1604
com.cliffc.aa.util.VBitSet
Definition: VBitSet.java:5
com.cliffc.aa.HM.HM.Syntax.str
abstract SB str(SB sb)
com.cliffc.aa.util.SB
Tight/tiny StringBuilder wrapper.
Definition: SB.java:8
com.cliffc.aa.type.TypeStruct.approx
TypeStruct approx(int cutoff, int alias)
Definition: TypeStruct.java:477
com.cliffc.aa.util.SB.nl
SB nl()
Definition: SB.java:48
com.cliffc.aa.type.BitsAlias.make0
static BitsAlias make0(int bit)
Definition: BitsAlias.java:72
com.cliffc.aa.util.SB.p
SB p(String s)
Definition: SB.java:13
com.cliffc.aa.HM.HM.Syntax.prep_tree
abstract int prep_tree(Syntax par, VStack nongen, Worklist work)
com.cliffc.aa.HM.HM.DO_GCP
static final boolean DO_GCP
Definition: HM.java:92
com.cliffc.aa.HM.HM.T2.find
T2 find()
Definition: HM.java:1374
com.cliffc.aa.HM.HM.T2.make_struct
static T2 make_struct(BitsAlias aliases, String[] ids, T2[] flds)
Definition: HM.java:1325
com.cliffc.aa.type.TypeStruct.make
static TypeStruct make(String fld_name, Type t)
Definition: TypeStruct.java:190
com.cliffc.aa.util.SB.i
SB i(int d)
Definition: SB.java:38
com.cliffc.aa.type.TypeFld.Access
Definition: TypeFld.java:109
com.cliffc.aa.HM.HM.T2.get_dups
VBitSet get_dups(VBitSet dups)
Definition: HM.java:2148
com.cliffc.aa.HM.HM.T2.str
SB str(SB sb, VBitSet visit, VBitSet dups)
Definition: HM.java:2163
com.cliffc.aa.util.SB.toString
String toString()
Definition: SB.java:62
com.cliffc.aa.type.TypeMemPtr
Definition: TypeMemPtr.java:14
com.cliffc.aa.HM.HM.T2.debug_find
T2 debug_find()
Definition: HM.java:1364
com.cliffc.aa.type.TypeMemPtr.make
static TypeMemPtr make(BitsAlias aliases, TypeObj obj)
Definition: TypeMemPtr.java:66