private int addTopTypeInternal(String name) { if (this.typeNameST.size() > 0) { // System.out.println("Size of type table > 0."); return 0; } // Add name of top type to symbol table. if (top != this.typeNameST.set(name)) throw new RuntimeException(); // System.out.println("Size of name table is: " + typeNameST.size()); // assert (typeNameST.size() == 1); // System.out.println("Code of top type is: " + top); // Create space for top type. newType(); // Make top subsume itself. addSubsubsumption(top, top); this.types.add(new TypeImpl(name, top, this)); this.parents.add(LowLevelTypeSystem.UNKNOWN_TYPE_CODE); this.numCommittedTypes = this.types.size(); return top; }
t = new StringTypeImpl(name, type, this); } else { t = new TypeImpl(name, type, this);
TypeImpl arrayType = new TypeImpl(arrayTypeName, arrayTypeCode, this); this.types.add(arrayType); this.parents.add(motherCode);