Go to the documentation of this file. 1 package com.cliffc.aa.node;
33 super(OP_NEWOBJ,alias,ts,clo);
37 public Node get(String name) {
int idx =
_ts.fld_find(name); assert idx >= 0;
return fld(idx); }
38 public boolean exists(String name) {
return _ts.fld_find(name)!=-1; }
59 assert
_ts.fld_find(name) == -1;
77 int fidx =
_ts.fld_find(name);
95 assert parent !=
null;
97 for(
int i=0; i<ts.
len(); i++ ) {
140 for(
int i=0; i<ts.length; i++ )
142 return _ts.make_from(ts);
150 int idx = _defs.find(def)-1;
boolean exists(String name)
void add_flow_extra(Type old)
NewObjNode(boolean is_closure, int alias, TypeStruct ts, Node clo)
static final TypeMem DEAD
TypeMem live_use(GVNGCM.Mode opt_mode, Node def)
Memory type; the state of all of memory; memory edges order memory ops.
static boolean eq(String s0, String s1)
void update(String tok, Access mutable, Node val)
public< N extends Node > N add_mono(N n)
void add_flow_uses(Node n)
static final TypeMem ESCAPE
an implementation of language AA
FunPtrNode add_fun(Parse bad, String name, FunPtrNode ptr)
void set_name(TypeStruct name)
A memory-based collection of optionally named fields.
static boolean test(long[] bits, int i)
NewObjNode(boolean is_closure, TypeStruct disp, Node clo)
static int def_idx(int fld)
static final TypeObj UNUSED
static final TypeObj ISUSED
final boolean _is_closure
void update(int fidx, Access mutable, Node val)
void create(String name, Node val, Access mutable)
an implementation of language AA
static final TypeMem LESC_NO_DISP
Node set_def(int idx, Node n)
static BitsAlias LEX_DISPLAYS
void create_active(String name, Node val, Access mutable)
public< N extends Node > N add_flow(N n)
boolean is_mutable(String name)
static final TypeStruct ANYSTRUCT
void promote_forward(NewObjNode parent)
an implementation of language AA
static TypeMemPtr make(BitsAlias aliases, TypeObj obj)