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);
 		}