diff --git a/hscript/CustomClassHandler.hx b/hscript/CustomClassHandler.hx index be6dea2..21440dd 100644 --- a/hscript/CustomClassHandler.hx +++ b/hscript/CustomClassHandler.hx @@ -29,7 +29,7 @@ class CustomClassHandler implements IHScriptCustomConstructor { } public function hnew(args:Array):Dynamic { - #if INT_VARS + #if HSCRIPT_INT_VARS throw "todo: do all this lmao -lunar"; return null; #else diff --git a/hscript/Expr.hx b/hscript/Expr.hx index 5514127..ea4527a 100644 --- a/hscript/Expr.hx +++ b/hscript/Expr.hx @@ -105,7 +105,7 @@ enum Expr EImport( c : String, mode: KImportMode ); EClass( name:VarN, fields:Array, ?extend:String, interfaces:Array ); - #if INT_VARS + #if HSCRIPT_INT_VARS EInfo( info: InfoClass, e: Expr ); #end } @@ -269,7 +269,7 @@ enum abstract Unop(UInt8) { var OpSpread; } -#if INT_VARS +#if HSCRIPT_INT_VARS class InfoClass { public var variables:Array; @@ -394,7 +394,7 @@ typedef VarDecl = { var type : Null; } -#if INT_VARS +#if HSCRIPT_INT_VARS abstract VarN(Dynamic) from Int from String to Int to String {} #else typedef VarN = String; diff --git a/hscript/Interp.hx b/hscript/Interp.hx index 413b64b..887a04f 100644 --- a/hscript/Interp.hx +++ b/hscript/Interp.hx @@ -94,7 +94,7 @@ class Interp { public var errorHandler:Error->Void; public var importFailedCallback:Array->Bool; - #if INT_VARS + #if HSCRIPT_INT_VARS public var _variablesNames:Array = []; public var _variables:Array = []; public var _locals:Array = []; @@ -133,7 +133,7 @@ class Interp { resetVariables(); private function resetVariables() { - #if INT_VARS + #if HSCRIPT_INT_VARS _variablesNames = []; loadTables(0); @@ -301,12 +301,12 @@ class Interp { switch(Tools.expr(e2)) { case EIdent(id): - #if INT_VARS + #if HSCRIPT_INT_VARS var sid = _variablesNames[id]; #end - if (#if INT_VARS sid #else id #end == "Class") + if (#if HSCRIPT_INT_VARS sid #else id #end == "Class") return Std.isOfType(expr1, Class); - if (#if INT_VARS sid #else id #end == "Map" || #if INT_VARS sid #else id #end == "IMap") + if (#if HSCRIPT_INT_VARS sid #else id #end == "Map" || #if HSCRIPT_INT_VARS sid #else id #end == "IMap") return Std.isOfType(expr1, IMap); default: } @@ -315,7 +315,7 @@ class Interp { return expr2 != null ? Std.isOfType(expr1, expr2) : false; } - #if INT_VARS + #if HSCRIPT_INT_VARS public inline function setVar(name:String, v:Dynamic) { isetVar(_variablesNames.indexOf(name), v); } @@ -344,40 +344,40 @@ class Interp { var v = expr(e2); switch (Tools.expr(e1)) { case EIdent(id): - var l = #if INT_VARS _locals #else locals #end[id]; + var l = #if HSCRIPT_INT_VARS _locals #else locals #end[id]; if (l == null) { - #if INT_VARS + #if HSCRIPT_INT_VARS var sid:String = _variablesNames[id]; #end // TODO: WHEN ADDING ENUM DEFINED THING CHANGE THIS - if (#if INT_VARS _variables[id] != null #else !variables.exists(id) #end && - !staticVariables.exists(#if INT_VARS sid #else id #end) && !publicVariables.exists(#if INT_VARS sid #else id #end) && _hasScriptObject + if (#if HSCRIPT_INT_VARS _variables[id] != null #else !variables.exists(id) #end && + !staticVariables.exists(#if HSCRIPT_INT_VARS sid #else id #end) && !publicVariables.exists(#if HSCRIPT_INT_VARS sid #else id #end) && _hasScriptObject ) { if (_scriptObjectType == SObject) { - UnsafeReflect.setField(scriptObject, #if INT_VARS sid #else id #end, v); + UnsafeReflect.setField(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); } else { if (isBypassAccessor) { - if (__instanceFields.contains(#if INT_VARS sid #else id #end)) { - UnsafeReflect.setField(scriptObject, #if INT_VARS sid #else id #end, v); + if (__instanceFields.contains(#if HSCRIPT_INT_VARS sid #else id #end)) { + UnsafeReflect.setField(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); return v; } } - if (__instanceFields.contains(#if INT_VARS sid #else id #end)) { - UnsafeReflect.setProperty(scriptObject, #if INT_VARS sid #else id #end, v); - } else if (__instanceFields.contains('set_${#if INT_VARS sid #else id #end}')) { // setter - UnsafeReflect.getProperty(scriptObject, 'set_${#if INT_VARS sid #else id #end}')(v); + if (__instanceFields.contains(#if HSCRIPT_INT_VARS sid #else id #end)) { + UnsafeReflect.setProperty(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); + } else if (__instanceFields.contains('set_${#if HSCRIPT_INT_VARS sid #else id #end}')) { // setter + UnsafeReflect.getProperty(scriptObject, 'set_${#if HSCRIPT_INT_VARS sid #else id #end}')(v); } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } else { l.r = v; if (l.depth == 0) { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } case EField(e, f, s): @@ -403,24 +403,24 @@ class Interp { var v:Dynamic = null; switch (Tools.expr(e1)) { case EIdent(id): - var l = #if INT_VARS _locals #else locals #end[id]; + var l = #if HSCRIPT_INT_VARS _locals #else locals #end[id]; v = fop(expr(e1), expr(e2)); if (l == null) { if(_hasScriptObject) { - #if INT_VARS + #if HSCRIPT_INT_VARS var sid:String = _variablesNames[id]; #end if(_scriptObjectType == SObject) { - UnsafeReflect.setField(scriptObject, #if INT_VARS sid #else id #end, v); - } else if (__instanceFields.contains(#if INT_VARS sid #else id #end)) { - UnsafeReflect.setProperty(scriptObject, #if INT_VARS sid #else id #end, v); - } else if (__instanceFields.contains('set_${#if INT_VARS sid #else id #end}')) { // setter - UnsafeReflect.getProperty(scriptObject, 'set_${#if INT_VARS sid #else id #end}')(v); + UnsafeReflect.setField(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); + } else if (__instanceFields.contains(#if HSCRIPT_INT_VARS sid #else id #end)) { + UnsafeReflect.setProperty(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); + } else if (__instanceFields.contains('set_${#if HSCRIPT_INT_VARS sid #else id #end}')) { // setter + UnsafeReflect.getProperty(scriptObject, 'set_${#if HSCRIPT_INT_VARS sid #else id #end}')(v); } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } else @@ -454,24 +454,24 @@ class Interp { var v:Dynamic = null; switch (Tools.expr(e1)) { case EIdent(id): - var l = #if INT_VARS _locals #else locals #end[id]; + var l = #if HSCRIPT_INT_VARS _locals #else locals #end[id]; v = fop(aFunc, bFunc); if (l == null) { if(_hasScriptObject) { - #if INT_VARS + #if HSCRIPT_INT_VARS var sid:String = _variablesNames[id]; #end if(_scriptObjectType == SObject) { - UnsafeReflect.setField(scriptObject, #if INT_VARS sid #else id #end, v); - } else if (__instanceFields.contains(#if INT_VARS sid #else id #end)) { - UnsafeReflect.setProperty(scriptObject, #if INT_VARS sid #else id #end, v); - } else if (__instanceFields.contains('set_${#if INT_VARS sid #else id #end}')) { // setter - UnsafeReflect.getProperty(scriptObject, 'set_${#if INT_VARS sid #else id #end}')(v); + UnsafeReflect.setField(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); + } else if (__instanceFields.contains(#if HSCRIPT_INT_VARS sid #else id #end)) { + UnsafeReflect.setProperty(scriptObject, #if HSCRIPT_INT_VARS sid #else id #end, v); + } else if (__instanceFields.contains('set_${#if HSCRIPT_INT_VARS sid #else id #end}')) { // setter + UnsafeReflect.getProperty(scriptObject, 'set_${#if HSCRIPT_INT_VARS sid #else id #end}')(v); } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } else { - #if INT_VARS isetVar #else setVar #end (id, v); + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v); } } else @@ -506,16 +506,16 @@ class Interp { #end switch (e) { case EIdent(id): - var l = #if INT_VARS _locals #else locals #end[id]; - var v:Dynamic = (l == null) ? #if INT_VARS iresolve #else resolve #end (id) : l.r; + var l = #if HSCRIPT_INT_VARS _locals #else locals #end[id]; + var v:Dynamic = (l == null) ? #if HSCRIPT_INT_VARS iresolve #else resolve #end (id) : l.r; if (prefix) { v += delta; if (l == null) - #if INT_VARS isetVar #else setVar #end (id, v) + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v) else l.r = v; } else if (l == null) - #if INT_VARS isetVar #else setVar #end (id, v + delta) + #if HSCRIPT_INT_VARS isetVar #else setVar #end (id, v + delta) else l.r = v + delta; return v; @@ -558,7 +558,7 @@ class Interp { public function execute(expr:Expr):Dynamic { depth = 0; declared = []; - #if INT_VARS + #if HSCRIPT_INT_VARS _locals = []; #else locals = new Map(); @@ -600,7 +600,7 @@ class Interp { } // TODO: use array.copy(); - #if INT_VARS + #if HSCRIPT_INT_VARS public function duplicate(array:Array):Array { return [for (a in array) a]; } @@ -620,7 +620,7 @@ class Interp { function restore(old:Int) { while (declared.length > old) { var d = declared.pop(); - #if INT_VARS + #if HSCRIPT_INT_VARS _locals[d.n] = d.old; #else locals.set(d.n, d.old); @@ -647,7 +647,7 @@ class Interp { #end } - #if INT_VARS + #if HSCRIPT_INT_VARS public function iresolve(id:Int, doException:Bool = true):Dynamic { //var l:DeclaredVar = untyped __cpp__("this->_locals->__get(id)");//_locals[id]; var l:DeclaredVar = _locals[id]; @@ -742,7 +742,7 @@ class Interp { var e = e.e; #end switch (e) { - #if INT_VARS + #if HSCRIPT_INT_VARS case EInfo(info, e): _variablesNames = info.variables.copy(); loadTables(_variablesNames.length); @@ -753,11 +753,11 @@ class Interp { return expr(e); #end case EClass(name, fields, extend, interfaces): - #if INT_VARS + #if HSCRIPT_INT_VARS var className:String = _variablesNames[name]; #end - #if INT_VARS + #if HSCRIPT_INT_VARS // TODO: Change this when we add undefined thing if (_variables[name] != null) error(EAlreadyExistingClass(className)); @@ -772,7 +772,7 @@ class Interp { final variable:Class = variables.exists(thing) ? cast variables.get(thing) : null; return variable == null ? thing : Type.getClassName(variable); } - #if INT_VARS + #if HSCRIPT_INT_VARS _variables[name] = new CustomClassHandler(this, className, fields, importVar(extend), [for (i in interfaces) importVar(i)]); #else customClasses.set(name, new CustomClassHandler(this, name, fields, importVar(extend), [for (i in interfaces) importVar(i)])); @@ -851,20 +851,20 @@ class Interp { #end } case EIdent(id): - #if INT_VARS + #if HSCRIPT_INT_VARS return iresolve(id); #else return resolve(id); #end case EVar(n, _, e, isPublic, isStatic): - declared.push({n: n, old: #if INT_VARS _locals[n] #else locals.get(n) #end, depth: depth}); - #if INT_VARS + declared.push({n: n, old: #if HSCRIPT_INT_VARS _locals[n] #else locals.get(n) #end, depth: depth}); + #if HSCRIPT_INT_VARS _locals[n] = {r: (e == null) ? null : expr(e), depth: depth}; #else locals.set(n, {r: (e == null) ? null : expr(e), depth: depth}); #end if (depth == 0) { - #if INT_VARS + #if HSCRIPT_INT_VARS if(isPublic == true || isStatic == true) { var varName:String = _variablesNames[n]; if(isStatic == true) { @@ -968,7 +968,7 @@ class Interp { returnValue = e == null ? null : expr(e); throw SReturn; case EFunction(params, fexpr, name, _, isPublic, isStatic, isOverride): - #if INT_VARS + #if HSCRIPT_INT_VARS var __capturedLocals = duplicate(_locals); var capturedLocals:Array = []; for(k=>e in __capturedLocals) @@ -995,8 +995,8 @@ class Interp { minParams++; var f = function(args:Array) { if ( - #if INT_VARS me._locals #else me.locals #end == null || - #if INT_VARS me._variables #else me.variables #end == null) return null; + #if HSCRIPT_INT_VARS me._locals #else me.locals #end == null || + #if HSCRIPT_INT_VARS me._variables #else me.variables #end == null) return null; if (((args == null) ? 0 : args.length) != params.length) { if (args.length < minParams) { @@ -1020,18 +1020,18 @@ class Interp { args2.push(args[pos++]); args = args2; } - var old = #if INT_VARS me._locals #else me.locals #end, depth = me.depth; + var old = #if HSCRIPT_INT_VARS me._locals #else me.locals #end, depth = me.depth; me.depth++; - #if INT_VARS me._locals #else me.locals #end = cast me.duplicate(capturedLocals); + #if HSCRIPT_INT_VARS me._locals #else me.locals #end = cast me.duplicate(capturedLocals); for (i in 0...params.length) - #if INT_VARS me._locals #else me.locals #end[params[i].name] = cast {r: args[i], depth: depth}; + #if HSCRIPT_INT_VARS me._locals #else me.locals #end[params[i].name] = cast {r: args[i], depth: depth}; var r = null; var oldDecl = declared.length; if (inTry) try { r = me.exprReturn(fexpr); } catch (e:Dynamic) { - #if INT_VARS me._locals #else me.locals #end = old; + #if HSCRIPT_INT_VARS me._locals #else me.locals #end = old; me.depth = depth; #if neko neko.Lib.rethrow(e); @@ -1042,12 +1042,12 @@ class Interp { else r = me.exprReturn(fexpr); restore(oldDecl); - #if INT_VARS me._locals #else me.locals #end = old; + #if HSCRIPT_INT_VARS me._locals #else me.locals #end = old; me.depth = depth; return r; }; var f = Reflect.makeVarArgs(f); - #if INT_VARS + #if HSCRIPT_INT_VARS if (name != null) { if (depth == 0) { // global function @@ -1140,7 +1140,7 @@ class Interp { var a = new Array(); for (i in 0...params.length) a.push(expr(params[i])); - return cnew(#if INT_VARS _variablesNames[cl] #else cl #end, a); + return cnew(#if HSCRIPT_INT_VARS _variablesNames[cl] #else cl #end, a); case EThrow(e): throw expr(e); case ETry(e, n, _, ecatch): @@ -1160,8 +1160,8 @@ class Interp { restore(old); inTry = oldTry; // declare 'v' - declared.push({n: n, old: #if INT_VARS _locals #else locals #end[n], depth: depth}); - #if INT_VARS _locals #else locals #end[n] = cast {r: err, depth: depth}; + declared.push({n: n, old: #if HSCRIPT_INT_VARS _locals #else locals #end[n], depth: depth}); + #if HSCRIPT_INT_VARS _locals #else locals #end[n] = cast {r: err, depth: depth}; var v:Dynamic = expr(ecatch); restore(old); return v; @@ -1280,13 +1280,13 @@ class Interp { function forLoop(n, it, e) { var old = declared.length; - declared.push({n: n, old: #if INT_VARS _locals #else locals #end[n], depth: depth}); + declared.push({n: n, old: #if HSCRIPT_INT_VARS _locals #else locals #end[n], depth: depth}); var it = makeIterator(expr(it)); var _hasNext = it.hasNext; var _next = it.next; while (_hasNext()) { var next = _next(); - #if INT_VARS _locals #else locals #end[n] = cast {r: next, depth: depth}; + #if HSCRIPT_INT_VARS _locals #else locals #end[n] = cast {r: next, depth: depth}; try { expr(e); } catch (err:Stop) { @@ -1304,15 +1304,15 @@ class Interp { function forLoopKeyValue(n, it, e, ithv) { var old = declared.length; - declared.push({n: ithv, old: #if INT_VARS _locals #else locals #end[ithv], depth: depth}); - declared.push({n: n, old: #if INT_VARS _locals #else locals #end[n], depth: depth}); + declared.push({n: ithv, old: #if HSCRIPT_INT_VARS _locals #else locals #end[ithv], depth: depth}); + declared.push({n: n, old: #if HSCRIPT_INT_VARS _locals #else locals #end[n], depth: depth}); var it = makeKeyValueIterator(expr(it)); var _hasNext = it.hasNext; var _next = it.next; while (_hasNext()) { var next = _next(); - #if INT_VARS _locals #else locals #end[ithv] = cast {r: next.key, depth: depth}; - #if INT_VARS _locals #else locals #end[n] = cast {r: next.value, depth: depth}; + #if HSCRIPT_INT_VARS _locals #else locals #end[ithv] = cast {r: next.key, depth: depth}; + #if HSCRIPT_INT_VARS _locals #else locals #end[n] = cast {r: next.value, depth: depth}; try { expr(e); } catch (err:Stop) { @@ -1436,7 +1436,7 @@ class Interp { return (c is IHScriptCustomConstructor) ? cast(c, IHScriptCustomConstructor).hnew(args) : Type.createInstance(c, args); } - #if INT_VARS + #if HSCRIPT_INT_VARS inline function loadTables(len:Int) { _variables = cast new haxe.ds.Vector(len); _locals = cast new haxe.ds.Vector(len); @@ -1471,7 +1471,7 @@ class HScriptVariablesKeyValueIterator { } } -#if INT_VARS +#if HSCRIPT_INT_VARS class HScriptVariables { public var defaults:Map = []; public var usedefaults:Bool = true; diff --git a/hscript/Parser.hx b/hscript/Parser.hx index 0eb7cc3..b6f73f5 100644 --- a/hscript/Parser.hx +++ b/hscript/Parser.hx @@ -227,7 +227,7 @@ class Parser { expr = Preprocessor.process(expr); if(Parser.optimize) expr = Optimizer.optimize(expr); - #if INT_VARS + #if HSCRIPT_INT_VARS expr = Postprocessor.processvars(expr); #end // trace("INPUT: " + s); // useful for debugging diff --git a/hscript/Postprocessor.hx b/hscript/Postprocessor.hx index 5e0fb62..b484271 100644 --- a/hscript/Postprocessor.hx +++ b/hscript/Postprocessor.hx @@ -17,7 +17,7 @@ class Postprocessor { #end } - #if INT_VARS + #if HSCRIPT_INT_VARS public static function processvars(e:Expr, ?vars:Array) { if(vars == null) vars = []; for(v in getvars(e)) vars.push(v); diff --git a/hscript/Printer.hx b/hscript/Printer.hx index 69250cc..6b84dfc 100644 --- a/hscript/Printer.hx +++ b/hscript/Printer.hx @@ -579,7 +579,7 @@ class Printer { add(" : "); addType(t); add(")"); - #if INT_VARS + #if HSCRIPT_INT_VARS case EInfo(_, e): expr(e); #end diff --git a/hscript/Tools.hx b/hscript/Tools.hx index 7e39200..07bb8a9 100644 --- a/hscript/Tools.hx +++ b/hscript/Tools.hx @@ -62,7 +62,7 @@ class Tools { if( def != null ) f(def); case EMeta(name, args, e): if( args != null ) for( a in args ) f(a); f(e); case ECheckType(e,_): f(e); - #if INT_VARS + #if HSCRIPT_INT_VARS case EInfo(info, e): f(e); #end } @@ -107,7 +107,7 @@ class Tools { if( def != null ) rec(def); case EMeta(name, args, e): if( args != null ) for( a in args ) rec(a); rec(e); case ECheckType(e,_): rec(e); - #if INT_VARS + #if HSCRIPT_INT_VARS case EInfo(info, e): rec(e); #end } @@ -143,7 +143,7 @@ class Tools { case ECheckType(e,t): ECheckType(f(e), t); case EImport(c, m): EImport(c, m); case EClass(name, el, extend, interfaces): EClass(name, [for( e in el ) f(e)], extend, interfaces); - #if INT_VARS + #if HSCRIPT_INT_VARS case EInfo(info, e): EInfo(info, f(e)); #end }