Mercurial Hosting > luan
diff src/luan/modules/parsers/LuanToString.java @ 1563:8fbcc4747091
remove LuanFunction.luan
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 09 Nov 2020 01:37:57 -0700 |
parents | b89212fd04b5 |
children | fa066aaa068c |
line wrap: on
line diff
--- a/src/luan/modules/parsers/LuanToString.java Sun Nov 08 16:50:59 2020 -0700 +++ b/src/luan/modules/parsers/LuanToString.java Mon Nov 09 01:37:57 2020 -0700 @@ -19,21 +19,21 @@ public boolean longStrings = false; public boolean inline = false; - void applyOptions(Luan luan,LuanTable options) throws LuanException { + void applyOptions(LuanTable options) throws LuanException { Boolean b; - b = (Boolean)options.get(luan,"strict"); + b = (Boolean)options.rawGet("strict"); if( b != null ) strict = b; - b = (Boolean)options.get(luan,"number_types"); + b = (Boolean)options.rawGet("number_types"); if( b != null ) numberTypes = b; - b = (Boolean)options.get(luan,"compressed"); + b = (Boolean)options.rawGet("compressed"); if( b != null ) compressed = b; - b = (Boolean)options.get(luan,"long_strings"); + b = (Boolean)options.rawGet("long_strings"); if( b != null ) longStrings = b; - b = (Boolean)options.get(luan,"inline"); + b = (Boolean)options.rawGet("inline"); if( b != null ) inline = b; } @@ -53,7 +53,7 @@ } private static void checkOptions(LuanTable options) throws LuanException { - for( Map.Entry entry : options.iterable() ) { + for( Map.Entry entry : options.rawIterable() ) { if( !settingsKeys.contains(entry.getKey()) ) throw new LuanException("invalid option: "+entry.getKey()); if( !(entry.getValue() instanceof Boolean) ) @@ -62,18 +62,16 @@ } public final Settings settingsInit = new Settings(); - private final Luan luan; private final LuanTable subOptions; - public LuanToString(Luan luan,LuanTable options,LuanTable subOptions) throws LuanException { - this.luan = luan; + public LuanToString(LuanTable options,LuanTable subOptions) throws LuanException { this.subOptions = subOptions; if( options != null ) { checkOptions(options); - settingsInit.applyOptions(luan,options); + settingsInit.applyOptions(options); } if( subOptions != null ) { - for( Map.Entry entry : subOptions.iterable() ) { + for( Map.Entry entry : subOptions.rawIterable() ) { /* if( !(entry.getKey() instanceof String) ) throw new LuanException("sub_options keys must be strings"); @@ -183,10 +181,10 @@ } sb.append( settings.compressed ? "=" : " = " ); if( subOptions != null ) { - LuanTable options = (LuanTable)subOptions.get(luan,key); + LuanTable options = (LuanTable)subOptions.rawGet(key); if( options != null ) { settings = settings.cloneSettings(); - settings.applyOptions(luan,options); + settings.applyOptions(options); } } toString( entry.getValue(), sb, indented, settings ); @@ -212,10 +210,10 @@ public static void addNumberTypes(Luan luan,LuanTable env) { try { LuanTable module = (LuanTable)luan.require("luan:Number.luan"); - env.put( luan, "double", module.fn(luan,"double") ); - env.put( luan, "float", module.fn(luan,"float") ); - env.put( luan, "integer", module.fn(luan,"integer") ); - env.put( luan, "long", module.fn(luan,"long") ); + env.rawPut( "double", module.fn("double") ); + env.rawPut( "float", module.fn("float") ); + env.rawPut( "integer", module.fn("integer") ); + env.rawPut( "long", module.fn("long") ); } catch(LuanException e) { throw new LuanRuntimeException(e); }