aa
|
Public Member Functions | |
String | p () |
final String | toString () |
Package Functions | |
Apply (Syntax fun, Syntax... args) | |
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 Syntax[] | _args |
Type | _flow |
final Syntax | _fun |
T2 | _hmt |
VStack | _nongen |
Syntax | _par |
Static Private Attributes | |
static final HashMap< T2, Type > | T2MAP = new HashMap<>() |
static final NonBlockingHashMapLong< String > | WDUPS = new NonBlockingHashMapLong<>() |
|
package |
Definition at line 605 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, and com.cliffc.aa.HM.HM.Apply._fun.
|
package |
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Reimplemented in com.cliffc.aa.HM.HM.Root.
Definition at line 655 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Syntax._par, and com.cliffc.aa.HM.HM.Worklist.push().
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 |
Reimplemented from com.cliffc.aa.HM.HM.Syntax.
Reimplemented in com.cliffc.aa.HM.HM.Root.
Definition at line 621 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.T2._args, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.HM.HM.T2.args(), com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.T2.find(), com.cliffc.aa.type.BitsFun.FULL, com.cliffc.aa.HM.HM.T2.is_err(), com.cliffc.aa.HM.HM.T2.is_fun(), com.cliffc.aa.HM.HM.T2.make_err(), com.cliffc.aa.HM.HM.T2.make_fun(), and com.cliffc.aa.HM.HM.T2.unify().
|
package |
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.
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.Syntax.
Reimplemented in com.cliffc.aa.HM.HM.Root.
Definition at line 606 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.util.SB.p(), com.cliffc.aa.HM.HM.Syntax.str(), and com.cliffc.aa.util.SB.unchar().
|
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.Syntax.
Reimplemented in com.cliffc.aa.HM.HM.Root.
Definition at line 661 of file HM.java.
References com.cliffc.aa.HM.HM.Apply._args, com.cliffc.aa.type.TypeFunPtr._fidxs, com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Apply._fun, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.clear(), com.cliffc.aa.HM.HM.DO_HM, com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.type.BitsFun.FULL, com.cliffc.aa.HM.HM.Lambda.FUNS, com.cliffc.aa.type.Type< T extends Type< T >.isa(), com.cliffc.aa.type.Type< T extends Type< T >.join(), com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.type.Type< T extends Type< T >.SCALAR, com.cliffc.aa.HM.HM.Apply.T2MAP, com.cliffc.aa.HM.HM.T2.walk_types_in(), com.cliffc.aa.HM.HM.T2.walk_types_out(), com.cliffc.aa.HM.HM.Apply.WDUPS, and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.
|
package |
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().
|
package |
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 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().
|
staticprivate |
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().