Go to the documentation of this file. 1 package com.cliffc.aa.type;
6 import java.util.function.Predicate;
22 super.
init(TLIVE,
"",any,any);
27 @Override
public boolean equals( Object o ) {
28 if(
this==o )
return true;
29 if( !(o instanceof
TypeLive) || !super.equals(o) )
return false;
34 if(
this==
DEAD )
return sb.
p(
"DEAD");
39 static {
new Pool(TLIVE,
new TypeLive()); }
42 return t1.
init(any,flags).hashcons_free();
67 case TSTRUCT:
return OBJ;
68 case TOBJ:
return t.
xmeet(
this);
76 case TMEM:
return ALL;
77 default:
throw typerr(t);
84 return make(any,flags);
87 private static final String[]
STRS =
new String[]{
"!dsp",
"esc!dsp",
"live",
"escp"};
97 @Override
public boolean is_con() {
return false; }
99 @Override
public void walk( Predicate<Type> p ) { p.test(
this); }
TypeLive lmeet(TypeLive lv)
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
Memory type; the state of all of memory; memory edges order memory ops.
static final int FLAG_WITH_DISP
an implementation of language AA
static final TypeLive LIVE_BOT
static final TypeLive DEAD
boolean cycle_equals(Type o)
TypeLive init(boolean any, int flags)
static final TypeLive NO_DISP
static final TypeLive ESCAPE
static final TypeLive LIVE
static TypeLive make(boolean any, int flags)
Tight/tiny StringBuilder wrapper.
static final TypeLive ESC_DISP
static final String[] STRS
void walk(Predicate< Type > p)
static final TypeLive[] LIVES
static final int FLAG_ESCAPE