| 586 | |
| 587 | // Make an array type of t |
| 588 | private TypeMemPtr typeAry( Type t ) { |
| 589 | if( t instanceof TypeMemPtr tmp && !tmp._nil ) |
| 590 | throw error("Arrays of reference types must always be nullable"); |
| 591 | String tname = "["+t.str()+"]"; |
| 592 | Type ta = TYPES.get(tname); |
| 593 | if( ta != null ) return (TypeMemPtr)ta; |
| 594 | // Need make an array type. |
| 595 | TypeStruct ts = TypeStruct.makeAry(TypeInteger.BOT,ALIAS++,t,ALIAS++); |
| 596 | assert ts.str().equals(tname); |
| 597 | TypeMemPtr tary = TypeMemPtr.make(ts); |
| 598 | TYPES.put(tname,tary); |
| 599 | return tary; |
| 600 | } |
| 601 | |
| 602 | |
| 603 | /** |