|
static Ary< Type > | ALL_TYPES () |
|
static boolean | eq (Type[] t0, Type[] t1) |
|
static void | init0 (HashMap< String, Type > types) |
|
static boolean | intern_check () |
|
static TypeFld | make (String fld, Type t, Access access, int order) |
|
static TypeFld | make (String fld, Type t, int order) |
|
static TypeFld | make_arg (Type t, int order) |
|
static TypeFld | make_tup (Type t, int order) |
|
static TypeFld | malloc (String fld, Type t, Access access, int order) |
|
static TypeFld | malloc (String fld, Type t, int order) |
|
|
static int | odual (int order) |
|
static int | omeet (int o0, int o1) |
|
static String | sdual (String s) |
|
static String | smeet (String s0, String s1) |
|
Definition at line 12 of file TypeFld.java.
◆ [static initializer]()
com.cliffc.aa.type.TypeFld.[static initializer] |
|
staticpackage |
◆ _set_name()
Definition at line 558 of file Type.java.
562 return t1.hashcons_free();
◆ _uid()
◆ above()
Definition at line 625 of file Type.java.
625 {
return t !=
this &&
meet(t)==t; }
◆ above_center()
◆ ALL_TYPES()
Definition at line 651 of file Type.java.
656 concat(ts,TypeFunPtr.TYPES);
657 concat(ts,TypeFunSig.TYPES);
661 concat(ts,TypeMemPtr.TYPES);
665 concat(ts,TypeStruct.TYPES);
671 for(
int i=0; i<ts.
_len; i++ )
672 for(
int j=i+1; j<ts.
_len; j++ )
◆ check_commute()
Definition at line 593 of file Type.java.
594 if( t==
this )
return true;
601 if( mt==nmt2 )
return true;
602 System.out.println(
"Meet not commutative: "+
this+
".meet("+t+
")="+mt+
",\n but "+t+
".meet("+
this+
")="+nmt2);
◆ check_name()
Definition at line 548 of file Type.java.
548 {
return n.isEmpty() || n.charAt(n.length()-1)==
':'; }
◆ check_startup()
Definition at line 684 of file Type.java.
689 for(
Type t1 : ts ) {
692 assert t0.check_symmetric(t1,mt);
699 for(
Type t2 : ts ) {
704 if( t01_2 != t0_12 && errs++ < 10 )
705 System.err.println(
"("+t0+
"&"+t1+
") & "+t2+
" == "+t0+
" & ("+t1+
" & "+t2+
"); "+
706 "("+t01 +
") & "+t2+
" == "+t0+
" & ("+t12 +
"); "+
707 t01_2 +
" == "+t0_12);
709 assert errs==0 :
"Found "+errs+
" associative errors";
714 for(
Type t1 : ts ) {
716 for(
Type t2 : ts ) {
720 if( mt != t12 && errs++ < 10 ) {
721 System.err.println(
"("+t0+
" ^ "+t2+
") = "+t02+
"; "+
722 "("+t1+
" ^ "+t2+
") = "+t12+
"; "+
723 "their meet = "+mt+
" which is not "+t12);
728 assert errs==0 :
"Found "+errs+
" non-join-type errors";
731 SCALAR_PRIMS =
new Type[] { TypeInt.INT64, TypeFlt.FLT64, TypeMemPtr.OOP0, TypeFunPtr.GENERIC_FUNPTR, TypeRPC.ALL_CALL };
◆ check_symmetric()
Definition at line 608 of file Type.java.
609 if( t==
this )
return true;
613 System.err.print(
"("+
this+
" & "+t+
")=="+mt+
" but \n("+mt.
_dual+
" & ");
614 if( ta!=t.
_dual ) System.err.println(t.
_dual+
")=="+ta+
" \nwhich is not "+t.
_dual);
615 else System.err.println(
_dual+
")=="+tb+
" \nwhich is not "+
_dual);
◆ clone()
Definition at line 304 of file Type.java.
311 if( t instanceof TypeStruct )
312 ((TypeStruct)t)._cyclic =
false;
315 catch( CloneNotSupportedException cns ) {
throw new RuntimeException(cns); }
◆ cmeet() [1/2]
void com.cliffc.aa.type.TypeFld.cmeet |
( |
TypeFld |
f | ) |
|
|
package |
◆ cmeet() [2/2]
Definition at line 93 of file TypeFld.java.
94 if( f0==
null )
return malloc(f1._fld,
null,f1._access,f1._order);
95 if( f1==
null )
return malloc(f0._fld,
null,f0._access,f0._order);
96 String fld =
smeet(f0._fld, f1._fld);
97 Access access= f0._access.meet(f1._access);
98 int order =
omeet(f0._order,f1._order);
99 return malloc(fld,
null,access,order);
References com.cliffc.aa.type.TypeFld._access, com.cliffc.aa.type.TypeFld._fld, com.cliffc.aa.type.TypeFld._order, com.cliffc.aa.type.TypeFld.malloc(), com.cliffc.aa.type.TypeFld.Access.meet(), com.cliffc.aa.type.TypeFld.omeet(), and com.cliffc.aa.type.TypeFld.smeet().
Referenced by com.cliffc.aa.type.TypeStruct.cyclic_meet().
◆ compute_hash()
int com.cliffc.aa.type.TypeFld.compute_hash |
( |
| ) |
|
◆ concat()
Definition at line 676 of file Type.java.
677 for(
Type t1 : ts1 ) {
678 assert !t1.above_center();
680 if( t1!=t1.dual() ) ts.
push(t1.dual());
◆ contains() [1/2]
◆ contains() [2/2]
◆ cross_nil()
◆ cycle_equals()
boolean com.cliffc.aa.type.TypeFld.cycle_equals |
( |
Type |
o | ) |
|
◆ dual()
◆ eq()
Definition at line 136 of file Type.java.
137 if( t0==t1 )
return true;
138 if( t0==
null || t1==
null )
return false;
139 if( t0.length != t1.length )
return false;
140 for(
int i=0; i<t0.length; i++ )
◆ equals()
boolean com.cliffc.aa.type.TypeFld.equals |
( |
Object |
o | ) |
|
◆ fld_find()
static int com.cliffc.aa.type.TypeFld.fld_find |
( |
TypeFld[] |
flds, |
|
|
String |
fld |
|
) |
| |
|
staticpackage |
◆ getd()
◆ getl()
◆ getstr()
◆ has_name()
◆ hashCode()
◆ hashcons()
Definition at line 165 of file Type.java.
167 T t2 = (T)
INTERN.get(
this);
169 assert t2._dual !=
null;
180 d._hash = d.compute_hash();
182 if(
this==d )
return d;
184 assert d._dual==
null;
185 assert
INTERN.get(d)==
null;
◆ hashcons_free()
◆ high()
◆ init() [1/2]
TypeFld com.cliffc.aa.type.TypeFld.init |
( |
@NotNull String |
fld, |
|
|
Type |
t, |
|
|
Access |
access, |
|
|
int |
order |
|
) |
| |
|
private |
◆ init() [2/2]
◆ init0()
Definition at line 642 of file Type.java.
643 types.put(
"real",
REAL);
644 types.put(
"scalar",
SCALAR);
645 TypeInt.init1(types);
646 TypeFlt.init1(types);
647 TypeStr.init1(types);
◆ intern_check()
Definition at line 212 of file Type.java.
216 if( !k.intern_check0(v) ) {
217 System.out.println(
"INTERN_CHECK FAIL: "+k._uid+
":"+k+
" vs "+v.
_uid+
":"+v);
◆ intern_check0()
◆ intern_check1()
boolean com.cliffc.aa.type.TypeFld.intern_check1 |
( |
| ) |
|
|
package |
◆ intern_find()
◆ intern_lookup()
◆ intern_size()
◆ interned()
◆ is_con()
◆ is_display()
◆ is_display_ptr()
boolean com.cliffc.aa.type.TypeFld.is_display_ptr |
( |
| ) |
|
◆ is_forward_ref()
◆ is_num()
◆ is_ptr()
◆ is_simple()
◆ isa()
◆ isa_scalar()
◆ isBitShape()
◆ join()
◆ make() [1/3]
Definition at line 147 of file Type.java.
148 Pool P =
POOLS[type];
149 Type t1 = P.malloc();
150 return t1.
init(type,
"").hashcons_free();
◆ make() [2/3]
static TypeFld com.cliffc.aa.type.TypeFld.make |
( |
String |
fld, |
|
|
Type |
t, |
|
|
Access |
access, |
|
|
int |
order |
|
) |
| |
|
static |
◆ make() [3/3]
static TypeFld com.cliffc.aa.type.TypeFld.make |
( |
String |
fld, |
|
|
Type |
t, |
|
|
int |
order |
|
) |
| |
|
static |
Definition at line 58 of file TypeFld.java.
58 {
return make(fld,t,Access.Final,order); }
References com.cliffc.aa.type.TypeFld.Access.Final, and com.cliffc.aa.type.TypeFld.make().
Referenced by com.cliffc.aa.type.TypeStruct.add_fld(), com.cliffc.aa.HM.TestHM.build_cycle(), com.cliffc.aa.HM.TestHM.build_cycle2(), com.cliffc.aa.type.TypeStruct.crush(), com.cliffc.aa.type.TypeFld.make(), com.cliffc.aa.type.TypeStruct.make(), com.cliffc.aa.type.TypeFld.make_arg(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeFld.make_tup(), com.cliffc.aa.type.TypeStruct.set_fld(), com.cliffc.aa.HM.TestHM.test52(), com.cliffc.aa.HM.TestHM.test55(), com.cliffc.aa.HM.TestHM.test57(), com.cliffc.aa.type.TestApprox.testApprox1(), com.cliffc.aa.type.TestApprox.testApprox2(), com.cliffc.aa.type.TestApprox.testApprox3(), com.cliffc.aa.type.TestApprox.testApprox4(), com.cliffc.aa.type.TestApprox.testApprox5(), com.cliffc.aa.type.TestApprox.testApprox6(), com.cliffc.aa.type.TestApprox.testApprox7(), com.cliffc.aa.type.TestApprox.testApprox8(), com.cliffc.aa.node.TestNodeSmall.testMemoryArgs(), com.cliffc.aa.type.TestType.testNameCycle(), com.cliffc.aa.TestParse.testParse04(), com.cliffc.aa.TestParse.testParse06(), com.cliffc.aa.TestParse.testParse07(), com.cliffc.aa.TestParse.testParse10(), com.cliffc.aa.type.TestType.testRecursive(), com.cliffc.aa.type.TestType.testStructTuple(), com.cliffc.aa.type.TestApprox.testTSMeet(), com.cliffc.aa.type.TestType.testType(), com.cliffc.aa.Parse.type0(), com.cliffc.aa.type.TypeStruct.update(), com.cliffc.aa.HM.HM9.Struct.val(), com.cliffc.aa.HM.HM.Struct.val(), and com.cliffc.aa.type.TypeFld.xmeet().
◆ make_arg()
static TypeFld com.cliffc.aa.type.TypeFld.make_arg |
( |
Type |
t, |
|
|
int |
order |
|
) |
| |
|
static |
◆ make_from() [1/3]
◆ make_from() [2/3]
◆ make_from() [3/3]
◆ make_tup()
static TypeFld com.cliffc.aa.type.TypeFld.make_tup |
( |
Type |
t, |
|
|
int |
order |
|
) |
| |
|
static |
Definition at line 65 of file TypeFld.java.
65 {
return make(
TUPS[order],t,Access.Final,order); }
References com.cliffc.aa.type.TypeFld.Access.Final, com.cliffc.aa.type.TypeFld.make(), and com.cliffc.aa.type.TypeFld.TUPS.
Referenced by com.cliffc.aa.HM.HM9.Pair.apply(), com.cliffc.aa.HM.HM9.Triple.apply(), com.cliffc.aa.HM.HM.Pair.apply(), com.cliffc.aa.HM.HM.Triple.apply(), com.cliffc.aa.type.TypeStruct.open(), com.cliffc.aa.type.TypeStruct.tups(), and com.cliffc.aa.Parse.type0().
◆ malloc() [1/2]
static TypeFld com.cliffc.aa.type.TypeFld.malloc |
( |
String |
fld, |
|
|
Type |
t, |
|
|
Access |
access, |
|
|
int |
order |
|
) |
| |
|
static |
Definition at line 53 of file TypeFld.java.
References com.cliffc.aa.type.TypeFld.init(), com.cliffc.aa.type.Type< TypeFld >.POOLS, and com.cliffc.aa.type.Type< TypeFld >.TFLD.
Referenced by com.cliffc.aa.HM.HM9.T2._as_flow(), com.cliffc.aa.HM.HM.T2._as_flow(), com.cliffc.aa.HM.TestHM9.build_cycle(), com.cliffc.aa.type.TypeFlds.clone(), com.cliffc.aa.type.TypeFld.cmeet(), com.cliffc.aa.type.TypeFld.make(), com.cliffc.aa.type.TypeFld.rdual(), com.cliffc.aa.HM.TestHM9.test36(), com.cliffc.aa.type.TestApprox.testApprox2(), com.cliffc.aa.type.TestApprox.testApprox3(), com.cliffc.aa.type.TestApprox.testApprox6(), com.cliffc.aa.type.TestApprox.testApprox8(), com.cliffc.aa.type.TestType.testNameCycle(), com.cliffc.aa.type.TestType.testRecursive(), com.cliffc.aa.type.TestApprox.testTSMeet(), and com.cliffc.aa.type.TypeFld.xdual().
◆ malloc() [2/2]
static TypeFld com.cliffc.aa.type.TypeFld.malloc |
( |
String |
fld, |
|
|
Type |
t, |
|
|
int |
order |
|
) |
| |
|
static |
◆ may_be_con()
◆ may_nil()
◆ meet()
Definition at line 412 of file Type.java.
414 if( t ==
this )
return this;
416 Type mt = Key.get(
this,t);
417 if( mt !=
null )
return mt;
◆ meet_loop()
◆ meet_nil()
◆ mtname()
Definition at line 567 of file Type.java.
568 Type t0 =
this, t1 = t;
569 String s0 = t0.
_name, s1 = t1._name;
571 if(
Util.
eq(s0,s1) )
return s0;
573 if( s0.length() > s1.length() ) { t1=
this; t0=t; s0=t0.
_name; s1=t1._name; }
574 int x = 0, i;
char c;
576 for( i = 0; i < s0.length(); i++ ) {
577 if( (c=s0.charAt(i)) != s1.charAt(i) )
585 String s2 = i==s0.length() ? s0 : s0.substring(0, x).intern();
◆ must_nil()
◆ not_nil()
◆ odual()
static int com.cliffc.aa.type.TypeFld.odual |
( |
int |
order | ) |
|
|
staticprivate |
◆ omeet()
static int com.cliffc.aa.type.TypeFld.omeet |
( |
int |
o0, |
|
|
int |
o1 |
|
) |
| |
|
staticprivate |
◆ oob() [1/6]
◆ oob() [2/6]
◆ oob() [3/6]
◆ oob() [4/6]
◆ oob() [5/6]
◆ oob() [6/6]
◆ oob_deep()
◆ oop_deep_impl()
◆ rdual()
TypeFld com.cliffc.aa.type.TypeFld.rdual |
( |
| ) |
|
|
protected |
Definition at line 70 of file TypeFld.java.
References com.cliffc.aa.type.TypeFld._access, com.cliffc.aa.type.Type< TypeFld >._dual, com.cliffc.aa.type.TypeFld._fld, com.cliffc.aa.type.Type< TypeFld >._hash, com.cliffc.aa.type.TypeFld._order, com.cliffc.aa.type.TypeFld._t, com.cliffc.aa.type.TypeFld.Access.dual(), com.cliffc.aa.type.Type< TypeFld >.dual(), com.cliffc.aa.type.TypeFld.malloc(), com.cliffc.aa.type.TypeFld.odual(), com.cliffc.aa.type.Type< T extends Type< T >.rdual(), and com.cliffc.aa.type.TypeFld.sdual().
Referenced by com.cliffc.aa.type.TypeStruct.rdual().
◆ remove_name()
◆ repeats_in_cycles()
◆ retern()
◆ sdual()
static String com.cliffc.aa.type.TypeFld.sdual |
( |
String |
s | ) |
|
|
staticprivate |
◆ set_name()
◆ setX() [1/2]
Definition at line 173 of file TypeFld.java.
174 assert !(t instanceof TypeFld);
175 if(
_t==t)
return this;
References com.cliffc.aa.type.Type< TypeFld >._dual, and com.cliffc.aa.type.TypeFld._t.
Referenced by com.cliffc.aa.type.TypeStruct._sharp(), com.cliffc.aa.type.TypeStruct.ax_impl_struct(), com.cliffc.aa.type.TypeStruct.cyclic_meet(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeStruct.remove_other_flds(), com.cliffc.aa.type.TypeStruct.shrink(), com.cliffc.aa.type.TestApprox.testApprox2(), com.cliffc.aa.type.TestApprox.testApprox3(), com.cliffc.aa.type.TestApprox.testApprox6(), com.cliffc.aa.type.TestApprox.testApprox8(), com.cliffc.aa.type.TestType.testNameCycle(), com.cliffc.aa.type.TestType.testRecursive(), and com.cliffc.aa.type.TestApprox.testTSMeet().
◆ setX() [2/2]
◆ sharptr()
◆ simple_ptr()
TypeFld com.cliffc.aa.type.TypeFld.simple_ptr |
( |
| ) |
|
◆ smeet()
static String com.cliffc.aa.type.TypeFld.smeet |
( |
String |
s0, |
|
|
String |
s1 |
|
) |
| |
|
staticprivate |
◆ str()
Definition at line 44 of file TypeFld.java.
45 if( dups.tset(
_uid) )
return sb.p(
'$');
46 if( !TypeStruct.isDigit(
_fld.charAt(0)) )
48 return _t==
null ? sb.p(
'!') : (
_t==
Type.SCALAR ? sb :
_t.
str(sb,dups,mem,debug));
References com.cliffc.aa.type.TypeFld._access, com.cliffc.aa.type.TypeFld._fld, com.cliffc.aa.type.TypeFld._t, com.cliffc.aa.type.Type< TypeFld >._uid, com.cliffc.aa.type.TypeStruct.isDigit(), com.cliffc.aa.util.SB.p(), com.cliffc.aa.type.Type< T extends Type< T >.SCALAR, com.cliffc.aa.type.Type< T extends Type< T >.str(), com.cliffc.aa.type.TypeFld.Access.str(), and com.cliffc.aa.util.VBitSet.tset().
Referenced by com.cliffc.aa.type.TypeStruct.str().
◆ toString()
◆ typerr()
Definition at line 947 of file Type.java.
948 throw new RuntimeException(
"Should not reach here: internal type system error with "+
this+(t==
null?
"":(
" and "+t)));
◆ untern()
◆ walk()
void com.cliffc.aa.type.TypeFld.walk |
( |
Predicate< Type > |
p | ) |
|
◆ widen()
◆ xdual()
TypeFld com.cliffc.aa.type.TypeFld.xdual |
( |
| ) |
|
|
protected |
◆ xmeet()
Definition at line 80 of file TypeFld.java.
81 if(
this==tf )
return this;
83 TypeFld f = (TypeFld)tf;
88 return make(fld,t,access,order);
References com.cliffc.aa.type.TypeFld._access, com.cliffc.aa.type.TypeFld._fld, com.cliffc.aa.type.TypeFld._order, com.cliffc.aa.type.TypeFld._t, com.cliffc.aa.type.Type< T extends Type< T >._type, com.cliffc.aa.type.TypeFld.make(), com.cliffc.aa.type.TypeFld.Access.meet(), com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.type.TypeFld.omeet(), com.cliffc.aa.type.TypeFld.smeet(), com.cliffc.aa.type.Type< TypeFld >.TFLD, and com.cliffc.aa.type.Type< TypeFld >.typerr().
Referenced by com.cliffc.aa.type.TypeStruct.xmeet1().
◆ xmt_name()
◆ _access
Access com.cliffc.aa.type.TypeFld._access |
Definition at line 17 of file TypeFld.java.
Referenced by com.cliffc.aa.type.TypeFlds.clone(), com.cliffc.aa.type.TypeFld.cmeet(), com.cliffc.aa.type.TypeStruct.cmp(), com.cliffc.aa.type.TypeFld.compute_hash(), com.cliffc.aa.type.TypeFld.cycle_equals(), com.cliffc.aa.type.TypeFld.equals(), com.cliffc.aa.node.StoreNode.err(), com.cliffc.aa.type.TypeMem.fld_is_mod(), com.cliffc.aa.type.TypeFld.init(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeFld.rdual(), com.cliffc.aa.type.TypeFld.setX(), com.cliffc.aa.type.TypeFld.str(), com.cliffc.aa.type.TypeStruct.update(), com.cliffc.aa.type.TypeFld.xdual(), and com.cliffc.aa.type.TypeFld.xmeet().
◆ _dual
◆ _fld
String com.cliffc.aa.type.TypeFld._fld |
Definition at line 15 of file TypeFld.java.
Referenced by com.cliffc.aa.type.TypeFlds.clone(), com.cliffc.aa.type.TypeFld.cmeet(), com.cliffc.aa.type.TypeStruct.cmp(), com.cliffc.aa.type.TypeFld.compute_hash(), com.cliffc.aa.node.IntrinsicNode.convertTypeNameStruct(), com.cliffc.aa.type.TypeStruct.crush(), com.cliffc.aa.type.TypeFld.cycle_equals(), com.cliffc.aa.type.TypeFld.equals(), com.cliffc.aa.type.TypeFld.fld_find(), com.cliffc.aa.type.TypeFld.init(), com.cliffc.aa.type.TypeFld.is_display_ptr(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeFld.rdual(), com.cliffc.aa.type.TypeFld.str(), com.cliffc.aa.type.TypeStruct.str(), com.cliffc.aa.TestParse.testParse06(), com.cliffc.aa.TestParse.testParse07(), com.cliffc.aa.type.TestType.testRecursive(), com.cliffc.aa.type.TypeFld.xdual(), and com.cliffc.aa.type.TypeFld.xmeet().
◆ _hash
◆ _name
◆ _order
int com.cliffc.aa.type.TypeFld._order |
Definition at line 18 of file TypeFld.java.
Referenced by com.cliffc.aa.type.TypeFlds.clone(), com.cliffc.aa.type.TypeFld.cmeet(), com.cliffc.aa.type.TypeFld.compute_hash(), com.cliffc.aa.type.TypeStruct.crush(), com.cliffc.aa.type.TypeFld.cycle_equals(), com.cliffc.aa.type.TypeFld.equals(), com.cliffc.aa.type.TypeFld.init(), com.cliffc.aa.type.TypeFld.is_display_ptr(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeFld.rdual(), com.cliffc.aa.type.TypeFld.xdual(), and com.cliffc.aa.type.TypeFld.xmeet().
◆ _t
Type com.cliffc.aa.type.TypeFld._t |
Definition at line 16 of file TypeFld.java.
Referenced by com.cliffc.aa.type.TypeStruct._dull(), com.cliffc.aa.type.TypeStruct._is_sharp(), com.cliffc.aa.type.TypeStruct._sharp(), com.cliffc.aa.type.TypeStruct.approx(), com.cliffc.aa.type.TypeStruct.at(), com.cliffc.aa.type.TypeStruct.ax_impl_struct(), com.cliffc.aa.type.TypeStruct.ax_meet(), com.cliffc.aa.type.TypeFlds.clone(), com.cliffc.aa.type.TypeStruct.cmp(), com.cliffc.aa.type.TypeStruct.contains(), com.cliffc.aa.type.TypeFld.cycle_equals(), com.cliffc.aa.type.TypeStruct.cycle_equals0(), com.cliffc.aa.type.TypeStruct.cyclic_meet(), com.cliffc.aa.type.TypeFld.equals(), com.cliffc.aa.type.TypeFld.init(), com.cliffc.aa.type.TypeStruct.install_cyclic(), com.cliffc.aa.type.TypeFld.intern_check1(), com.cliffc.aa.type.TypeFld.is_display_ptr(), com.cliffc.aa.type.TypeStruct.last(), com.cliffc.aa.type.TypeFld.make_from(), com.cliffc.aa.type.TypeFld.rdual(), com.cliffc.aa.type.TypeFld.setX(), com.cliffc.aa.type.TypeStruct.shrink(), com.cliffc.aa.type.TypeFld.simple_ptr(), com.cliffc.aa.type.TypeFld.str(), com.cliffc.aa.type.TypeStruct.str(), com.cliffc.aa.type.TypeStruct.update(), com.cliffc.aa.type.TypeFld.walk(), com.cliffc.aa.type.TypeStruct.widen(), com.cliffc.aa.type.TypeFld.xdual(), and com.cliffc.aa.type.TypeFld.xmeet().
◆ _type
◆ _uid
◆ ALL
◆ ALL_TYPES
◆ ANY
◆ ARGS
final String [] com.cliffc.aa.type.TypeFld.ARGS = new String[]{"^","x","y","z"} |
|
staticprivate |
◆ CNT
◆ CTRL
◆ fldBot
final String com.cliffc.aa.type.TypeFld.fldBot = "." |
|
static |
◆ fldTop
final String com.cliffc.aa.type.TypeFld.fldTop = "\\" |
|
static |
◆ INTERN
◆ ISA_SCALAR
◆ NIL
◆ NO_DISP
Definition at line 170 of file TypeFld.java.
Referenced by com.cliffc.aa.HM.HM9.T2._as_flow(), com.cliffc.aa.HM.HM.T2._as_flow(), com.cliffc.aa.HM.HM9.Pair.apply(), com.cliffc.aa.HM.HM9.Triple.apply(), com.cliffc.aa.HM.HM.Pair.apply(), com.cliffc.aa.HM.HM.Triple.apply(), com.cliffc.aa.HM.TestHM.build_cycle(), com.cliffc.aa.HM.TestHM9.build_cycle(), com.cliffc.aa.HM.TestHM.build_cycle2(), com.cliffc.aa.type.TypeStruct.flds(), com.cliffc.aa.type.TypeStruct.make(), com.cliffc.aa.HM.TestHM9.test36(), com.cliffc.aa.HM.TestHM.test52(), com.cliffc.aa.HM.TestHM.test55(), com.cliffc.aa.HM.TestHM.test57(), com.cliffc.aa.type.TestApprox.testApprox7(), com.cliffc.aa.node.TestNodeSmall.testMemoryArgs(), com.cliffc.aa.TestParse.testParse06(), com.cliffc.aa.TestParse.testParse07(), com.cliffc.aa.type.TestType.testStructTuple(), com.cliffc.aa.type.TestType.testType(), com.cliffc.aa.type.TypeStruct.tups(), com.cliffc.aa.HM.HM9.Struct.val(), and com.cliffc.aa.HM.HM.Struct.val().
◆ NREAL
◆ NSCALR
◆ oBot
final int com.cliffc.aa.type.TypeFld.oBot = -2 |
|
staticprivate |
◆ oTop
final int com.cliffc.aa.type.TypeFld.oTop = -1 |
|
staticprivate |
◆ POOLS
◆ REAL
◆ RECURSIVE_MEET
◆ SCALAR
◆ SCALAR_PRIMS
◆ STRS
◆ TALL
◆ TANY
◆ TARY
◆ TCTRL
◆ TFLD
◆ TFLT
◆ TFUNPTR
◆ TFUNSIG
◆ TINT
◆ TLAST
◆ TLIVE
◆ TMEM
◆ TMEMPTR
◆ TNIL
◆ TNREAL
◆ TNSCALR
◆ TOBJ
◆ TREAL
◆ TRPC
◆ TSCALAR
◆ TSIMPLE
◆ TSTR
◆ TSTRUCT
◆ TTUPLE
◆ TUPS
final String [] com.cliffc.aa.type.TypeFld.TUPS = new String[]{"^","0","1","2"} |
|
staticprivate |
◆ TXCTRL
◆ TXNIL
◆ TXNREAL
◆ TXNSCALR
◆ TXREAL
◆ TXSCALAR
◆ TYPES
◆ XCTRL
◆ XNIL
◆ XNREAL
◆ XNSCALR
◆ XREAL
◆ XSCALAR
The documentation for this class was generated from the following file:
static final String[] TUPS
static final byte TMEMPTR
E push(E e)
Add element in amortized constant time.
static String sdual(String s)
RuntimeException typerr(Type t)
static boolean eq(String s0, String s1)
boolean check_commute(Type t, Type mt)
an implementation of language AA
Type xmt_name(Type t, Type mt)
static String smeet(String s0, String s1)
static boolean check_name(String n)
static TypeFld make(String fld, Type t, int order)
static RuntimeException unimpl()
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
static final byte TFUNPTR
static final byte[] ISA_SCALAR
boolean cycle_equals(Type t)
static Ary< Type > ALL_TYPES
static final byte TXNREAL
final T set_name(String name)
static int odual(int order)
static final String fldBot
static final String[] ARGS
static final byte TSTRUCT
static int RECURSIVE_MEET
static final Type XNSCALR
final boolean contains(Type t)
Type make_from(Type head, TypeMem map, VBitSet visit)
static final String fldTop
SB str(SB sb, boolean debug)
static final ConcurrentHashMap< Type, Type > INTERN
final String mtname(Type t, Type mt)
T init(byte type, String name)
static final byte TSCALAR
static final Type[] TYPES
static final byte TXSCALAR
Tight/tiny StringBuilder wrapper.
static TypeFld malloc(String fld, Type t, Access access, int order)
static final byte TSIMPLE
an implementation of language AA
Type oop_deep_impl(Type t)
static Type[] SCALAR_PRIMS
void walk(Predicate< Type > p)
static final Pool[] POOLS
static void concat(Ary< Type > ts, Type[] ts1)
static final byte TNSCALR
TypeFld init( @NotNull String fld, Type t, Access access, int order)
TypeFld make_from(Type t)
static final byte TXNSCALR
static int omeet(int o0, int o1)