diff src/luan/modules/IoLuan.java @ 1333:25746915a241

merge Luan and LuanState
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 12 Feb 2019 22:33:40 -0700
parents f41919741100
children c88b486a9511
line wrap: on
line diff
--- a/src/luan/modules/IoLuan.java	Tue Feb 12 21:50:26 2019 -0700
+++ b/src/luan/modules/IoLuan.java	Tue Feb 12 22:33:40 2019 -0700
@@ -29,7 +29,6 @@
 import java.util.Enumeration;
 import java.util.Map;
 import luan.Luan;
-import luan.LuanState;
 import luan.LuanTable;
 import luan.LuanFunction;
 import luan.LuanException;
@@ -47,7 +46,7 @@
 
 	public interface LuanWriter {
 		public Object out();
-		public void write(LuanState luan,Object... args) throws LuanException, IOException;
+		public void write(Luan luan,Object... args) throws LuanException, IOException;
 		public void close() throws IOException;
 	}
 
@@ -58,7 +57,7 @@
 				return out;
 			}
 
-			public void write(LuanState luan,Object... args) throws LuanException {
+			public void write(Luan luan,Object... args) throws LuanException {
 				for( Object obj : args ) {
 					out.print( luan.toString(obj) );
 				}
@@ -77,7 +76,7 @@
 				return out;
 			}
 
-			public void write(LuanState luan,Object... args) throws LuanException, IOException {
+			public void write(Luan luan,Object... args) throws LuanException, IOException {
 				for( Object obj : args ) {
 					out.write( luan.toString(obj) );
 				}
@@ -91,7 +90,7 @@
 
 	static LuanFunction lines(final BufferedReader in) {
 		return new LuanFunction() {
-			@Override public Object call(LuanState luan,Object[] args) throws LuanException {
+			@Override public Object call(Luan luan,Object[] args) throws LuanException {
 				try {
 					if( args.length > 0 ) {
 						if( args.length > 1 || !"close".equals(args[0]) )
@@ -114,7 +113,7 @@
 		return new LuanFunction() {
 			final byte[] a = new byte[blockSize];
 
-			@Override public Object call(LuanState luan,Object[] args) throws LuanException {
+			@Override public Object call(Luan luan,Object[] args) throws LuanException {
 				try {
 					if( args.length > 0 ) {
 						if( args.length > 1 || !"close".equals(args[0]) )
@@ -154,39 +153,39 @@
 	public static abstract class LuanIn {
 		protected String charset = null;
 
-		public abstract InputStream inputStream(LuanState luan) throws IOException, LuanException;
+		public abstract InputStream inputStream(Luan luan) throws IOException, LuanException;
 		public abstract String to_string();
 		public abstract String to_uri_string();
 
-		public Reader reader(LuanState luan) throws IOException, LuanException {
+		public Reader reader(Luan luan) throws IOException, LuanException {
 			InputStream in = inputStream(luan);
 			return charset==null ? new InputStreamReader(in) : new InputStreamReader(in,charset);
 		}
 
-		public String read_text(LuanState luan) throws IOException, LuanException {
+		public String read_text(Luan luan) throws IOException, LuanException {
 			Reader in = reader(luan);
 			String s = Utils.readAll(in);
 			in.close();
 			return s;
 		}
 
-		public byte[] read_binary(LuanState luan) throws IOException, LuanException {
+		public byte[] read_binary(Luan luan) throws IOException, LuanException {
 			InputStream in = inputStream(luan);
 			byte[] a = Utils.readAll(in);
 			in.close();
 			return a;
 		}
 
-		public LuanFunction read_lines(LuanState luan) throws IOException, LuanException {
+		public LuanFunction read_lines(Luan luan) throws IOException, LuanException {
 			return lines(new BufferedReader(reader(luan)));
 		}
 
-		public LuanFunction read_blocks(LuanState luan,Integer blockSize) throws IOException, LuanException {
+		public LuanFunction read_blocks(Luan luan,Integer blockSize) throws IOException, LuanException {
 			int n = blockSize!=null ? blockSize : Utils.bufSize;
 			return blocks(inputStream(luan),n);
 		}
 
-		public boolean exists(LuanState luan) throws IOException, LuanException {
+		public boolean exists(Luan luan) throws IOException, LuanException {
 			try {
 				inputStream(luan).close();
 				return true;
@@ -197,7 +196,7 @@
 			}
 		}
 
-		public long checksum(LuanState luan) throws IOException, LuanException {
+		public long checksum(Luan luan) throws IOException, LuanException {
 			long cs = 0;
 			InputStream in = new BufferedInputStream(inputStream(luan));
 			int c;
@@ -219,7 +218,7 @@
 
 	public static final LuanIn defaultStdin = new LuanIn() {
 
-		@Override public InputStream inputStream(LuanState luan) {
+		@Override public InputStream inputStream(Luan luan) {
 			return System.in;
 		}
 
@@ -231,15 +230,15 @@
 			return "stdin:";
 		}
 
-		@Override public String read_text(LuanState luan) throws IOException {
+		@Override public String read_text(Luan luan) throws IOException {
 			return Utils.readAll(new InputStreamReader(System.in));
 		}
 
-		@Override public byte[] read_binary(LuanState luan) throws IOException {
+		@Override public byte[] read_binary(Luan luan) throws IOException {
 			return Utils.readAll(System.in);
 		}
 
-		@Override public boolean exists(LuanState luan) {
+		@Override public boolean exists(Luan luan) {
 			return true;
 		}
 	};
@@ -252,7 +251,7 @@
 			return charset==null ? new OutputStreamWriter(out) : new OutputStreamWriter(out,charset);
 		}
 
-		public void write(LuanState luan,Object obj) throws LuanException, IOException {
+		public void write(Luan luan,Object obj) throws LuanException, IOException {
 			if( obj instanceof String ) {
 				String s = (String)obj;
 				Writer out = writer();
@@ -291,7 +290,7 @@
 			return new BufferedOutputStream(outputStream());
 		}
 
-		public void write_text(LuanState luan,Object... args) throws LuanException, IOException {
+		public void write_text(Luan luan,Object... args) throws LuanException, IOException {
 			LuanWriter luanWriter = luanWriter(new BufferedWriter(writer()));
 			luanWriter.write(luan,args);
 			luanWriter.close();
@@ -308,7 +307,7 @@
 			@Override public void write(int b) {}
 		};
 
-		@Override public InputStream inputStream(LuanState luan) {
+		@Override public InputStream inputStream(Luan luan) {
 			return in;
 		}
 
@@ -334,7 +333,7 @@
 			this.s = s;
 		}
 
-		@Override public InputStream inputStream(LuanState luan) {
+		@Override public InputStream inputStream(Luan luan) {
 			throw new UnsupportedOperationException();
 		}
 
@@ -350,15 +349,15 @@
 			return "string:" + s;
 		}
 
-		@Override public Reader reader(LuanState luan) {
+		@Override public Reader reader(Luan luan) {
 			return new StringReader(s);
 		}
 
-		@Override public String read_text(LuanState luan) {
+		@Override public String read_text(Luan luan) {
 			return s;
 		}
 
-		@Override public boolean exists(LuanState luan) {
+		@Override public boolean exists(Luan luan) {
 			return true;
 		}
 
@@ -370,7 +369,7 @@
 					return out;
 				}
 	
-				public void write(LuanState luan,Object... args) throws LuanException, IOException {
+				public void write(Luan luan,Object... args) throws LuanException, IOException {
 					for( Object obj : args ) {
 						out.write( luan.toString(obj) );
 					}
@@ -386,11 +385,11 @@
 	public static final class LuanFile extends LuanIO {
 		public final File file;
 
-		public LuanFile(LuanState luan,String path) throws LuanException {
+		public LuanFile(Luan luan,String path) throws LuanException {
 			this(luan,new File(path));
 		}
 
-		private LuanFile(LuanState luan,File file) throws LuanException {
+		private LuanFile(Luan luan,File file) throws LuanException {
 			this(file);
 			check(luan,"file:"+file.toString());
 		}
@@ -399,7 +398,7 @@
 			this.file = file;
 		}
 
-		@Override public InputStream inputStream(LuanState luan) throws IOException {
+		@Override public InputStream inputStream(Luan luan) throws IOException {
 			return new FileInputStream(file);
 		}
 
@@ -415,11 +414,11 @@
 			return "file:" + file.toString();
 		}
 
-		public LuanFile child(LuanState luan,String name) throws LuanException {
+		public LuanFile child(Luan luan,String name) throws LuanException {
 			return new LuanFile(luan,new File(file,name));
 		}
 
-		public LuanTable children(LuanState luan) throws LuanException {
+		public LuanTable children(Luan luan) throws LuanException {
 			File[] files = file.listFiles();
 			if( files==null )
 				return null;
@@ -430,14 +429,14 @@
 			return list;
 		}
 
-		public LuanFile parent(LuanState luan) throws LuanException, IOException {
+		public LuanFile parent(Luan luan) throws LuanException, IOException {
 			File parent = file.getParentFile();
 			if( parent==null )
 				parent = file.getCanonicalFile().getParentFile();
 			return new LuanFile(luan,parent);
 		}
 
-		@Override public boolean exists(LuanState luan) {
+		@Override public boolean exists(Luan luan) {
 			return file.exists();
 		}
 
@@ -449,11 +448,11 @@
 				throw new LuanException("couldn't rename file "+file+" to "+dest);
 		}
 
-		public LuanFile canonical(LuanState luan) throws LuanException, IOException {
+		public LuanFile canonical(Luan luan) throws LuanException, IOException {
 			return new LuanFile(luan,file.getCanonicalFile());
 		}
 
-		public LuanFile create_temp_file(LuanState luan,String prefix,String suffix) throws LuanException, IOException {
+		public LuanFile create_temp_file(Luan luan,String prefix,String suffix) throws LuanException, IOException {
 			File tmp = File.createTempFile(prefix,suffix,file);
 			return new LuanFile(luan,tmp);
 		}
@@ -495,7 +494,7 @@
 		}
 	}
 
-	public static LuanUrl classpath(LuanState luan,String name) throws LuanException {
+	public static LuanUrl classpath(Luan luan,String name) throws LuanException {
 		if( name.contains("//") )
 			return null;
 		String path = name;
@@ -547,7 +546,7 @@
 			this.dir = dir;
 		}
 
-		@Override public InputStream inputStream(LuanState luan) throws IOException {
+		@Override public InputStream inputStream(Luan luan) throws IOException {
 			return proc.getInputStream();
 		}
 
@@ -563,7 +562,7 @@
 			throw new UnsupportedOperationException();
 		}
 
-		@Override public boolean exists(LuanState luan) {
+		@Override public boolean exists(Luan luan) {
 			return true;
 		}
 
@@ -584,7 +583,7 @@
 			}
 		}
 
-		@Override public String read_text(LuanState luan) throws IOException, LuanException {
+		@Override public String read_text(Luan luan) throws IOException, LuanException {
 			String s = super.read_text(luan);
 			wait_for();
 			return s;
@@ -592,7 +591,7 @@
 	}
 
 	public static final class LuanOs extends BaseOs {
-		public LuanOs(LuanState luan,String cmd,LuanTable options) throws IOException, LuanException {
+		public LuanOs(Luan luan,String cmd,LuanTable options) throws IOException, LuanException {
 			super(cmd,options);
 			check(luan,"os:"+cmd);
 			this.proc = Runtime.getRuntime().exec(cmd,null,dir);
@@ -600,7 +599,7 @@
 	}
 
 	public static final class LuanBash extends BaseOs {
-		public LuanBash(LuanState luan,String cmd,LuanTable options) throws IOException, LuanException {
+		public LuanBash(Luan luan,String cmd,LuanTable options) throws IOException, LuanException {
 			super(cmd,options);
 			check(luan,"bash:"+cmd);
 			this.proc = Runtime.getRuntime().exec(new String[]{"bash","-c",cmd},null,dir);
@@ -615,7 +614,7 @@
 			this.in = in;
 		}
 
-		@Override public InputStream inputStream(LuanState luan) {
+		@Override public InputStream inputStream(Luan luan) {
 			return in;
 		}
 
@@ -627,7 +626,7 @@
 			throw new UnsupportedOperationException();
 		}
 
-		@Override public boolean exists(LuanState luan) {
+		@Override public boolean exists(Luan luan) {
 			return true;
 		}
 	};
@@ -641,7 +640,7 @@
 		}
 	}
 
-	public static LuanTable my_ips(LuanState luan) throws IOException, LuanException {
+	public static LuanTable my_ips(Luan luan) throws IOException, LuanException {
 		LuanTable tbl = new LuanTable(luan);
 		for( Enumeration<NetworkInterface> e1 = NetworkInterface.getNetworkInterfaces(); e1.hasMoreElements(); ) {
 			NetworkInterface ni = e1.nextElement();
@@ -655,7 +654,7 @@
 	}
 
 
-	private static void check(LuanState luan,String name) throws LuanException {
+	private static void check(Luan luan,String name) throws LuanException {
 		Luan.checkSecurity(luan,"uri",name);
 	}