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 |
Private Member Functions | |
T2 | is_if_nil () |
Static Private Member Functions | |
static Type | add_sig (Type t) |
static Type | xval (TypeFunPtr fun) |
Static Private Attributes | |
static final HashMap< T2, Type > | T2MAP = new HashMap<>() |
static final NonBlockingHashMapLong< String > | WDUPS = new NonBlockingHashMapLong<>() |
|
package |
|
package |
Definition at line 759 of file HM9.java.
References com.cliffc.aa.type.TypeFunSig.make(), com.cliffc.aa.type.TypeTuple.make_args(), com.cliffc.aa.type.TypeTuple.make_ret(), and com.cliffc.aa.HM.HM9.Root.xval().
Referenced by com.cliffc.aa.HM.HM9.Root.flow_type().
Reimplemented from com.cliffc.aa.HM.HM9.Syntax.
Definition at line 687 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._args, com.cliffc.aa.HM.HM9.Lambda._body, com.cliffc.aa.HM.HM9.T2._deps, com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Apply._fun, com.cliffc.aa.HM.HM9.Lambda._types, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.HM.HM9.Worklist.addAll(), com.cliffc.aa.HM.HM9.Syntax.find(), com.cliffc.aa.HM.HM9.Lambda.FUNS, com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.HM.HM9.Worklist.push(), com.cliffc.aa.HM.HM9.T2.push_update(), com.cliffc.aa.HM.HM9.Lambda.targ(), and com.cliffc.aa.HM.HM9.Root.widen().
Referenced by com.cliffc.aa.HM.HM9.Root.val().
|
packageinherited |
Definition at line 329 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._hmt, and com.cliffc.aa.HM.HM9.T2.debug_find().
Referenced by com.cliffc.aa.HM.HM9.hm().
|
packageinherited |
Definition at line 325 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._hmt, and com.cliffc.aa.HM.HM9.T2.find().
Referenced by com.cliffc.aa.HM.HM9.Lambda.add_hm_work(), com.cliffc.aa.HM.HM9.Let.add_hm_work(), com.cliffc.aa.HM.HM9.PrimSyn.add_hm_work(), com.cliffc.aa.HM.HM9.Lambda.add_val_work(), com.cliffc.aa.HM.HM9.Let.add_val_work(), com.cliffc.aa.HM.HM9.Apply.add_val_work(), com.cliffc.aa.HM.HM9.Pair1.Pair1X.apply(), com.cliffc.aa.HM.HM9.Ident.hm(), com.cliffc.aa.HM.HM9.Lambda.hm(), com.cliffc.aa.HM.HM9.Apply.hm(), com.cliffc.aa.HM.HM9.Root.hm(), com.cliffc.aa.HM.HM9.Struct.hm(), com.cliffc.aa.HM.HM9.Field.hm(), com.cliffc.aa.HM.HM9.PrimSyn.hm(), com.cliffc.aa.HM.HM9.If.hm(), com.cliffc.aa.HM.HM9.NotNil.hm(), com.cliffc.aa.HM.HM9.Apply.is_if_nil(), com.cliffc.aa.HM.HM9.Let.prep_tree(), com.cliffc.aa.HM.HM9.Struct.prep_tree(), com.cliffc.aa.HM.HM9.NotNil.prep_tree(), com.cliffc.aa.HM.HM9.Apply.val(), and com.cliffc.aa.HM.HM9.T2.walk_types_in().
|
package |
Definition at line 757 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._flow, and com.cliffc.aa.HM.HM9.Root.add_sig().
|
package |
Reimplemented from com.cliffc.aa.HM.HM9.Apply.
Definition at line 738 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._fun, com.cliffc.aa.HM.HM9.Syntax.find(), and com.cliffc.aa.HM.HM9.T2.unify().
|
privateinherited |
Definition at line 729 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._args, com.cliffc.aa.HM.HM9.Apply._fun, and com.cliffc.aa.HM.HM9.Syntax.find().
Referenced by com.cliffc.aa.HM.HM9.Apply.hm(), and com.cliffc.aa.HM.HM9.Apply.prep_tree().
|
packageinherited |
Reimplemented from com.cliffc.aa.HM.HM9.Syntax.
Definition at line 722 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._args, com.cliffc.aa.HM.HM9.Apply._fun, com.cliffc.aa.HM.HM9.Syntax.more_work(), and com.cliffc.aa.HM.HM9.Syntax.more_work_impl().
Referenced by com.cliffc.aa.HM.HM9.hm().
|
packageinherited |
Definition at line 362 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.DO_GCP, com.cliffc.aa.HM.HM9.DO_HM, com.cliffc.aa.HM.HM9.Worklist.has(), com.cliffc.aa.HM.HM9.Syntax.hm(), and com.cliffc.aa.HM.HM9.Syntax.val().
Referenced by com.cliffc.aa.HM.HM9.Con.more_work(), com.cliffc.aa.HM.HM9.Ident.more_work(), com.cliffc.aa.HM.HM9.Lambda.more_work(), com.cliffc.aa.HM.HM9.Let.more_work(), com.cliffc.aa.HM.HM9.Apply.more_work(), com.cliffc.aa.HM.HM9.Struct.more_work(), com.cliffc.aa.HM.HM9.Field.more_work(), and com.cliffc.aa.HM.HM9.PrimSyn.more_work().
|
inherited |
Definition at line 374 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax.p0(), and com.cliffc.aa.util.SB.toString().
Definition at line 375 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Syntax._hmt, com.cliffc.aa.util.VBitSet.clr(), com.cliffc.aa.util.SB.di(), com.cliffc.aa.HM.HM9.DO_GCP, com.cliffc.aa.HM.HM9.DO_HM, com.cliffc.aa.HM.HM9.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.HM9.Syntax.p1(), com.cliffc.aa.HM.HM9.Syntax.p2(), com.cliffc.aa.type.Type< T extends Type< T >.str(), and com.cliffc.aa.HM.HM9.T2.str().
Referenced by com.cliffc.aa.HM.HM9.Syntax.p(), com.cliffc.aa.HM.HM9.Lambda.p2(), com.cliffc.aa.HM.HM9.Let.p2(), com.cliffc.aa.HM.HM9.Apply.p2(), com.cliffc.aa.HM.HM9.Struct.p2(), and com.cliffc.aa.HM.HM9.Field.p2().
Reimplemented from com.cliffc.aa.HM.HM9.Syntax.
Definition at line 591 of file HM9.java.
References com.cliffc.aa.util.SB.p().
Reimplemented from com.cliffc.aa.HM.HM9.Syntax.
Definition at line 592 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._args, com.cliffc.aa.HM.HM9.Apply._fun, and com.cliffc.aa.HM.HM9.Syntax.p0().
|
packageinherited |
Reimplemented in com.cliffc.aa.HM.HM9.Let, and com.cliffc.aa.HM.HM9.Lambda.
|
packageinherited |
Reimplemented from com.cliffc.aa.HM.HM9.Syntax.
Definition at line 714 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._args, com.cliffc.aa.HM.HM9.Apply._fun, com.cliffc.aa.HM.HM9.Apply.is_if_nil(), com.cliffc.aa.HM.HM9.T2.make_leaf(), com.cliffc.aa.HM.HM9.Syntax.prep_tree(), com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl(), and com.cliffc.aa.HM.HM9.Apply.str().
Referenced by com.cliffc.aa.HM.HM9.hm().
|
packageinherited |
Definition at line 351 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Syntax._hmt, com.cliffc.aa.HM.HM9.Syntax._nongen, com.cliffc.aa.HM.HM9.Syntax._par, com.cliffc.aa.HM.HM9.Worklist.push(), and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.
Referenced by com.cliffc.aa.HM.HM9.Con.prep_tree(), com.cliffc.aa.HM.HM9.Ident.prep_tree(), com.cliffc.aa.HM.HM9.Lambda.prep_tree(), com.cliffc.aa.HM.HM9.Let.prep_tree(), com.cliffc.aa.HM.HM9.Apply.prep_tree(), com.cliffc.aa.HM.HM9.Struct.prep_tree(), com.cliffc.aa.HM.HM9.Field.prep_tree(), and com.cliffc.aa.HM.HM9.PrimSyn.prep_tree().
Reimplemented from com.cliffc.aa.HM.HM9.Apply.
Definition at line 737 of file HM9.java.
References com.cliffc.aa.HM.HM9.Apply._fun, and com.cliffc.aa.HM.HM9.Syntax.str().
|
inherited |
Definition at line 371 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax.str(), and com.cliffc.aa.util.SB.toString().
Referenced by com.cliffc.aa.HM.HM9.Lambda.p1().
Reimplemented from com.cliffc.aa.HM.HM9.Apply.
Definition at line 749 of file HM9.java.
References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Apply._fun, and com.cliffc.aa.HM.HM9.Apply.add_val_work().
Definition at line 742 of file HM9.java.
References com.cliffc.aa.HM.HM9.T2.as_flow().
Referenced by com.cliffc.aa.HM.HM9.Apply.add_val_work(), and com.cliffc.aa.HM.HM9.Pair1.Pair1X.apply().
|
staticprivate |
Definition at line 743 of file HM9.java.
References com.cliffc.aa.type.TypeFunPtr._fidxs, com.cliffc.aa.HM.HM9.Lambda.FUNS, com.cliffc.aa.type.Type< T extends Type< T >.meet(), and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.
Referenced by com.cliffc.aa.HM.HM9.Root.add_sig().
|
packageinherited |
Definition at line 583 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Apply.add_hm_work(), com.cliffc.aa.HM.HM9.Apply.add_val_work(), com.cliffc.aa.HM.HM9.Apply.Apply(), com.cliffc.aa.HM.HM9.Apply.hm(), com.cliffc.aa.HM.HM9.Apply.is_if_nil(), com.cliffc.aa.HM.HM9.Apply.more_work(), com.cliffc.aa.HM.HM9.Apply.p2(), com.cliffc.aa.HM.HM9.Apply.prep_tree(), com.cliffc.aa.HM.HM9.Apply.str(), and com.cliffc.aa.HM.HM9.Apply.val().
|
packageinherited |
Definition at line 332 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Apply.add_val_work(), com.cliffc.aa.HM.HM9.Lambda.apply(), com.cliffc.aa.HM.HM9.Pair1.apply(), com.cliffc.aa.HM.HM9.Pair1.Pair1X.apply(), com.cliffc.aa.HM.HM9.Pair.apply(), com.cliffc.aa.HM.HM9.Triple.apply(), com.cliffc.aa.HM.HM9.If.apply(), com.cliffc.aa.HM.HM9.EQ.apply(), com.cliffc.aa.HM.HM9.EQ0.apply(), com.cliffc.aa.HM.HM9.IsEmpty.apply(), com.cliffc.aa.HM.HM9.NotNil.apply(), com.cliffc.aa.HM.HM9.Mul.apply(), com.cliffc.aa.HM.HM9.Dec.apply(), com.cliffc.aa.HM.HM9.Str.apply(), com.cliffc.aa.HM.HM9.Factor.apply(), com.cliffc.aa.HM.HM9.Root.flow_type(), com.cliffc.aa.HM.HM9.hm(), com.cliffc.aa.HM.HM9.Lambda.Lambda(), com.cliffc.aa.HM.HM9.Syntax.more_work_impl(), com.cliffc.aa.HM.HM9.Syntax.p0(), com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl(), com.cliffc.aa.HM.HM9.Ident.val(), com.cliffc.aa.HM.HM9.Let.val(), com.cliffc.aa.HM.HM9.Apply.val(), com.cliffc.aa.HM.HM9.Root.val(), com.cliffc.aa.HM.HM9.Struct.val(), com.cliffc.aa.HM.HM9.Field.val(), and com.cliffc.aa.HM.HM9.T2.walk_types_in().
|
packageinherited |
Definition at line 582 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Apply.add_val_work(), com.cliffc.aa.HM.HM9.Apply.Apply(), com.cliffc.aa.HM.HM9.Apply.hm(), com.cliffc.aa.HM.HM9.Root.hm(), com.cliffc.aa.HM.HM9.Apply.is_if_nil(), com.cliffc.aa.HM.HM9.Apply.more_work(), com.cliffc.aa.HM.HM9.Apply.p2(), com.cliffc.aa.HM.HM9.Apply.prep_tree(), com.cliffc.aa.HM.HM9.Apply.str(), com.cliffc.aa.HM.HM9.Root.str(), com.cliffc.aa.HM.HM9.Apply.val(), and com.cliffc.aa.HM.HM9.Root.val().
|
packageinherited |
Definition at line 324 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Syntax.debug_find(), com.cliffc.aa.HM.HM9.Syntax.find(), com.cliffc.aa.HM.HM9.hm(), com.cliffc.aa.HM.HM9.Syntax.p0(), com.cliffc.aa.HM.HM9.Let.prep_tree(), com.cliffc.aa.HM.HM9.PrimSyn.prep_tree(), com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl(), and com.cliffc.aa.HM.HM9.PrimSyn.PrimSyn().
|
packageinherited |
Definition at line 323 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Ident.add_hm_work(), com.cliffc.aa.HM.HM9.Ident.hm(), and com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl().
|
packageinherited |
Definition at line 322 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Ident.add_hm_work(), com.cliffc.aa.HM.HM9.Lambda.add_hm_work(), com.cliffc.aa.HM.HM9.Let.add_hm_work(), com.cliffc.aa.HM.HM9.Apply.add_hm_work(), com.cliffc.aa.HM.HM9.Struct.add_hm_work(), com.cliffc.aa.HM.HM9.Field.add_hm_work(), com.cliffc.aa.HM.HM9.PrimSyn.add_hm_work(), com.cliffc.aa.HM.HM9.hm(), com.cliffc.aa.HM.HM9.Ident.prep_tree(), and com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl().
Definition at line 653 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.T2.fput(), com.cliffc.aa.HM.HM9.Apply.val(), and com.cliffc.aa.HM.HM9.T2.walk_types_out().
|
staticprivateinherited |
Definition at line 654 of file HM9.java.
Referenced by com.cliffc.aa.HM.HM9.Apply.val(), and com.cliffc.aa.HM.HM9.T2.walk_types_in().