diff src/luan/modules/parsers/LuanToString.java @ 1562:b89212fd04b5

remove table.luan
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 08 Nov 2020 16:50:59 -0700
parents 83249ce59d13
children 8fbcc4747091
line wrap: on
line diff
--- a/src/luan/modules/parsers/LuanToString.java	Thu Nov 05 20:24:09 2020 -0700
+++ b/src/luan/modules/parsers/LuanToString.java	Sun Nov 08 16:50:59 2020 -0700
@@ -19,21 +19,21 @@
 		public boolean longStrings = false;
 		public boolean inline = false;
 
-		void applyOptions(LuanTable options) throws LuanException {
+		void applyOptions(Luan luan,LuanTable options) throws LuanException {
 			Boolean b;
-			b = (Boolean)options.get("strict");
+			b = (Boolean)options.get(luan,"strict");
 			if( b != null )
 				strict = b;
-			b = (Boolean)options.get("number_types");
+			b = (Boolean)options.get(luan,"number_types");
 			if( b != null )
 				numberTypes = b;
-			b = (Boolean)options.get("compressed");
+			b = (Boolean)options.get(luan,"compressed");
 			if( b != null )
 				compressed = b;
-			b = (Boolean)options.get("long_strings");
+			b = (Boolean)options.get(luan,"long_strings");
 			if( b != null )
 				longStrings = b;
-			b = (Boolean)options.get("inline");
+			b = (Boolean)options.get(luan,"inline");
 			if( b != null )
 				inline = b;
 		}
@@ -62,13 +62,15 @@
 	}
 
 	public final Settings settingsInit = new Settings();
+	private final Luan luan;
 	private final LuanTable subOptions;
 
-	public LuanToString(LuanTable options,LuanTable subOptions) throws LuanException {
+	public LuanToString(Luan luan,LuanTable options,LuanTable subOptions) throws LuanException {
+		this.luan = luan;
 		this.subOptions = subOptions;
 		if( options != null ) {
 			checkOptions(options);
-			settingsInit.applyOptions(options);
+			settingsInit.applyOptions(luan,options);
 		}
 		if( subOptions != null ) {
 			for( Map.Entry entry : subOptions.iterable() ) {
@@ -181,10 +183,10 @@
 		}
 		sb.append( settings.compressed ? "=" : " = " );
 		if( subOptions != null ) {
-			LuanTable options = (LuanTable)subOptions.get(key);
+			LuanTable options = (LuanTable)subOptions.get(luan,key);
 			if( options != null ) {
 				settings = settings.cloneSettings();
-				settings.applyOptions(options);
+				settings.applyOptions(luan,options);
 			}
 		}
 		toString( entry.getValue(), sb, indented, settings );
@@ -207,13 +209,13 @@
 			sb.append( ')' );
 	}
 
-	public static void addNumberTypes(LuanTable env) {
+	public static void addNumberTypes(Luan luan,LuanTable env) {
 		try {
-			LuanTable module = (LuanTable)env.luan().require("luan:Number.luan");
-			env.put( "double", module.fn("double") );
-			env.put( "float", module.fn("float") );
-			env.put( "integer", module.fn("integer") );
-			env.put( "long", module.fn("long") );
+			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") );
 		} catch(LuanException e) {
 			throw new LuanRuntimeException(e);
 		}