Issue #835 Static initializer item in traitlist click fixed (when 1 character in length)

Reordered traits in class - static first, variables/const first
This commit is contained in:
Jindra Petřík
2015-04-06 19:21:14 +02:00
parent be2af46925
commit 0d9c648641
3 changed files with 40 additions and 15 deletions

View File

@@ -449,6 +449,11 @@ public class TraitClass extends Trait implements TraitWithSlot {
abc.instance_info.get(class_info).getClassHeaderStr(writer, abc, fullyQualifiedNames, false);
writer.startBlock();
//static variables & constants
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitSlotConst.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//static initializer
int bodyIndex = abc.findBodyIndex(abc.class_info.get(class_info).cinit_index);
if (bodyIndex != -1) {
if (!classInitializerIsEmpty) {
@@ -465,7 +470,11 @@ public class TraitClass extends Trait implements TraitWithSlot {
//"/*classInitializer*/";
}
//constructor
//instance variables
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitSlotConst.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//instance initializer - constructor
if (!abc.instance_info.get(class_info).isInterface()) {
String modifier = "";
Multiname m = abc.constants.getMultiname(abc.instance_info.get(class_info).name_index);
@@ -503,12 +512,14 @@ public class TraitClass extends Trait implements TraitWithSlot {
writer.endMethod();
writer.endTrait();
}
//static methods
abc.class_info.get(class_info).static_traits.toString(new Class[]{TraitClass.class,TraitFunction.class,TraitMethodGetterSetter.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//instance methods
abc.instance_info.get(class_info).instance_traits.toString(new Class[]{TraitClass.class,TraitFunction.class,TraitMethodGetterSetter.class},this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
//static variables,constants & methods
abc.class_info.get(class_info).static_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
abc.instance_info.get(class_info).instance_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel);
writer.endBlock(); // class
writer.endClass();
writer.newLine();

View File

@@ -141,10 +141,22 @@ public class Traits implements Serializable {
}
}
public GraphTextWriter toString(Trait parent, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, boolean makePackages, int scriptIndex, int classIndex, GraphTextWriter writer, List<String> fullyQualifiedNames, boolean parallel) throws InterruptedException {
for (int t = 0; t < traits.size(); t++) {
writer.newLine();
public GraphTextWriter toString(Class[] traitTypes,Trait parent, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, boolean makePackages, int scriptIndex, int classIndex, GraphTextWriter writer, List<String> fullyQualifiedNames, boolean parallel) throws InterruptedException {
for (int t = 0; t < traits.size(); t++) {
Trait trait = traits.get(t);
if(traitTypes!=null){
boolean found = false;
for(Class c:traitTypes){
if(c.isInstance(trait)){
found = true;
break;
}
}
if(!found){
continue;
}
}
writer.newLine();
int h = t;
if (classIndex != -1) {
if (!isStatic) {