JPP: Removed lingua path slugs from dial tone book for smaller size
This commit is contained in:
parent
7dd4e80a2a
commit
c34b7694c5
7 changed files with 83 additions and 56 deletions
|
|
@ -62,7 +62,7 @@ public class ModelDialLingua implements KodeGenModel {
|
|||
|
||||
@Override
|
||||
public String generatorModelHash() {
|
||||
return "5";
|
||||
return "6";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -70,6 +70,13 @@ public class ModelDialLingua implements KodeGenModel {
|
|||
// Load and convert lingua
|
||||
List<String> linguaEntries = loadLinguaEntries();
|
||||
List<NetherSlugNamed> netherSlugs = convertLinguaEntries(linguaEntries);
|
||||
List<NetherSlugNamed> netherSlugsRM = new ArrayList<>();
|
||||
for (int i = 0; i < netherSlugs.size(); i++) {
|
||||
if (i < netherSlugs.size() - 1 && netherSlugs.get(i).linguaName().equals(netherSlugs.get(i+1).linguaName())) {
|
||||
netherSlugsRM.add(netherSlugs.get(i));
|
||||
} // cleans all the parent slugs of a language, this makes the jar file about 6 MB smaller
|
||||
}
|
||||
netherSlugs.removeAll(netherSlugsRM);
|
||||
System.out.println("Lingua entries: " + linguaEntries.size() + " converted: " + netherSlugs.size());
|
||||
|
||||
// add top root entry for defaults of all other languages
|
||||
|
|
@ -92,13 +99,16 @@ public class ModelDialLingua implements KodeGenModel {
|
|||
Map<String, Map<String, List<NetherSlugNamed>>> splitSlugs = new HashMap<>();
|
||||
for (NetherSlugNamed slug : netherSlugs) {
|
||||
int split6Package = slug.view().bl0w() >> 3; // 64 package with 8 files (is 1000+ classes per package folder)
|
||||
String subPackage = "ᐞ" + writer.buildPackageInuktitutDots(split6Package, 6);
|
||||
String subPackage = "ᐞ" + writer.buildInuktitutBinary(split6Package, 6);
|
||||
StringBuilder fileName = new StringBuilder();
|
||||
fileName.append("ᐃ"); // use full prefix dot id for unique class names over all nether sub packages
|
||||
fileName.append(writer.buildPackageInuktitutDots(slug.view().ag1(), 3));
|
||||
fileName.append(writer.buildPackageInuktitutDots(slug.view().ag2(), 3));
|
||||
fileName.append(writer.buildPackageInuktitutDots(slug.view().ag3(), 3));
|
||||
fileName.append(writer.buildPackageInuktitutDots(slug.view().bl0w(), 9));
|
||||
fileName.append(writer.buildInuktitutBinary(slug.view().ag1(), 3));
|
||||
fileName.append("ᐞ");
|
||||
fileName.append(writer.buildInuktitutBinary(slug.view().ag2(), 3));
|
||||
fileName.append("ᐞ");
|
||||
fileName.append(writer.buildInuktitutBinary(slug.view().ag3(), 3));
|
||||
fileName.append(subPackage);
|
||||
fileName.append(writer.buildInuktitutBinary(slug.view().bl0w() & 0b111, 3));
|
||||
String filePackage = fileName.toString();
|
||||
Map<String, List<NetherSlugNamed>> map = splitSlugs.get(subPackage);
|
||||
if (map == null) {
|
||||
|
|
@ -154,13 +164,16 @@ public class ModelDialLingua implements KodeGenModel {
|
|||
humanKlassPart = humanKlassPart.replaceAll(" ", "");
|
||||
// N2L prints LR and read and renders RL
|
||||
String slugName = "ᐊ" + slug.view().toNúmero2Lingua() + "ᐅ" + humanKlassPart;
|
||||
// old lingua classes are below 400 bytes current 1900+, this line below removes about 80-100 bytes per class.
|
||||
//String slugName = "ᐅ" + slug.linguaKey().replaceAll("\\-", "ᐨ").replaceAll("\\+", "ᐩ");
|
||||
// TODO: check class byte code of structure to see if structural changes can drop the total size
|
||||
buf.append("\t/// ");
|
||||
buf.append(slug.linguaKey);
|
||||
buf.append("\n");
|
||||
buf.append("\t");
|
||||
buf.append("non-sealed interface ");
|
||||
buf.append("\tnon-sealed interface ");
|
||||
buf.append(slugName);
|
||||
buf.append(" extends ");
|
||||
buf.append("\n");
|
||||
buf.append("\t\t\textends ");
|
||||
buf.append(javaName);
|
||||
buf.append(", ");
|
||||
List<Class<?>> tones = slug.view().toNetherTones(0);
|
||||
|
|
@ -173,7 +186,8 @@ public class ModelDialLingua implements KodeGenModel {
|
|||
buf.append(", ");
|
||||
}
|
||||
}
|
||||
buf.append(" {}\n");
|
||||
buf.append(" {\n");
|
||||
buf.append("\t}\n");
|
||||
}
|
||||
buf.append("}\n");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue