aa
com.cliffc.aa.HM.HM6.Worklist Class Reference
Collaboration diagram for com.cliffc.aa.HM.HM6.Worklist:
[legend]

Public Member Functions

void addAll (Ary<? extends Syntax > ss)
 
boolean has (Syntax s)
 
int len ()
 
Syntax pop ()
 
void push (Syntax s)
 
String toString ()
 

Public Attributes

int _cnt
 

Private Attributes

final Ary< Syntax_ary = new Ary<>(Syntax.class)
 
final HashSet< Syntax_work = new HashSet<>()
 

Detailed Description

Definition at line 175 of file HM6.java.

Member Function Documentation

◆ addAll()

void com.cliffc.aa.HM.HM6.Worklist.addAll ( Ary<? extends Syntax ss)

Definition at line 184 of file HM6.java.

184 { if( ss != null ) for( Syntax s : ss ) push(s); }

References com.cliffc.aa.HM.HM6.Worklist.push().

Referenced by com.cliffc.aa.HM.HM6.T2.add_deps_work_impl(), com.cliffc.aa.HM.HM6.Lambda.add_occurs(), com.cliffc.aa.HM.HM6.Lambda2.add_occurs(), and com.cliffc.aa.HM.HM6.Let.add_occurs().

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

◆ has()

boolean com.cliffc.aa.HM.HM6.Worklist.has ( Syntax  s)

Definition at line 183 of file HM6.java.

183 { return _work.contains(s); }

References com.cliffc.aa.HM.HM6.Worklist._work.

Referenced by com.cliffc.aa.HM.HM6.Syntax.more_work_impl().

Here is the caller graph for this function:

◆ len()

int com.cliffc.aa.HM.HM6.Worklist.len ( )

Definition at line 179 of file HM6.java.

179 { return _ary.len(); }

References com.cliffc.aa.HM.HM6.Worklist._ary.

Referenced by com.cliffc.aa.HM.HM6.hm().

Here is the caller graph for this function:

◆ pop()

Syntax com.cliffc.aa.HM.HM6.Worklist.pop ( )

Definition at line 182 of file HM6.java.

182 { Syntax s = _ary.del( _cnt++%_ary._len); _work.remove(s); return s; }

References com.cliffc.aa.HM.HM6.Worklist._ary, com.cliffc.aa.HM.HM6.Worklist._cnt, and com.cliffc.aa.HM.HM6.Worklist._work.

Referenced by com.cliffc.aa.HM.HM6.hm().

Here is the caller graph for this function:

◆ push()

void com.cliffc.aa.HM.HM6.Worklist.push ( Syntax  s)

Definition at line 180 of file HM6.java.

180 { if( !_work.contains(s) ) _work.add(_ary.push(s)); }

References com.cliffc.aa.HM.HM6.Worklist._ary, and com.cliffc.aa.HM.HM6.Worklist._work.

Referenced by com.cliffc.aa.HM.HM6.Lambda.add_kids(), com.cliffc.aa.HM.HM6.Lambda2.add_kids(), com.cliffc.aa.HM.HM6.Let.add_kids(), com.cliffc.aa.HM.HM6.Apply.add_kids(), com.cliffc.aa.HM.HM6.Worklist.addAll(), com.cliffc.aa.HM.HM6.hm(), and com.cliffc.aa.HM.HM6.Syntax.prep_tree_impl().

Here is the caller graph for this function:

◆ toString()

String com.cliffc.aa.HM.HM6.Worklist.toString ( )

Definition at line 185 of file HM6.java.

185 { return _ary.toString(); }

References com.cliffc.aa.HM.HM6.Worklist._ary.

Member Data Documentation

◆ _ary

final Ary<Syntax> com.cliffc.aa.HM.HM6.Worklist._ary = new Ary<>(Syntax.class)
private

◆ _cnt

int com.cliffc.aa.HM.HM6.Worklist._cnt

Definition at line 176 of file HM6.java.

Referenced by com.cliffc.aa.HM.HM6.Worklist.pop().

◆ _work

final HashSet<Syntax> com.cliffc.aa.HM.HM6.Worklist._work = new HashSet<>()
private

The documentation for this class was generated from the following file:
com.cliffc.aa.HM.HM6.Worklist._ary
final Ary< Syntax > _ary
Definition: HM6.java:177
com.cliffc.aa.HM.HM6.Worklist.push
void push(Syntax s)
Definition: HM6.java:180
com.cliffc.aa.HM.HM6.Worklist._cnt
int _cnt
Definition: HM6.java:176
com.cliffc.aa.HM.HM6.Worklist._work
final HashSet< Syntax > _work
Definition: HM6.java:178