| 527 | |
| 528 | // Make an array type of t |
| 529 | private TypeMemPtr typeAry( Type t ) { |
| 530 | if( t instanceof TypeMemPtr tmp && !tmp._nil ) |
| 531 | throw error("Arrays of reference types must always be nullable"); |
| 532 | String tname = t.str()+"[]"; |
| 533 | Type ta = TYPES.get(tname); |
| 534 | if( ta != null ) return (TypeMemPtr)ta; |
| 535 | // Need make an array type. |
| 536 | TypeStruct ts = TypeStruct.makeAry(TypeInteger.BOT,ALIAS++,t,ALIAS++); |
| 537 | TypeMemPtr tary = TypeMemPtr.make(ts); |
| 538 | TYPES.put(tname,tary); |
| 539 | START.addMemProj(ts, _scope); // Insert memory alias edges |
| 540 | return tary; |
| 541 | } |
| 542 | |
| 543 | |
| 544 | /** |