()
| 388 | static boolean recurClose(boolean rez) { VISIT.clear(); return rez; } |
| 389 | |
| 390 | final Type tern() { |
| 391 | if( _terned ) return this; |
| 392 | if( !BITS.get(_uid) ) { |
| 393 | BITS.set(_uid); |
| 394 | int nkids = nkids(); |
| 395 | for( int i=0; i<nkids; i++ ) |
| 396 | set(i,at(i).tern()); |
| 397 | } |
| 398 | Type told = INTERN.get(this); |
| 399 | return told==null ? this : told.delayFree(this); |
| 400 | } |
| 401 | |
| 402 | // Recursive dual. Visit all types recursively. Each visited type is |
| 403 | // *new*, and hits in the intern table, or not. If not, we recursively |