aa
com.cliffc.aa.HM.HM5.Worklist Class Reference
Collaboration diagram for com.cliffc.aa.HM.HM5.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 86 of file HM5.java.

Member Function Documentation

◆ addAll()

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

Definition at line 95 of file HM5.java.

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

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

Referenced by com.cliffc.aa.HM.HM5.T2.add_deps_work_impl(), com.cliffc.aa.HM.HM5.Lambda.add_occurs(), com.cliffc.aa.HM.HM5.Lambda2.add_occurs(), and com.cliffc.aa.HM.HM5.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.HM5.Worklist.has ( Syntax  s)

Definition at line 94 of file HM5.java.

94 { return _work.contains(s); }

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

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

Here is the caller graph for this function:

◆ len()

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

Definition at line 90 of file HM5.java.

90 { return _ary.len(); }

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

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

Here is the caller graph for this function:

◆ pop()

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

Definition at line 93 of file HM5.java.

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

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

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

Here is the caller graph for this function:

◆ push()

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

Definition at line 91 of file HM5.java.

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

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

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

Here is the caller graph for this function:

◆ toString()

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

Definition at line 96 of file HM5.java.

96 { return _ary.toString(); }

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

Member Data Documentation

◆ _ary

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

◆ _cnt

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

Definition at line 87 of file HM5.java.

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

◆ _work

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

The documentation for this class was generated from the following file:
com.cliffc.aa.HM.HM5.Worklist._ary
final Ary< Syntax > _ary
Definition: HM5.java:88
com.cliffc.aa.HM.HM5.Worklist._work
final HashSet< Syntax > _work
Definition: HM5.java:89
com.cliffc.aa.HM.HM5.Worklist.push
void push(Syntax s)
Definition: HM5.java:91
com.cliffc.aa.HM.HM5.Worklist._cnt
int _cnt
Definition: HM5.java:87