aa
|
Public Member Functions | |
String | p () |
final String | toString () |
Package Functions | |
Root (Syntax body) | |
void | add_hm_work (Worklist work) |
void | add_val_work (Syntax child, Worklist work) |
T2 | debug_find () |
T2 | find () |
Type | flow_type () |
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) |
Static Package Functions | |
static Type | widen (T2 t2) |
Package Attributes | |
final Syntax[] | _args |
Type | _flow |
final Syntax | _fun |
T2 | _hmt |
VStack | _nongen |
Syntax | _par |
Static Package Attributes | |
static final Syntax[] | NARGS = new Syntax[0] |
Static Private Member Functions | |
static Type | add_sig (Type t) |
Static Private Attributes | |
static final HashMap< T2, Type > | T2MAP = new HashMap<>() |
static final NonBlockingHashMapLong< String > | WDUPS = new NonBlockingHashMapLong<>() |
|
package |
|
package |
Definition at line 776 of file HM.java.
References com.cliffc.aa.type.TypeFunPtr._fidxs, com.cliffc.aa.HM.HM.Lambda.FUNS, com.cliffc.aa.type.TypeFunSig.make(), com.cliffc.aa.type.TypeTuple.make_args(), com.cliffc.aa.type.TypeTuple.make_ret(), com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.HM.HM.Root.NARGS, and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.
Referenced by com.cliffc.aa.HM.HM.Root.flow_type().
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Definition at line 693 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Lambda._body, com.cliffc.aa.HM.HM.T2._deps, com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.Lambda._types, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.HM.HM.Worklist.addAll(), com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.Lambda.FUNS, com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.HM.HM.Worklist.push(), com.cliffc.aa.HM.HM.T2.push_update(), com.cliffc.aa.HM.HM.Lambda.targ(), and com.cliffc.aa.HM.HM.Root.widen().
|
packageinherited |
Definition at line 348 of file HM.java.
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().
|
packageinherited |
Definition at line 344 of file HM.java.
References com.cliffc.aa.HM.HM.Syntax._hmt, and com.cliffc.aa.HM.HM.T2.find().
Referenced by com.cliffc.aa.HM.HM.Lambda.add_hm_work(), com.cliffc.aa.HM.HM.Let.add_hm_work(), com.cliffc.aa.HM.HM.PrimSyn.add_hm_work(), com.cliffc.aa.HM.HM.Lambda.add_val_work(), com.cliffc.aa.HM.HM.Let.add_val_work(), com.cliffc.aa.HM.HM.Apply.add_val_work(), com.cliffc.aa.HM.HM.Pair1.Pair1X.apply(), com.cliffc.aa.HM.HM.Ident.hm(), com.cliffc.aa.HM.HM.Lambda.hm(), com.cliffc.aa.HM.HM.Apply.hm(), com.cliffc.aa.HM.HM.Root.hm(), com.cliffc.aa.HM.HM.Struct.hm(), com.cliffc.aa.HM.HM.Field.hm(), com.cliffc.aa.HM.HM.PrimSyn.hm(), com.cliffc.aa.HM.HM.If.hm(), com.cliffc.aa.HM.HM.NotNil.hm(), com.cliffc.aa.HM.HM.Let.prep_tree(), com.cliffc.aa.HM.HM.Struct.prep_tree(), com.cliffc.aa.HM.HM.NotNil.prep_tree(), com.cliffc.aa.HM.HM.Apply.val(), com.cliffc.aa.HM.HM.Root.val(), and com.cliffc.aa.HM.HM.T2.walk_types_in().
|
package |
Definition at line 775 of file HM.java.
References com.cliffc.aa.HM.HM.Syntax._flow, and com.cliffc.aa.HM.HM.Root.add_sig().
Referenced by 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.TestHM.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().
|
package |
Reimplemented from com.cliffc.aa.HM.HM.Apply.
Definition at line 739 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.Syntax.find(), and com.cliffc.aa.HM.HM.T2.unify().
|
packageinherited |
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Definition at line 726 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.Syntax.more_work(), and com.cliffc.aa.HM.HM.Syntax.more_work_impl().
Referenced by com.cliffc.aa.HM.HM.hm().
|
packageinherited |
Definition at line 381 of file HM.java.
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().
|
inherited |
Definition at line 393 of file HM.java.
References com.cliffc.aa.HM.HM.Syntax.p0(), and com.cliffc.aa.util.SB.toString().
Definition at line 394 of file HM.java.
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().
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Definition at line 612 of file HM.java.
References com.cliffc.aa.util.SB.p().
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Definition at line 613 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Apply._fun, and com.cliffc.aa.HM.HM.Syntax.p0().
|
packageinherited |
Reimplemented in com.cliffc.aa.HM.HM.Let, and com.cliffc.aa.HM.HM.Lambda.
|
packageinherited |
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Definition at line 720 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.T2.make_leaf(), com.cliffc.aa.HM.HM.Syntax.prep_tree(), and com.cliffc.aa.HM.HM.Syntax.prep_tree_impl().
Referenced by com.cliffc.aa.HM.HM.hm().
|
packageinherited |
Definition at line 370 of file HM.java.
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().
Reimplemented from com.cliffc.aa.HM.HM.Apply.
Definition at line 738 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._fun, and com.cliffc.aa.HM.HM.Syntax.str().
|
inherited |
Definition at line 390 of file HM.java.
References com.cliffc.aa.HM.HM.Syntax.str(), and com.cliffc.aa.util.SB.toString().
Referenced by com.cliffc.aa.HM.HM.Lambda.p1().
Reimplemented from com.cliffc.aa.HM.HM.Apply.
Definition at line 744 of file HM.java.
References com.cliffc.aa.HM.HM.Lambda._body, com.cliffc.aa.HM.HM.T2._deps, com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.Lambda._types, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.HM.HM.Worklist.addAll(), com.cliffc.aa.type.BitsFun.EMPTY, com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.T2.find_fidxs(), com.cliffc.aa.HM.HM.Lambda.FUNS, com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.HM.HM.Worklist.push(), com.cliffc.aa.HM.HM.T2.push_update(), com.cliffc.aa.HM.HM.Lambda.targ(), and com.cliffc.aa.HM.HM.Root.widen().
Definition at line 743 of file HM.java.
References com.cliffc.aa.HM.HM.T2.as_flow().
Referenced by com.cliffc.aa.HM.HM.Apply.add_val_work(), com.cliffc.aa.HM.HM.Pair1.Pair1X.apply(), and com.cliffc.aa.HM.HM.Root.val().
|
packageinherited |
Definition at line 604 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Apply.add_hm_work(), com.cliffc.aa.HM.HM.Apply.add_val_work(), com.cliffc.aa.HM.HM.Apply.Apply(), com.cliffc.aa.HM.HM.Apply.hm(), com.cliffc.aa.HM.HM.Apply.more_work(), com.cliffc.aa.HM.HM.Apply.p2(), com.cliffc.aa.HM.HM.Apply.prep_tree(), com.cliffc.aa.HM.HM.Apply.str(), and com.cliffc.aa.HM.HM.Apply.val().
|
packageinherited |
Definition at line 351 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Apply.add_val_work(), com.cliffc.aa.HM.HM.Lambda.apply(), com.cliffc.aa.HM.HM.Pair1.apply(), com.cliffc.aa.HM.HM.Pair1.Pair1X.apply(), com.cliffc.aa.HM.HM.Pair.apply(), com.cliffc.aa.HM.HM.Triple.apply(), com.cliffc.aa.HM.HM.If.apply(), com.cliffc.aa.HM.HM.EQ.apply(), com.cliffc.aa.HM.HM.EQ0.apply(), com.cliffc.aa.HM.HM.IsEmpty.apply(), com.cliffc.aa.HM.HM.NotNil.apply(), com.cliffc.aa.HM.HM.Mul.apply(), com.cliffc.aa.HM.HM.Add.apply(), com.cliffc.aa.HM.HM.Dec.apply(), com.cliffc.aa.HM.HM.Str.apply(), com.cliffc.aa.HM.HM.Factor.apply(), com.cliffc.aa.HM.HM.Root.flow_type(), com.cliffc.aa.HM.HM.hm(), com.cliffc.aa.HM.HM.Lambda.Lambda(), com.cliffc.aa.HM.HM.Syntax.more_work_impl(), com.cliffc.aa.HM.HM.Syntax.p0(), com.cliffc.aa.HM.HM.Syntax.prep_tree_impl(), com.cliffc.aa.HM.HM.Ident.val(), com.cliffc.aa.HM.HM.Let.val(), com.cliffc.aa.HM.HM.Apply.val(), com.cliffc.aa.HM.HM.Root.val(), com.cliffc.aa.HM.HM.Struct.val(), com.cliffc.aa.HM.HM.Field.val(), and com.cliffc.aa.HM.HM.T2.walk_types_in().
|
packageinherited |
Definition at line 603 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Apply.add_val_work(), com.cliffc.aa.HM.HM.Apply.Apply(), com.cliffc.aa.HM.HM.Apply.hm(), com.cliffc.aa.HM.HM.Root.hm(), com.cliffc.aa.HM.HM.Apply.more_work(), com.cliffc.aa.HM.HM.Apply.p2(), com.cliffc.aa.HM.HM.Apply.prep_tree(), com.cliffc.aa.HM.HM.Apply.str(), com.cliffc.aa.HM.HM.Root.str(), com.cliffc.aa.HM.HM.Apply.val(), and com.cliffc.aa.HM.HM.Root.val().
|
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().
|
packageinherited |
Definition at line 342 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Ident.add_hm_work(), com.cliffc.aa.HM.HM.Ident.hm(), and com.cliffc.aa.HM.HM.Syntax.prep_tree_impl().
|
packageinherited |
Definition at line 341 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Ident.add_hm_work(), com.cliffc.aa.HM.HM.Lambda.add_hm_work(), com.cliffc.aa.HM.HM.Let.add_hm_work(), com.cliffc.aa.HM.HM.Apply.add_hm_work(), com.cliffc.aa.HM.HM.Struct.add_hm_work(), com.cliffc.aa.HM.HM.Field.add_hm_work(), com.cliffc.aa.HM.HM.PrimSyn.add_hm_work(), com.cliffc.aa.HM.HM.hm(), com.cliffc.aa.HM.HM.NotNil.hm(), com.cliffc.aa.HM.HM.Ident.prep_tree(), and com.cliffc.aa.HM.HM.Syntax.prep_tree_impl().
Definition at line 736 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Root.add_sig().
Definition at line 659 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.T2.fput(), com.cliffc.aa.HM.HM.Apply.val(), and com.cliffc.aa.HM.HM.T2.walk_types_out().
|
staticprivateinherited |
Definition at line 660 of file HM.java.
Referenced by com.cliffc.aa.HM.HM.Apply.val(), and com.cliffc.aa.HM.HM.T2.walk_types_in().