Mercurial Hosting > luan
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); }