| 716 | |
| 717 | // Make an array type of t |
| 718 | private TypeMemPtr typeAry( Type t ) { |
| 719 | if( t instanceof TypeMemPtr tmp && !tmp._nil ) |
| 720 | throw error("Arrays of reference types must always be nullable"); |
| 721 | String tname = "["+t.str()+"]"; |
| 722 | Type ta = TYPES.get(tname); |
| 723 | if( ta != null ) return (TypeMemPtr)ta; |
| 724 | // Need make an array type. |
| 725 | TypeStruct ts = TypeStruct.makeAry(TypeInteger.BOT,ALIAS++,t,ALIAS++); |
| 726 | assert ts.str().equals(tname); |
| 727 | TypeMemPtr tary = TypeMemPtr.make(ts); |
| 728 | TYPES.put(tname,tary); |
| 729 | return tary; |
| 730 | } |
| 731 | |
| 732 | /** |
| 733 | * Parse an expression of the form: |