Better "EVar" pretty print + fix
This commit is contained in:
@@ -50,12 +50,12 @@ class CustomClassHandler implements IHScriptCustomConstructor implements IHScrip
|
||||
__interp.staticVariables = ogInterp.staticVariables;
|
||||
__interp.customClasses = ogInterp.customClasses;
|
||||
|
||||
var validField:Bool = false;
|
||||
var staticField:Bool = false;
|
||||
var fieldName:String = "";
|
||||
for(ex in fields) {
|
||||
switch (Tools.expr(ex)) {
|
||||
case EVar(n, _, _, _, isStatic, _, _, _, _, _, _):
|
||||
for(e in fields.copy()) {
|
||||
var validField:Bool = false;
|
||||
var staticField:Bool = false;
|
||||
var fieldName:String = "";
|
||||
switch (Tools.expr(e)) {
|
||||
case EVar(n, _, _, _, isStatic):
|
||||
validField = true;
|
||||
staticField = isStatic;
|
||||
fieldName = n;
|
||||
@@ -64,15 +64,13 @@ class CustomClassHandler implements IHScriptCustomConstructor implements IHScrip
|
||||
staticField = isStatic;
|
||||
fieldName = n;
|
||||
default:
|
||||
validField = false;
|
||||
staticField = false;
|
||||
fieldName = "";
|
||||
}
|
||||
|
||||
if(staticField && validField) {
|
||||
__interp.exprReturn(ex);
|
||||
trace(fieldName);
|
||||
__interp.expr(e);
|
||||
__staticFields.push(fieldName);
|
||||
fields.remove(ex);
|
||||
fields.remove(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+29
-2
@@ -141,8 +141,35 @@ class Printer {
|
||||
}
|
||||
case EIdent(v):
|
||||
add(v);
|
||||
case EVar(n, t, e): // TODO: static, public, override
|
||||
add("var " + n);
|
||||
case EVar(n, t, e, p, s, pr, isFinal, isInline, get, set, _):
|
||||
if(p) add("public ");
|
||||
else if(pr) add("private ");
|
||||
if(s) add("static ");
|
||||
if(isInline) add("inline ");
|
||||
if(isFinal) add("final " + n);
|
||||
else add("var " + n);
|
||||
|
||||
if(get != null || set != null) {
|
||||
add("(");
|
||||
switch(get) {
|
||||
case ADefault: add("default, ");
|
||||
case ANull: add("null, ");
|
||||
case AGet: add("get, ");
|
||||
case ADynamic: add("dynamic, ");
|
||||
case ANever: add("never, ");
|
||||
default:
|
||||
}
|
||||
switch(set) {
|
||||
case ADefault: add("default");
|
||||
case ANull: add("null");
|
||||
case ASet: add("set");
|
||||
case ADynamic: add("dynamic");
|
||||
case ANever: add("never");
|
||||
default:
|
||||
}
|
||||
add(")");
|
||||
}
|
||||
|
||||
addType(t);
|
||||
if( e != null ) {
|
||||
add(" = ");
|
||||
|
||||
Reference in New Issue
Block a user