Go to the documentation of this file. 1 package com.cliffc.aa.type;
7 import java.util.HashMap;
8 import java.util.function.Predicate;
17 super.
init(TSTR,name,any,any);
22 @Override
public boolean equals( Object o ) {
23 if(
this==o )
return true;
24 if( !(o instanceof
TypeStr) || !super.equals(o) )
return false;
30 if(
_con ==
null ) sb.
p(
"str");
35 static {
new Pool(TSTR,
new TypeStr()); }
37 TypeStr t1 = POOLS[TSTR].malloc();
38 return t1.
init(name,any,
con).hashcons_free();
43 public static void init() {}
56 if( _dual !=
null )
return _dual;
67 case TSTRUCT:
return OBJ;
68 case TOBJ:
return t.
xmeet(
this);
76 case TMEM:
return ALL;
77 default:
throw typerr(t);
93 @Override
public boolean may_be_con() {
return super.may_be_con() ||
_con !=
null; }
94 @Override
public boolean is_con() {
return _con !=
null; }
110 @Override
public void walk( Predicate<Type> p ) { p.test(
this); }
void walk(Predicate< Type > p)
Memory type; the state of all of memory; memory edges order memory ops.
static boolean eq(String s0, String s1)
static void init1(HashMap< String, Type > types)
an implementation of language AA
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
static TypeStr make(String name, boolean any, String con)
static TypeStr make(boolean any, String con)
static final TypeStr XSTR
static TypeStr con(String con)
Tight/tiny StringBuilder wrapper.
TypeStr init(String name, boolean any, String con)
TypeObj update(Access fin, String fld, Type val)
boolean cycle_equals(Type o)
static final TypeMemPtr STRPTR
static final TypeStr[] TYPES