aa
com.cliffc.aa.Env Class Reference
Inheritance diagram for com.cliffc.aa.Env:
[legend]
Collaboration diagram for com.cliffc.aa.Env:
[legend]

Classes

class  VStack
 

Public Member Functions

void close ()
 
void close_display (GVNGCM gvn)
 
HashSet< TV2collect_active_scope ()
 
Node lookup (String name)
 
ConTypeNode lookup_type (int alias)
 

Static Public Member Functions

static Env file_scope (Env top_scope)
 
static Env top_scope ()
 

Public Attributes

VStack _nongen
 
final Env _par
 
final ScopeNode _scope
 

Static Public Attributes

static ConNode ALL
 
static ConNode ALL_CALL
 
static ConNode ALL_CTRL
 
static BitsAlias ALL_DISPLAYS = BitsAlias.EMPTY
 
static ConNode ANY
 
static CProjNode CTL_0
 
static DefMemNode DEFMEM
 
static final GVNGCM GVN = new GVNGCM()
 
static BitsAlias LEX_DISPLAYS = BitsAlias.EMPTY
 
static StartMemNode MEM_0
 
static ConNode NIL
 
static ScopeNode SCP_0
 
static StartNode START
 
static NewObjNode STK_0
 
static ConNode XCTRL
 
static ConNode XNIL
 

Package Functions

 Env (Env par, Parse P, boolean is_closure, Node ctrl, Node mem)
 
Node add_fun (Parse bad, String name, Node val)
 
void add_type (String name, ConTypeNode t)
 
Node early_exit (Parse P, Node val)
 
UnOrFunPtrNode lookup_filter_fresh (String name, int nargs, Node ctrl)
 
Env lookup_fref (String tok)
 
ScopeNode lookup_scope (String name, boolean lookup_current_scope_only)
 
ConTypeNode lookup_type (String name)
 
Type lookup_valtype (String name)
 
Node nongen_pop (Node ret)
 
void nongen_push (Env par)
 

Private Member Functions

 Env ()
 

Static Private Member Functions

static ScopeNode init (Node ctl, Node clo, Node mem, Type back_ptr, Parse errmsg, boolean is_closure)
 
static void record_for_top_reset1 ()
 
static void record_for_top_reset2 ()
 
static void top_reset ()
 

Detailed Description

Definition at line 12 of file Env.java.

Constructor & Destructor Documentation

◆ Env() [1/2]

com.cliffc.aa.Env.Env ( )
private

Definition at line 40 of file Env.java.

40  {
41  _par = null;
42  _nongen = null;
43  _scope = init(CTL_0,XNIL,MEM_0,Type.XNIL,null,true);
44  }

References com.cliffc.aa.Env._nongen, com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.Env.CTL_0, com.cliffc.aa.Env.init(), com.cliffc.aa.Env.MEM_0, com.cliffc.aa.Env.XNIL, and com.cliffc.aa.type.Type< T extends Type< T >.XNIL.

Referenced by com.cliffc.aa.Env.file_scope(), and com.cliffc.aa.Env.top_scope().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Env() [2/2]

com.cliffc.aa.Env.Env ( Env  par,
Parse  P,
boolean  is_closure,
Node  ctrl,
Node  mem 
)
package

Definition at line 47 of file Env.java.

47  {
49  _par = par;
50  nongen_push(par);
51  ScopeNode s = par._scope; // Parent scope
52  _scope = init(ctrl,s.ptr(),mem,s.stk()._tptr,P==null ? null : P.errMsg(),is_closure);
53  }

References com.cliffc.aa.GVNGCM._opt_mode, com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.node.NewNode< T extends TypeObj< T >._tptr, com.cliffc.aa.Parse.errMsg(), com.cliffc.aa.Env.GVN, com.cliffc.aa.Env.init(), com.cliffc.aa.Env.nongen_push(), com.cliffc.aa.GVNGCM.Mode.Parse, com.cliffc.aa.node.ScopeNode.ptr(), and com.cliffc.aa.node.ScopeNode.stk().

Here is the call graph for this function:

Member Function Documentation

◆ add_fun()

Node com.cliffc.aa.Env.add_fun ( Parse  bad,
String  name,
Node  val 
)
package

Definition at line 218 of file Env.java.

218 { return _scope.stk().add_fun(bad,name,(FunPtrNode)val); }

References com.cliffc.aa.Env._scope, com.cliffc.aa.node.NewObjNode.add_fun(), and com.cliffc.aa.node.ScopeNode.stk().

Referenced by com.cliffc.aa.Parse.tstmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_type()

void com.cliffc.aa.Env.add_type ( String  name,
ConTypeNode  t 
)
package

Definition at line 234 of file Env.java.

234 { _scope.add_type(name,t); }

References com.cliffc.aa.Env._scope, and com.cliffc.aa.node.ScopeNode.add_type().

Referenced by com.cliffc.aa.Parse.tstmt(), and com.cliffc.aa.Parse.type0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ close()

void com.cliffc.aa.Env.close ( )

Definition at line 141 of file Env.java.

141  {
142  // Promote forward refs to the next outer scope
143  ScopeNode pscope = _par._scope;
144  if( pscope != null && _par._par != null )
145  _scope.stk().promote_forward(pscope.stk());
149  assert _scope.is_dead();
150  }

References com.cliffc.aa.GVNGCM._opt_mode, com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.GVNGCM.add_dead(), com.cliffc.aa.Env.close_display(), com.cliffc.aa.Env.GVN, com.cliffc.aa.node.Node.is_dead(), com.cliffc.aa.GVNGCM.iter(), com.cliffc.aa.node.NewObjNode.promote_forward(), and com.cliffc.aa.node.ScopeNode.stk().

Referenced by com.cliffc.aa.TypeEnv.close().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ close_display()

void com.cliffc.aa.Env.close_display ( GVNGCM  gvn)

Definition at line 128 of file Env.java.

128  {
129  Node ptr = _scope.ptr();
130  if( ptr == null ) return; // Already done
131  NewObjNode stk = _scope.stk();
132  stk.no_more_fields();
133  gvn.add_flow(stk); // Scope object going dead, trigger following projs to cleanup
134  _scope.set_ptr(null); // Clear pointer to display
135  gvn.add_flow(ptr); // Clearing pointer changes liveness
136  gvn.add_work_all(_scope.unkeep());
138  }

References com.cliffc.aa.node.NewNode< T extends TypeObj< T >._alias, com.cliffc.aa.Env._scope, com.cliffc.aa.GVNGCM.add_flow(), com.cliffc.aa.GVNGCM.add_work_all(), com.cliffc.aa.type.Bits< B extends Bits< B >.clear(), com.cliffc.aa.Env.LEX_DISPLAYS, com.cliffc.aa.node.NewObjNode.no_more_fields(), com.cliffc.aa.node.ScopeNode.ptr(), com.cliffc.aa.node.ScopeNode.set_ptr(), com.cliffc.aa.node.ScopeNode.stk(), and com.cliffc.aa.node.Node.unkeep().

Referenced by com.cliffc.aa.Env.close(), and com.cliffc.aa.Parse.go().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collect_active_scope()

HashSet<TV2> com.cliffc.aa.Env.collect_active_scope ( )

Definition at line 238 of file Env.java.

238  {
239  HashSet<TV2> tvars = new HashSet<>();
240  Env e = this;
241  while( e!=null ) {
242  for( Node def : _scope.stk()._defs )
243  if( def != null ) tvars.add(def.tvar());
244  e = e._par;
245  }
246  return tvars;
247  }

References com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, and com.cliffc.aa.node.ScopeNode.stk().

Here is the call graph for this function:

◆ early_exit()

Node com.cliffc.aa.Env.early_exit ( Parse  P,
Node  val 
)
package

Definition at line 121 of file Env.java.

121  {
122  return _scope.is_closure() ? P.do_exit(_scope,val) : _par.early_exit(P,val); // Hunt for an early-exit-enabled scope
123  }

References com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.Parse.do_exit(), com.cliffc.aa.Env.early_exit(), and com.cliffc.aa.node.ScopeNode.is_closure().

Referenced by com.cliffc.aa.Env.early_exit(), and com.cliffc.aa.Parse.stmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ file_scope()

static Env com.cliffc.aa.Env.file_scope ( Env  top_scope)
static

Definition at line 116 of file Env.java.

116  {
117  return new Env(top_scope,null, true, top_scope._scope.ctrl(), top_scope._scope.mem());
118  }

References com.cliffc.aa.Env._scope, com.cliffc.aa.node.ScopeNode.ctrl(), com.cliffc.aa.Env.Env(), com.cliffc.aa.node.ScopeNode.mem(), and com.cliffc.aa.Env.top_scope().

Referenced by com.cliffc.aa.REPL.go_one(), com.cliffc.aa.AA.main(), com.cliffc.aa.TestParse.run(), com.cliffc.aa.TestParse.test_prim(), com.cliffc.aa.TestParse.testary(), com.cliffc.aa.TestParse.testerr(), com.cliffc.aa.node.TestNode.testMonotonic(), com.cliffc.aa.node.TestNode.testNode(), com.cliffc.aa.TestParse.testParse06(), and com.cliffc.aa.TestParse.testParse07().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

static ScopeNode com.cliffc.aa.Env.init ( Node  ctl,
Node  clo,
Node  mem,
Type  back_ptr,
Parse  errmsg,
boolean  is_closure 
)
staticprivate

Definition at line 55 of file Env.java.

55  {
56  TypeStruct tdisp = TypeStruct.open(back_ptr);
57  mem.keep(2);
58  NewObjNode nnn = GVN.xform(new NewObjNode(is_closure,tdisp,clo)).keep(2);
59  MrgProjNode frm = DEFMEM.make_mem_proj(nnn,mem.unkeep(2));
60  Node ptr = GVN.xform(new ProjNode(nnn.unkeep(2),AA.REZ_IDX));
61  ALL_DISPLAYS = ALL_DISPLAYS.set(nnn._alias); // Displays for all time
62  LEX_DISPLAYS = LEX_DISPLAYS.set(nnn._alias); // Lexically active displays
63  ScopeNode scope = new ScopeNode(errmsg,is_closure);
64  scope.set_ctrl(ctl);
65  scope.set_ptr (ptr); // Address for 'nnn', the local stack frame
66  scope.set_mem (frm); // Memory includes local stack frame
67  scope.set_rez (Node.con(Type.SCALAR));
68  return scope;
69  }

References com.cliffc.aa.node.NewNode< T extends TypeObj< T >._alias, com.cliffc.aa.Env.ALL_DISPLAYS, com.cliffc.aa.node.Node.con(), com.cliffc.aa.Env.DEFMEM, com.cliffc.aa.Env.GVN, com.cliffc.aa.node.Node.keep(), com.cliffc.aa.Env.LEX_DISPLAYS, com.cliffc.aa.node.DefMemNode.make_mem_proj(), com.cliffc.aa.type.TypeStruct.open(), com.cliffc.aa.AA.REZ_IDX, com.cliffc.aa.type.Type< T extends Type< T >.SCALAR, com.cliffc.aa.type.Bits< B extends Bits< B >.set(), com.cliffc.aa.node.ScopeNode.set_ctrl(), com.cliffc.aa.node.ScopeNode.set_mem(), com.cliffc.aa.node.ScopeNode.set_ptr(), com.cliffc.aa.node.ScopeNode.set_rez(), com.cliffc.aa.node.Node.unkeep(), and com.cliffc.aa.GVNGCM.xform().

Referenced by com.cliffc.aa.Env.Env().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup()

Node com.cliffc.aa.Env.lookup ( String  name)

Definition at line 186 of file Env.java.

186  {
187  ScopeNode scope = lookup_scope(name,false);
188  return scope==null ? null : scope.get(name);
189  }

References com.cliffc.aa.node.ScopeNode.get(), and com.cliffc.aa.Env.lookup_scope().

Referenced by com.cliffc.aa.Parse.fact(), com.cliffc.aa.Parse.lookup(), com.cliffc.aa.Env.lookup_filter_fresh(), com.cliffc.aa.Env.lookup_valtype(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve2(), com.cliffc.aa.node.TestNode.testMonotonic(), and com.cliffc.aa.node.TestNodeSmall.testUnresolvedAdd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_filter_fresh()

UnOrFunPtrNode com.cliffc.aa.Env.lookup_filter_fresh ( String  name,
int  nargs,
Node  ctrl 
)
package

Definition at line 203 of file Env.java.

203  {
204  if( !Parse.isOp(name) ) return null; // Limit to operators
205  for( int i=name.length(); i>0; i-- ) {
206  UnOrFunPtrNode n = (UnOrFunPtrNode)lookup(name.substring(0,i).intern());
207  if( n != null ) { // First name found will return
208  UnOrFunPtrNode u = nargs == 0 // Requiring a balanced-op?
209  ? (n.op_prec()==0 ? n : null) // Return a balanced-op or error
210  : n.filter(nargs); // Non-balanced ops also check arg count; distinguish e.g. -x from x-y.
211  return u==null ? null : (UnOrFunPtrNode)Env.GVN.xform(new FreshNode(_nongen,ctrl,u));
212  }
213  }
214  return null;
215  }

References com.cliffc.aa.Env._nongen, com.cliffc.aa.node.UnOrFunPtrNode.filter(), com.cliffc.aa.Env.GVN, com.cliffc.aa.Parse.isOp(), com.cliffc.aa.Env.lookup(), com.cliffc.aa.node.Node.op_prec(), and com.cliffc.aa.GVNGCM.xform().

Referenced by com.cliffc.aa.Parse._expr(), com.cliffc.aa.Parse.bal_open(), com.cliffc.aa.Parse.inc(), and com.cliffc.aa.Parse.term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_fref()

Env com.cliffc.aa.Env.lookup_fref ( String  tok)
package

Definition at line 311 of file Env.java.

311  {
312  if( _nongen!=null && _nongen._flds.find(tok)!= -1 ) return this;
313  return _par==null ? null : _par.lookup_fref(tok);
314  }

References com.cliffc.aa.Env.VStack._flds, com.cliffc.aa.Env._nongen, com.cliffc.aa.Env._par, com.cliffc.aa.util.Ary< E >.find(), and com.cliffc.aa.Env.lookup_fref().

Referenced by com.cliffc.aa.Parse.fact(), and com.cliffc.aa.Env.lookup_fref().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_scope()

ScopeNode com.cliffc.aa.Env.lookup_scope ( String  name,
boolean  lookup_current_scope_only 
)
package

Definition at line 177 of file Env.java.

177  {
178  if( name == null ) return null; // Handle null here, easier on parser
179  if( _scope.stk().exists(name) ) return _scope;
180  return _par == null || lookup_current_scope_only ? null : _par.lookup_scope(name,false);
181  }

References com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.node.NewObjNode.exists(), com.cliffc.aa.Env.lookup_scope(), and com.cliffc.aa.node.ScopeNode.stk().

Referenced by com.cliffc.aa.Env.lookup(), com.cliffc.aa.Env.lookup_scope(), and com.cliffc.aa.Parse.lookup_scope().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_type() [1/2]

ConTypeNode com.cliffc.aa.Env.lookup_type ( int  alias)

Definition at line 228 of file Env.java.

228  {
229  ConTypeNode t = _scope.get_type(alias);
230  if( t != null ) return t;
231  return _par == null ? null : _par.lookup_type(alias);
232  }

References com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.node.ScopeNode.get_type(), and com.cliffc.aa.Env.lookup_type().

Here is the call graph for this function:

◆ lookup_type() [2/2]

ConTypeNode com.cliffc.aa.Env.lookup_type ( String  name)
package

Definition at line 222 of file Env.java.

222  {
223  ConTypeNode t = _scope.get_type(name);
224  if( t != null ) return t;
225  return _par == null ? null : _par.lookup_type(name);
226  }

References com.cliffc.aa.Env._par, com.cliffc.aa.Env._scope, com.cliffc.aa.node.ScopeNode.get_type(), and com.cliffc.aa.Env.lookup_type().

Referenced by com.cliffc.aa.node.ConTypeNode.def_fref(), com.cliffc.aa.Env.lookup_type(), com.cliffc.aa.Parse.tstmt(), and com.cliffc.aa.Parse.type0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lookup_valtype()

Type com.cliffc.aa.Env.lookup_valtype ( String  name)
package

Definition at line 191 of file Env.java.

191  {
192  Node n = lookup(name);
193  if( !(n instanceof UnresolvedNode) ) return n._val;
194  // For unresolved, use the ambiguous type
195  return n.value(GVNGCM.Mode.Opto);
196  }

References com.cliffc.aa.node.Node._val, com.cliffc.aa.Env.lookup(), com.cliffc.aa.GVNGCM.Mode.Opto, and com.cliffc.aa.node.Node.value().

Referenced by com.cliffc.aa.TestParse.test_prim().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nongen_pop()

Node com.cliffc.aa.Env.nongen_pop ( Node  ret)
package

Definition at line 254 of file Env.java.

254 { _nongen = _nongen._par; return ret;}

References com.cliffc.aa.Env._nongen, and com.cliffc.aa.Env.VStack._par.

Referenced by com.cliffc.aa.Parse.stmt().

Here is the caller graph for this function:

◆ nongen_push()

void com.cliffc.aa.Env.nongen_push ( Env  par)
package

Definition at line 255 of file Env.java.

255 { _nongen = new VStack(par._nongen); }

References com.cliffc.aa.Env._nongen.

Referenced by com.cliffc.aa.Env.Env(), and com.cliffc.aa.Parse.stmt().

Here is the caller graph for this function:

◆ record_for_top_reset1()

static void com.cliffc.aa.Env.record_for_top_reset1 ( )
staticprivate

Definition at line 153 of file Env.java.

153  {
154  BitsAlias.init0();
155  BitsFun .init0();
156  BitsRPC .init0();
157  }

References com.cliffc.aa.type.BitsFun.init0(), com.cliffc.aa.type.BitsRPC.init0(), and com.cliffc.aa.type.BitsAlias.init0().

Referenced by com.cliffc.aa.Env.top_scope().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ record_for_top_reset2()

static void com.cliffc.aa.Env.record_for_top_reset2 ( )
staticprivate

Definition at line 158 of file Env.java.

158 { GVN.init0(); Node.init0(); }

References com.cliffc.aa.Env.GVN, com.cliffc.aa.node.Node.init0(), and com.cliffc.aa.GVNGCM.init0().

Referenced by com.cliffc.aa.Env.top_scope().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ top_reset()

static void com.cliffc.aa.Env.top_reset ( )
staticprivate

Definition at line 162 of file Env.java.

162  {
166  TV2 .reset_to_init0();
167  GVN .reset_to_init0();
168  Node .reset_to_init0();
169  FunNode .reset();
171  PrimNode .reset();
172  ALL_DISPLAYS = BitsAlias.EMPTY; // Reset aliases declared as Displays
174  }

References com.cliffc.aa.Env.ALL_DISPLAYS, com.cliffc.aa.type.BitsAlias.EMPTY, com.cliffc.aa.Env.GVN, com.cliffc.aa.Env.LEX_DISPLAYS, com.cliffc.aa.node.PrimNode.reset(), com.cliffc.aa.node.FunNode.reset(), com.cliffc.aa.node.NewNode< T extends TypeObj< T >.NewPrimNode< T extends TypeObj< T >.reset(), com.cliffc.aa.type.BitsFun.reset_to_init0(), com.cliffc.aa.type.BitsRPC.reset_to_init0(), com.cliffc.aa.type.BitsAlias.reset_to_init0(), com.cliffc.aa.node.Node.reset_to_init0(), com.cliffc.aa.GVNGCM.reset_to_init0(), and com.cliffc.aa.tvar.TV2.reset_to_init0().

Referenced by com.cliffc.aa.Env.top_scope().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ top_scope()

static Env com.cliffc.aa.Env.top_scope ( )
static

Definition at line 72 of file Env.java.

72  {
73  boolean first_time = START == null;
74  if( first_time ) record_for_top_reset1();
75  else top_reset();
76 
77  // Top-level default values; ALL_CTRL is used by declared functions to
78  // indicate that future not-yet-parsed code may call the function.
79  START = GVN.init (new StartNode());
82  XNIL = GVN.xform(new ConNode<>(Type.XNIL )).keep();
83  NIL = GVN.xform(new ConNode<>(Type.NIL )).keep();
84  ANY = GVN.xform(new ConNode<>(Type.ANY )).keep();
85  ALL = GVN.xform(new ConNode<>(Type.ALL )).keep();
87  // Initial control & memory
88  CTL_0 = GVN.init(new CProjNode(START,0));
89  DEFMEM = GVN.init(new DefMemNode( CTL_0));
90  MEM_0 = GVN.init(new StartMemNode(START ));
91  // Top-most (file-scope) lexical environment
92  Env top = new Env();
93  // Top-level display defining all primitives
94  SCP_0 = top._scope;
95  SCP_0.init(); // Add base types
96  STK_0 = SCP_0.stk();
97 
98  STK_0.keep(); // Inputs & type will rapidly change
99  for( PrimNode prim : PrimNode.PRIMS() )
100  STK_0.add_fun(null,prim._name,(FunPtrNode) GVN.xform(prim.as_fun(GVN)));
102  STK_0.add_fun(null,lib ._name,(FunPtrNode) GVN.xform(lib .as_fun(GVN)));
103  // Top-level constants
106  STK_0.unkeep();
107  // Run the worklist dry
109 
110  if( first_time ) record_for_top_reset2();
111  return top;
112  }

References com.cliffc.aa.Env._scope, com.cliffc.aa.node.NewObjNode.add_fun(), com.cliffc.aa.Env.ALL, com.cliffc.aa.type.Type< T extends Type< T >.ALL, com.cliffc.aa.Env.ALL_CALL, com.cliffc.aa.type.TypeRPC.ALL_CALL, com.cliffc.aa.Env.ALL_CTRL, com.cliffc.aa.Env.ANY, com.cliffc.aa.type.Type< T extends Type< T >.ANY, com.cliffc.aa.node.Node.con(), com.cliffc.aa.node.NewObjNode.create_active(), com.cliffc.aa.Env.CTL_0, com.cliffc.aa.type.Type< T extends Type< T >.CTRL, com.cliffc.aa.Env.DEFMEM, com.cliffc.aa.Env.Env(), com.cliffc.aa.type.TypeFld.Access.Final, com.cliffc.aa.Env.GVN, com.cliffc.aa.node.ScopeNode.init(), com.cliffc.aa.GVNGCM.init(), com.cliffc.aa.node.NewNode< T extends TypeObj< T >.NewPrimNode< T extends TypeObj< T >.INTRINSICS, com.cliffc.aa.GVNGCM.iter(), com.cliffc.aa.node.Node.keep(), com.cliffc.aa.Env.MEM_0, com.cliffc.aa.Env.NIL, com.cliffc.aa.type.Type< T extends Type< T >.NIL, com.cliffc.aa.node.NewObjNode.no_more_fields(), com.cliffc.aa.GVNGCM.Mode.Parse, com.cliffc.aa.type.TypeFlt.PI, com.cliffc.aa.node.PrimNode.PRIMS, com.cliffc.aa.Env.record_for_top_reset1(), com.cliffc.aa.Env.record_for_top_reset2(), com.cliffc.aa.Env.SCP_0, com.cliffc.aa.Env.START, com.cliffc.aa.node.ScopeNode.stk(), com.cliffc.aa.Env.STK_0, com.cliffc.aa.Env.top_reset(), com.cliffc.aa.Env.XCTRL, com.cliffc.aa.type.Type< T extends Type< T >.XCTRL, com.cliffc.aa.GVNGCM.xform(), com.cliffc.aa.Env.XNIL, and com.cliffc.aa.type.Type< T extends Type< T >.XNIL.

Referenced by com.cliffc.aa.Env.file_scope(), com.cliffc.aa.REPL.go_one(), com.cliffc.aa.AA.main(), com.cliffc.aa.TestParse.run(), com.cliffc.aa.TestParse.test_prim(), com.cliffc.aa.TestParse.testary(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve2(), com.cliffc.aa.TestParse.testerr(), com.cliffc.aa.node.TestNodeSmall.testMemoryArgs(), com.cliffc.aa.node.TestNode.testMonotonic(), com.cliffc.aa.TestLive.testNewObj(), com.cliffc.aa.node.TestNode.testNode(), com.cliffc.aa.TestParse.testParse06(), com.cliffc.aa.TestParse.testParse07(), com.cliffc.aa.node.TestNodeSmall.testRecursiveDisplay(), and com.cliffc.aa.node.TestNodeSmall.testUnresolvedAdd().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _nongen

◆ _par

◆ _scope

◆ ALL

ConNode com.cliffc.aa.Env.ALL
static

Definition at line 25 of file Env.java.

Referenced by com.cliffc.aa.node.PrimNode.as_fun(), and com.cliffc.aa.Env.top_scope().

◆ ALL_CALL

◆ ALL_CTRL

◆ ALL_DISPLAYS

◆ ANY

◆ CTL_0

CProjNode com.cliffc.aa.Env.CTL_0
static

Definition at line 15 of file Env.java.

Referenced by com.cliffc.aa.Env.Env(), and com.cliffc.aa.Env.top_scope().

◆ DEFMEM

DefMemNode com.cliffc.aa.Env.DEFMEM
static

Definition at line 19 of file Env.java.

Referenced by com.cliffc.aa.node.CallNode._ideal_grow(), com.cliffc.aa.Parse._short_circuit_expr(), com.cliffc.aa.node.MemJoinNode.add_alias_below(), com.cliffc.aa.node.NewNode< TypeStruct >.add_reduce_extra(), com.cliffc.aa.node.MemPrimNode.ReadPrimNode.as_fun(), com.cliffc.aa.node.MemPrimNode.WritePrimNode.as_fun(), com.cliffc.aa.node.PrimNode.as_fun(), com.cliffc.aa.node.NewNode< T extends TypeObj< T >.NewPrimNode< TypeAry >.as_fun(), com.cliffc.aa.node.TestNodeSmall.check(), com.cliffc.aa.node.MemSplitNode.check_split(), com.cliffc.aa.node.IntrinsicNode.convertTypeName(), com.cliffc.aa.node.IntrinsicNode.convertTypeNameStruct(), com.cliffc.aa.Parse.do_call0(), com.cliffc.aa.Parse.func(), com.cliffc.aa.node.AssertNode.ideal_grow(), com.cliffc.aa.node.PrimNode.AndThen.ideal_grow(), com.cliffc.aa.node.PrimNode.OrElse.ideal_grow(), com.cliffc.aa.node.FunNode.ideal_inline(), com.cliffc.aa.node.NewObjNode.ideal_mono(), com.cliffc.aa.node.MrgProjNode.ideal_reduce(), com.cliffc.aa.node.CallEpiNode.ideal_reduce(), com.cliffc.aa.Env.init(), com.cliffc.aa.node.NewNode< TypeStruct >.kill2(), com.cliffc.aa.node.MProjNode.live_use(), com.cliffc.aa.Parse.remove_unknown_callers(), com.cliffc.aa.node.FunNode.split_callers(), com.cliffc.aa.Parse.string(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve2(), com.cliffc.aa.node.TestNode.testMonotonic(), com.cliffc.aa.node.TestNodeSmall.testRecursiveDisplay(), com.cliffc.aa.Env.top_scope(), com.cliffc.aa.Parse.tuple(), com.cliffc.aa.node.MemJoinNode.value(), com.cliffc.aa.node.CallEpiNode.value(), and com.cliffc.aa.node.CallEpiNode.wire0().

◆ GVN

final GVNGCM com.cliffc.aa.Env.GVN = new GVNGCM()
static

Definition at line 13 of file Env.java.

Referenced by com.cliffc.aa.Parse._args(), com.cliffc.aa.tvar.TV2._fresh_unify(), com.cliffc.aa.node.CallNode._ideal_grow(), com.cliffc.aa.Parse._short_circuit_expr(), com.cliffc.aa.node.TestNodeSmall._testMonotonicChain(), com.cliffc.aa.node.MrgProjNode.add_flow_def_extra(), com.cliffc.aa.node.RegionNode.add_flow_def_extra(), com.cliffc.aa.node.NewNode< TypeStruct >.add_flow_def_extra(), com.cliffc.aa.node.CallNode.add_flow_def_extra(), com.cliffc.aa.node.FreshNode.add_flow_extra(), com.cliffc.aa.node.CastNode.add_flow_extra(), com.cliffc.aa.node.StoreNode.add_flow_extra(), com.cliffc.aa.node.NewObjNode.add_flow_extra(), com.cliffc.aa.node.FunPtrNode.add_flow_extra(), com.cliffc.aa.node.CallNode.add_flow_extra(), com.cliffc.aa.node.CProjNode.add_flow_use_extra(), com.cliffc.aa.node.MProjNode.add_flow_use_extra(), com.cliffc.aa.node.ParmNode.add_flow_use_extra(), com.cliffc.aa.node.AssertNode.add_flow_use_extra(), com.cliffc.aa.node.NewStrNode.AddStrStr.add_flow_use_extra(), com.cliffc.aa.node.FunPtrNode.add_flow_use_extra(), com.cliffc.aa.node.RegionNode.add_flow_use_extra(), com.cliffc.aa.node.LoadNode.add_flow_use_extra(), com.cliffc.aa.node.CallEpiNode.add_flow_use_extra(), com.cliffc.aa.node.CallNode.add_flow_use_extra(), com.cliffc.aa.node.MemSplitNode.add_reduce_extra(), com.cliffc.aa.node.NewNode< TypeStruct >.add_reduce_extra(), com.cliffc.aa.node.StoreNode.add_reduce_extra(), com.cliffc.aa.node.CallNode.add_reduce_extra(), com.cliffc.aa.node.PrimNode.as_fun(), com.cliffc.aa.node.CastNode.CastNode(), com.cliffc.aa.Env.close(), com.cliffc.aa.node.Node.con(), com.cliffc.aa.node.IntrinsicNode.convertTypeName(), com.cliffc.aa.node.IntrinsicNode.convertTypeNameStruct(), com.cliffc.aa.node.CastNode.copy(), com.cliffc.aa.node.NewNode< TypeStruct >.copy(), com.cliffc.aa.node.Node.copy(), com.cliffc.aa.node.NewObjNode.create_active(), com.cliffc.aa.Parse.do_call0(), com.cliffc.aa.node.Node.do_flow(), com.cliffc.aa.node.Node.do_grow(), com.cliffc.aa.node.Node.do_mono(), com.cliffc.aa.node.Node.do_reduce(), com.cliffc.aa.Env.Env(), com.cliffc.aa.node.UnresolvedNode.filter(), com.cliffc.aa.node.IfNode.flip(), com.cliffc.aa.node.AssertNode.ideal_grow(), com.cliffc.aa.node.LoadNode.ideal_grow(), com.cliffc.aa.node.PrimNode.AndThen.ideal_grow(), com.cliffc.aa.node.PrimNode.OrElse.ideal_grow(), com.cliffc.aa.node.FunNode.ideal_inline(), com.cliffc.aa.node.NewObjNode.ideal_mono(), com.cliffc.aa.node.IfNode.ideal_reduce(), com.cliffc.aa.node.RegionNode.ideal_reduce(), com.cliffc.aa.node.StoreNode.ideal_reduce(), com.cliffc.aa.node.ScopeNode.ideal_reduce(), com.cliffc.aa.node.CallNode.ideal_reduce(), com.cliffc.aa.node.FunNode.ideal_reduce(), com.cliffc.aa.Parse.ifex(), com.cliffc.aa.node.ScopeNode.init(), com.cliffc.aa.Env.init(), com.cliffc.aa.node.Node.init1(), com.cliffc.aa.node.MemSplitNode.insert_split(), com.cliffc.aa.node.NewNode< TypeStruct >.kill2(), com.cliffc.aa.Env.lookup_filter_fresh(), com.cliffc.aa.node.FunNode.make_new_fun(), com.cliffc.aa.node.Node.merge(), com.cliffc.aa.node.FunPtrNode.merge_ref_def(), com.cliffc.aa.node.Node.more_flow(), com.cliffc.aa.node.Node.more_ideal(), com.cliffc.aa.Parse.Parse(), com.cliffc.aa.node.NewObjNode.promote_forward(), com.cliffc.aa.Env.record_for_top_reset2(), com.cliffc.aa.node.ScopeNode.replace_mem(), com.cliffc.aa.GVNGCM.retype_mem(), com.cliffc.aa.node.CallEpiNode.set_is_copy(), com.cliffc.aa.node.FunNode.set_is_copy(), com.cliffc.aa.node.ScopeNode.set_mem(), com.cliffc.aa.node.FunNode.split_callers(), com.cliffc.aa.node.FunNode.split_size(), com.cliffc.aa.Parse.stmts(), com.cliffc.aa.node.CallNode.swap_new(), com.cliffc.aa.node.RetNode.tail_recursive(), com.cliffc.aa.Parse.term(), com.cliffc.aa.type.TestApprox.testApprox8(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve(), com.cliffc.aa.node.TestNodeSmall.testCallNodeResolve2(), com.cliffc.aa.node.TestNodeSmall.testMemoryArgs(), com.cliffc.aa.node.TestNode.testMonotonic(), com.cliffc.aa.TestLive.testNewObj(), com.cliffc.aa.node.TestNodeSmall.testRecursiveDisplay(), com.cliffc.aa.node.TestNodeSmall.testUnresolvedAdd(), com.cliffc.aa.Env.top_reset(), com.cliffc.aa.Env.top_scope(), com.cliffc.aa.node.Node.unelock(), com.cliffc.aa.node.Node.unhook(), com.cliffc.aa.tvar.TV2.unify_at(), com.cliffc.aa.tvar.TV2.union(), com.cliffc.aa.node.Node.unuse(), com.cliffc.aa.node.FunNode.unwire(), com.cliffc.aa.node.CallEpiNode.unwire(), com.cliffc.aa.node.NewObjNode.update(), com.cliffc.aa.node.Node.walk_opt(), and com.cliffc.aa.node.Node.xval().

◆ LEX_DISPLAYS

◆ MEM_0

StartMemNode com.cliffc.aa.Env.MEM_0
static

Definition at line 16 of file Env.java.

Referenced by com.cliffc.aa.Env.Env(), and com.cliffc.aa.Env.top_scope().

◆ NIL

ConNode com.cliffc.aa.Env.NIL
static

Definition at line 23 of file Env.java.

Referenced by com.cliffc.aa.Env.top_scope().

◆ SCP_0

◆ START

◆ STK_0

NewObjNode com.cliffc.aa.Env.STK_0
static

Definition at line 17 of file Env.java.

Referenced by com.cliffc.aa.Env.top_scope().

◆ XCTRL

◆ XNIL


The documentation for this class was generated from the following file:
com.cliffc.aa.node.NewObjNode.exists
boolean exists(String name)
Definition: NewObjNode.java:38
com.cliffc.aa.node.ScopeNode.add_type
void add_type(String name, ConTypeNode t)
Definition: ScopeNode.java:97
com.cliffc.aa.type.BitsRPC.reset_to_init0
static void reset_to_init0()
Definition: BitsRPC.java:29
com.cliffc.aa.type.TypeFld.Access.Final
Final
Definition: TypeFld.java:112
com.cliffc.aa.node.PrimNode.reset
static void reset()
Definition: PrimNode.java:40
com.cliffc.aa.node.PrimNode
Definition: PrimNode.java:20
com.cliffc.aa.node.NewObjNode.no_more_fields
void no_more_fields()
Definition: NewObjNode.java:48
com.cliffc.aa.Env.XCTRL
static ConNode XCTRL
Definition: Env.java:21
com.cliffc.aa.type.Bits.clear
B clear(int bit)
Definition: Bits.java:255
com.cliffc.aa.type.Type.SCALAR
static final Type SCALAR
Definition: Type.java:328
com.cliffc.aa.Env.ALL_CALL
static ConNode ALL_CALL
Definition: Env.java:26
com.cliffc.aa.Env.top_scope
static Env top_scope()
Definition: Env.java:72
com.cliffc.aa.node.ScopeNode
Definition: ScopeNode.java:17
com.cliffc.aa.node.Node
Definition: Node.java:16
com.cliffc.aa.type.TypeRPC.ALL_CALL
static final TypeRPC ALL_CALL
Definition: TypeRPC.java:31
com.cliffc.aa.node.ScopeNode.ctrl
Node ctrl()
Definition: ScopeNode.java:44
com.cliffc.aa.Env.early_exit
Node early_exit(Parse P, Node val)
Definition: Env.java:121
com.cliffc.aa.Env.top_reset
static void top_reset()
Definition: Env.java:162
com.cliffc.aa.node.UnOrFunPtrNode
Definition: UnOrFunPtrNode.java:6
com.cliffc.aa.type.BitsFun.init0
static void init0()
Definition: BitsFun.java:28
com.cliffc.aa.GVNGCM.add_work_all
Node add_work_all(Node n)
Definition: GVNGCM.java:73
com.cliffc.aa.type.Type
an implementation of language AA
Definition: Type.java:94
com.cliffc.aa.type.TypeFlt
Definition: TypeFlt.java:9
com.cliffc.aa.node.CProjNode
Definition: CProjNode.java:10
com.cliffc.aa.type.BitsAlias
Definition: BitsAlias.java:8
com.cliffc.aa.node.NewNode.NewPrimNode
Definition: NewNode.java:170
com.cliffc.aa.node.Node.keep
public< N extends Node > N keep()
Definition: Node.java:228
com.cliffc.aa.Env.nongen_push
void nongen_push(Env par)
Definition: Env.java:255
com.cliffc.aa.Env.record_for_top_reset1
static void record_for_top_reset1()
Definition: Env.java:153
com.cliffc.aa.Env.lookup_type
ConTypeNode lookup_type(String name)
Definition: Env.java:222
com.cliffc.aa.node.Node._val
Type _val
Definition: Node.java:88
com.cliffc.aa.type.TypeFlt.PI
static final TypeFlt PI
Definition: TypeFlt.java:40
com.cliffc.aa.Env.STK_0
static NewObjNode STK_0
Definition: Env.java:17
com.cliffc.aa.node.NewObjNode.add_fun
FunPtrNode add_fun(Parse bad, String name, FunPtrNode ptr)
Definition: NewObjNode.java:76
com.cliffc.aa.Env.XNIL
static ConNode XNIL
Definition: Env.java:22
com.cliffc.aa.node.StartMemNode
Definition: StartMemNode.java:8
com.cliffc.aa.type.Type.ANY
static final Type ANY
Definition: Type.java:325
com.cliffc.aa.node.ConNode
Definition: ConNode.java:9
com.cliffc.aa.node.ScopeNode.ptr
Node ptr()
Definition: ScopeNode.java:46
com.cliffc.aa.node.FunPtrNode
Definition: FunPtrNode.java:40
com.cliffc.aa.GVNGCM.reset_to_init0
void reset_to_init0()
Definition: GVNGCM.java:89
com.cliffc.aa.type.TypeStruct
A memory-based collection of optionally named fields.
Definition: TypeStruct.java:50
com.cliffc.aa.Env.ALL_DISPLAYS
static BitsAlias ALL_DISPLAYS
Definition: Env.java:28
com.cliffc.aa.Env.START
static StartNode START
Definition: Env.java:14
com.cliffc.aa.tvar.TV2.reset_to_init0
static void reset_to_init0()
Definition: TV2.java:183
com.cliffc.aa.Env.lookup
Node lookup(String name)
Definition: Env.java:186
com.cliffc.aa.node.Node.init0
static void init0()
Definition: Node.java:70
com.cliffc.aa.type.Type.ALL
static final Type ALL
Definition: Type.java:324
com.cliffc.aa.Env.ALL
static ConNode ALL
Definition: Env.java:25
com.cliffc.aa.node.NewNode._tptr
TypeMemPtr _tptr
Definition: NewNode.java:34
com.cliffc.aa.GVNGCM.xform
Node xform(Node n)
Definition: GVNGCM.java:126
com.cliffc.aa.Env.GVN
static final GVNGCM GVN
Definition: Env.java:13
com.cliffc.aa.node.Node.unkeep
public< N extends Node > N unkeep()
Definition: Node.java:232
com.cliffc.aa.Env.init
static ScopeNode init(Node ctl, Node clo, Node mem, Type back_ptr, Parse errmsg, boolean is_closure)
Definition: Env.java:55
com.cliffc.aa.node.Node.is_dead
boolean is_dead()
Definition: Node.java:820
com.cliffc.aa.Env.close_display
void close_display(GVNGCM gvn)
Definition: Env.java:128
com.cliffc.aa.node.Node.value
abstract Type value(GVNGCM.Mode opt_mode)
com.cliffc.aa.node.NewNode.NewPrimNode.INTRINSICS
static final Ary< NewPrimNode > INTRINSICS
Definition: NewNode.java:186
com.cliffc.aa.node.ScopeNode.mem
Node mem()
Definition: ScopeNode.java:45
com.cliffc.aa.node.DefMemNode.make_mem_proj
MrgProjNode make_mem_proj(NewNode nn, Node mem)
Definition: DefMemNode.java:59
com.cliffc.aa.node.PrimNode.PRIMS
static PrimNode[] PRIMS
Definition: PrimNode.java:36
com.cliffc.aa.Parse.errMsg
Parse errMsg()
Definition: Parse.java:1455
com.cliffc.aa.type.BitsRPC
Definition: BitsRPC.java:8
com.cliffc.aa.AA.REZ_IDX
static final int REZ_IDX
Definition: AA.java:16
com.cliffc.aa.type.Type.CTRL
static final Type CTRL
Definition: Type.java:326
com.cliffc.aa.node.FunNode.reset
static void reset()
Definition: FunNode.java:100
com.cliffc.aa.Env._nongen
VStack _nongen
Definition: Env.java:36
com.cliffc.aa.Env.CTL_0
static CProjNode CTL_0
Definition: Env.java:15
com.cliffc.aa.type.Type.XCTRL
static final Type XCTRL
Definition: Type.java:327
com.cliffc.aa.GVNGCM
Definition: GVNGCM.java:12
com.cliffc.aa.node.ScopeNode.get
Node get(String name)
Definition: ScopeNode.java:76
com.cliffc.aa.type.TypeStruct.open
static TypeStruct open(Type tdisp)
Definition: TypeStruct.java:210
com.cliffc.aa.node.FreshNode
Definition: FreshNode.java:11
com.cliffc.aa.node.ScopeNode.is_closure
boolean is_closure()
Definition: ScopeNode.java:102
com.cliffc.aa.node.UnOrFunPtrNode.filter
abstract UnOrFunPtrNode filter(int nargs)
com.cliffc.aa.type.BitsAlias.EMPTY
static BitsAlias EMPTY
Definition: BitsAlias.java:27
com.cliffc.aa.node.ProjNode
Definition: ProjNode.java:11
com.cliffc.aa.node.DefMemNode
Definition: DefMemNode.java:8
com.cliffc.aa.type.BitsFun
Definition: BitsFun.java:7
com.cliffc.aa.Env.MEM_0
static StartMemNode MEM_0
Definition: Env.java:16
com.cliffc.aa.node.NewObjNode
Definition: NewObjNode.java:20
com.cliffc.aa.type.BitsAlias.init0
static void init0()
Definition: BitsAlias.java:63
com.cliffc.aa.type.Type.NIL
static final Type NIL
Definition: Type.java:332
com.cliffc.aa.Env.record_for_top_reset2
static void record_for_top_reset2()
Definition: Env.java:158
com.cliffc.aa.node.Node.con
static Node con(Type t)
Definition: Node.java:670
com.cliffc.aa.Parse.isOp
static boolean isOp(String s)
Definition: Parse.java:1089
com.cliffc.aa.Parse.do_exit
Node do_exit(ScopeNode s, Node rez)
Definition: Parse.java:1019
com.cliffc.aa.Env.VStack._par
final VStack _par
Definition: Env.java:257
com.cliffc.aa.AA
an implementation of language AA
Definition: AA.java:9
com.cliffc.aa.Env._par
final Env _par
Definition: Env.java:34
com.cliffc.aa.GVNGCM.init0
void init0()
Definition: GVNGCM.java:83
com.cliffc.aa.node.ConTypeNode
Definition: ConTypeNode.java:18
com.cliffc.aa.node.UnresolvedNode
Definition: UnresolvedNode.java:13
com.cliffc.aa.type.BitsRPC.init0
static void init0()
Definition: BitsRPC.java:28
com.cliffc.aa.node.ScopeNode.set_rez
void set_rez(Node n)
Definition: ScopeNode.java:51
com.cliffc.aa.node.NewNode
Definition: NewNode.java:17
com.cliffc.aa.Env.Env
Env()
Definition: Env.java:40
com.cliffc.aa.node.ScopeNode.stk
NewObjNode stk()
Definition: ScopeNode.java:48
com.cliffc.aa.node.ScopeNode.set_ptr
void set_ptr(Node n)
Definition: ScopeNode.java:50
com.cliffc.aa.node.MrgProjNode
Definition: MrgProjNode.java:10
com.cliffc.aa.type.BitsFun.reset_to_init0
static void reset_to_init0()
Definition: BitsFun.java:29
com.cliffc.aa.Env.SCP_0
static ScopeNode SCP_0
Definition: Env.java:18
com.cliffc.aa.Env.LEX_DISPLAYS
static BitsAlias LEX_DISPLAYS
Definition: Env.java:31
com.cliffc.aa.node.Node.reset_to_init0
static void reset_to_init0()
Definition: Node.java:77
com.cliffc.aa.node.StartNode
Definition: StartNode.java:12
com.cliffc.aa.tvar.TV2
Definition: TV2.java:23
com.cliffc.aa.GVNGCM.Mode.Opto
Opto
Definition: GVNGCM.java:17
com.cliffc.aa.type.TypeRPC
Definition: TypeRPC.java:7
com.cliffc.aa.node.NewObjNode.create_active
void create_active(String name, Node val, Access mutable)
Definition: NewObjNode.java:57
com.cliffc.aa.GVNGCM._opt_mode
Mode _opt_mode
Definition: GVNGCM.java:22
com.cliffc.aa.type.Type.XNIL
static final Type XNIL
Definition: Type.java:333
com.cliffc.aa.Env._scope
final ScopeNode _scope
Definition: Env.java:35
com.cliffc.aa.Env.NIL
static ConNode NIL
Definition: Env.java:23
com.cliffc.aa.GVNGCM.add_flow
public< N extends Node > N add_flow(N n)
Definition: GVNGCM.java:50
com.cliffc.aa.GVNGCM.add_dead
void add_dead(Node n)
Definition: GVNGCM.java:48
com.cliffc.aa.node.NewNode._alias
int _alias
Definition: NewNode.java:20
com.cliffc.aa.GVNGCM.iter
void iter(Mode opt_mode)
Definition: GVNGCM.java:147
com.cliffc.aa.util.Ary.find
int find(E e)
Find the first matching element using ==, or -1 if none.
Definition: Ary.java:192
com.cliffc.aa.type.TypeFld.Access
Definition: TypeFld.java:109
com.cliffc.aa.node.ScopeNode.set_ctrl
public< N extends Node > N set_ctrl(N n)
Definition: ScopeNode.java:49
com.cliffc.aa.node.FunNode
Definition: FunNode.java:58
com.cliffc.aa.Env.lookup_fref
Env lookup_fref(String tok)
Definition: Env.java:311
com.cliffc.aa.node.ScopeNode.get_type
ConTypeNode get_type(String name)
Definition: ScopeNode.java:85
com.cliffc.aa.Env.ANY
static ConNode ANY
Definition: Env.java:24
com.cliffc.aa.type.Bits.set
B set(int bit)
Definition: Bits.java:264
com.cliffc.aa.node.NewNode.NewPrimNode.reset
static void reset()
Definition: NewNode.java:188
com.cliffc.aa.node.NewObjNode.promote_forward
void promote_forward(NewObjNode parent)
Definition: NewObjNode.java:94
com.cliffc.aa.Env.DEFMEM
static DefMemNode DEFMEM
Definition: Env.java:19
com.cliffc.aa.node.ScopeNode.init
void init()
Definition: ScopeNode.java:37
com.cliffc.aa.node.Node.op_prec
byte op_prec()
Definition: Node.java:533
com.cliffc.aa.Env
Definition: Env.java:12
com.cliffc.aa.GVNGCM.Mode.Parse
Parse
Definition: GVNGCM.java:15
com.cliffc.aa.node.ScopeNode.set_mem
Node set_mem(Node n)
Definition: ScopeNode.java:54
com.cliffc.aa.GVNGCM.init
public< N extends Node > N init(N n)
Definition: GVNGCM.java:99
com.cliffc.aa.Parse
an implementation of language AA
Definition: Parse.java:68
com.cliffc.aa.Env.ALL_CTRL
static ConNode ALL_CTRL
Definition: Env.java:20
com.cliffc.aa.Env.VStack._flds
Ary< String > _flds
Definition: Env.java:258
com.cliffc.aa.GVNGCM.Mode
Definition: GVNGCM.java:14
com.cliffc.aa.Env.lookup_scope
ScopeNode lookup_scope(String name, boolean lookup_current_scope_only)
Definition: Env.java:177
com.cliffc.aa.type.BitsAlias.reset_to_init0
static void reset_to_init0()
Definition: BitsAlias.java:64