From: megacz Date: Fri, 30 Jan 2004 07:01:01 +0000 (+0000) Subject: 2003/06/12 17:57:36 X-Git-Tag: RC3~929 X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=commitdiff_plain;h=9835d9bbac931f8e76ad377674fb47a7f0da01e3 2003/06/12 17:57:36 darcs-hash:20040130070101-2ba56-e42ee1290012c40c5f983a962a3ced95d0da642e.gz --- diff --git a/Makefile b/Makefile index 9b58464..9ad8b4c 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,6 @@ cc_sources := src/org/xwt/plat/$(platform).cc c_sources := $(jpeg_c_sources:%.c=src/org/ijg/%.c) # outputs -java_classes := $(java_sources:src/%.java=bin/%.class) java_objects := $(filter-out bin-$(platform)/org/xwt/plat/%, $(java_sources:src/%.java=bin-$(platform)/%.java.o)) java_objects += bin-$(platform)/org/xwt/plat/GCJ.java.o java_objects += $(platform_java_sources:%=bin-$(platform)/org/xwt/plat/%.java.o) @@ -53,11 +52,15 @@ PATH := jikes-1.18/bin:$(PATH) ## Platform-Neutral ########################################################################### ifneq ($(verbose),true) -.SILENT: $(java_classes) $(cc_objects) $(java_objects) $(java_headers) all bin/org/xwt/builtin.xwar .bootclasspath .javac $(target_bin) +.SILENT: $(cc_objects) $(java_objects) $(java_headers) all bin/org/xwt/builtin.xwar .bootclasspath .javac $(target_bin) compile silent := --silent endif -compile: $(java_classes) bin/org/xwt/builtin.xwar +compile: bin/org/xwt/builtin.xwar + echo "compiling .java -> .class:" + mkdir -p bin + $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) -d bin/ 2>&1 | \ + grep -v ^\\[read | sed s_^\\[write\ bin/__ | sed s_.class\\]_.java_ | sed "s_^_compiling .java -> .class: src/_" # platforms all: Win32 Linux Java2 Darwin Carbon @@ -83,12 +86,6 @@ jikes: cd jikes-1.18; ./configure --prefix=`pwd` && make && make install ln -sf jikes-1.18/bin/jikes .jikes -$(java_classes): $(java_sources) .javac - echo "compiling .java -> .class:" - mkdir -p bin - $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) -d bin/ 2>&1 | \ - grep -v ^\\[read | sed s_^\\[write\ bin/__ | sed s_.class\\]_.java_ | sed "s_^_compiling .java -> .class: src/_" - bin/org/xwt/builtin.xwar: $(xwar_sources) mkdir -p bin/org/xwt cd src; $(jar) cf ../bin/org/xwt/builtin.xwar $(xwar_sources:src/%=%) @@ -140,9 +137,9 @@ propose-patch: $(shell pwd)/gcc/install/bin/$(target)-gcj: make -C gcc -# java_classes is here to force compilation of the .class files (they get used via -Ibin/) without +# compile is here to force compilation of the .class files (they get used via -Ibin/) without # having the individual .o's depend on the .java's (otherwise every .o gets recompiled when one .java changes) -gcj: $(gcc_path)/bin/$(target)-gcj $(java_classes) $(target_bin) +gcj: $(gcc_path)/bin/$(target)-gcj compile $(target_bin) $(target_bin): $(java_objects) $(cc_objects) $(c_objects) bin-$(platform)/org/xwt/builtin.o @echo "linking .o -> $(target_bin)" @@ -250,7 +247,7 @@ Carbon: upstream/Carbon/include/Carbon upstream platform_link="$(gcc_path)/lib/libgcj.a -Xlinker -framework -Xlinker Carbon" \ platform_java_sources="POSIX Carbon" -Java2: $(java_classes) bin/org/xwt/builtin.xwar +Java2: compile bin/org/xwt/builtin.xwar echo -e "\\n=== Java2 =========================================" echo "archiving .class -> .jar" mkdir -p bin-Java2 diff --git a/src/org/xwt/Box.java b/src/org/xwt/Box.java index cba4f14..c53ccc4 100644 --- a/src/org/xwt/Box.java +++ b/src/org/xwt/Box.java @@ -100,7 +100,7 @@ public final class Box extends JS.Scope { static Hash imageToNameMap = new Hash(); /** the empty object, used for get-traps */ - private static JS.Array emptyobj = new JS.Array(); + private static Array emptyobj = new Array(); // Instance Data: Templates //////////////////////////////////////////////////////// @@ -263,13 +263,13 @@ public final class Box extends JS.Scope { // Instance Data: IndexOf //////////////////////////////////////////////////////////// /** The indexof() Function; created lazily */ - public JS.Function indexof = null; - public JS.Function indexof() { if (indexof == null) indexof = new IndexOf(); return indexof; } + public JS.Callable indexof = null; + public JS.Callable indexof() { if (indexof == null) indexof = new IndexOf(); return indexof; } /** a trivial private class to serve as the box.indexof function object */ - private class IndexOf extends JS.Function { - public IndexOf() { super(-1, "java", null, null); this.setSeal(true); } - public Object _call(JS.Array args) throws JS.Exn { + private class IndexOf extends JS.Callable { + public IndexOf() { this.setSeal(true); } + public Object call(Array args) throws JS.Exn { if (args.length() != 1 || args.elementAt(0) == null || !(args.elementAt(0) instanceof Box)) return new Integer(-1); Box b = (Box)args.elementAt(0); if (b.getParent() != Box.this) { @@ -424,7 +424,7 @@ public final class Box extends JS.Scope { } /** loads the image described by string str, possibly blocking for a network load */ - static ImageDecoder getImage(String str, final Function callback) { + static ImageDecoder getImage(String str, final JS.Callable callback) { if (str.indexOf(':') == -1) { String s = str; @@ -460,10 +460,10 @@ public final class Box extends JS.Scope { if (ret != -1) bytesDownloaded += ret; if (clear && callback != null) { clear = false; - ThreadMessage.newthread(new JS.Function(-1, "java", null, null) { - public Object _call(JS.Array args_) throws JS.Exn { + ThreadMessage.newthread(new JS.Callable() { + public Object call(Array args_) throws JS.Exn { try { - JS.Array args = new JS.Array(); + Array args = new Array(); args.addElement(new Double(bytesDownloaded)); args.addElement(new Double(contentLength)); callback.call(args); @@ -518,7 +518,7 @@ public final class Box extends JS.Scope { } else { image = getPicture(s); if (image == null) { - if (Log.on) Log.log(Box.class, "unable to load image " + s + " at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(Box.class, "unable to load image " + s + " at " + Context.getCurrentSourceNameAndLine()); return; } if (sizetoimage) syncSizeToImage(); @@ -539,7 +539,7 @@ public final class Box extends JS.Scope { if (border == null) { ImageDecoder id = getImage(s, null); if (id == null) { - if (Log.on) Log.log(this, "unable to load border image " + s + " at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(this, "unable to load border image " + s + " at " + Context.getCurrentSourceNameAndLine()); return; } int[] data = id.getData(); @@ -634,7 +634,7 @@ public final class Box extends JS.Scope { } /** creates a new box from an anonymous template; ids is passed through to Template.apply() */ - Box(Template anonymous, Vec pboxes, Vec ptemplates, Function callback, int numerator, int denominator) { + Box(Template anonymous, Vec pboxes, Vec ptemplates, JS.Callable callback, int numerator, int denominator) { super(null); set(dmax, 0, Integer.MAX_VALUE); set(dmax, 1, Integer.MAX_VALUE); @@ -646,7 +646,7 @@ public final class Box extends JS.Scope { /** creates a new box from an unresolved templatename and an importlist; use "box" for an untemplatized box */ public Box(String templatename, String[] importlist) { this(templatename, importlist, null); } - public Box(String templatename, String[] importlist, Function callback) { + public Box(String templatename, String[] importlist, JS.Callable callback) { super(null); set(dmax, 0, Integer.MAX_VALUE); set(dmax, 1, Integer.MAX_VALUE); @@ -711,12 +711,12 @@ public final class Box extends JS.Scope { for(Box cur = this; cur != null && (cur == this || cur == this.getParent()); cur = cur.getParent()) { cur.dirty(pos(0) + min(oldsize(0) - bw, size(0) - bw), pos(1), - Math.abs(oldsize(0) - size(0)) + bw, + java.lang.Math.abs(oldsize(0) - size(0)) + bw, max(oldsize(1), size(1))); cur.dirty(pos(0), pos(1) + min(oldsize(1) - bh, size(1) - bh), max(oldsize(0), size(0)), - Math.abs(oldsize(1) - size(1)) + bh); + java.lang.Math.abs(oldsize(1) - size(1)) + bh); } // SLOWPATH: dirty ourselves, as well as our former position on our parent @@ -741,11 +741,11 @@ public final class Box extends JS.Scope { if (++surface.sizePosChangesSinceLastRender >= 500) { if (surface.sizePosChangesSinceLastRender == 500) { if (Log.on) Log.log(this, "Warning, more than 500 SizeChange/PosChange traps triggered since last complete render"); - if (Log.on) Log.log(this, " interpreter is at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(this, " interpreter is at " + Context.getCurrentSourceNameAndLine()); /* try { Trap t = sizechange ? Trap.getTrap(this, "SizeChange") : Trap.getTrap(this, "PosChange"); - InterpretedFunction f = (InterpretedFunction)t.f; + InterpretedJS.Callable f = (InterpretedJS.Callable)t.f; if (Log.on) Log.log(this, "Current trap is at " + f.getSourceName() + ":" + f.getLineNumbers()[0]); } catch (Throwable t) { } */ @@ -1074,10 +1074,10 @@ public final class Box extends JS.Scope { public void put(int i, Object value) { if (value != null && !(value instanceof Box)) { - if (Log.on) Log.log(this, "attempt to set a numerical property on a box to anything other than a box at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(this, "attempt to set a numerical property on a box to anything other than a box at " + Context.getCurrentSourceNameAndLine()); } else if (redirect == null) { - if (Log.on) Log.log(this, "attempt to add/remove children to/from a node with a null redirect at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(this, "attempt to add/remove children to/from a node with a null redirect at " + Context.getCurrentSourceNameAndLine()); } else if (redirect != this) { Box b = value == null ? (Box)redirect.get(i) : (Box)value; redirect.put(i, value); @@ -1091,7 +1091,7 @@ public final class Box extends JS.Scope { } } else if (value instanceof RootProxy) { - if (Log.on) Log.log(this, "attempt to reparent a box via its proxy object at " + JS.getCurrentFunctionSourceName()); + if (Log.on) Log.log(this, "attempt to reparent a box via its proxy object at " + Context.getCurrentSourceNameAndLine()); } else { Box newnode = (Box)value; @@ -1100,7 +1100,7 @@ public final class Box extends JS.Scope { for(Box cur = newnode.getParent(); cur != null; cur = cur.getParent()) if (cur.redirect == newnode) { if (Log.on) Log.log(this, "attempt to move a box that is the target of a redirect at "+ - JS.getCurrentFunctionSourceName()); + Context.getCurrentSourceNameAndLine()); return; } @@ -1108,7 +1108,7 @@ public final class Box extends JS.Scope { for(Box cur = this; cur != null; cur = cur.getParent()) if (cur == newnode) { if (Log.on) Log.log(this, "attempt to make a node a parent of its own ancestor at " + - JS.getCurrentFunctionSourceName()); + Context.getCurrentSourceNameAndLine()); if (Log.on) Log.log(this, "box == " + this + " ancestor == " + newnode); return; } @@ -1188,7 +1188,7 @@ public final class Box extends JS.Scope { Object ret = super.get(name); if (name.startsWith("$") && ret == null) if (Log.on) Log.log(this, "WARNING: attempt to access " + name + ", but no child with id=\"" + name.substring(1) + "\" found; " + - JS.getFileAndLine()); + Context.getCurrentSourceNameAndLine()); return ret; } @@ -1210,14 +1210,14 @@ public final class Box extends JS.Scope { String name = (String)name_; if (name == null) return; // FIXME, shouldn't be necessary if (name.startsWith("xwt_")) { - if (Log.on) Log.log(this, "attempt to set reserved property " + name + " at " + JS.getFileAndLine()); + if (Log.on) Log.log(this, "attempt to set reserved property " + name + " at " + Context.getCurrentSourceNameAndLine()); return; } if (!ignoretraps && traps != null) { Trap t = (Trap)traps.get(name); if (t != null) { - JS.Array arg = new JS.Array(); + Array arg = new Array(); arg.addElement(value); t.perform(arg); arg.setElementAt(null, 0); @@ -1235,19 +1235,19 @@ public final class Box extends JS.Scope { } if (name.charAt(0) == '_') { - if (value != null && !(value instanceof Function)) { + if (value != null && !(value instanceof JS.Callable)) { if (Log.on) Log.log(this, "attempt to put a non-function value (" + value + ") to " + - name + " at " + JS.getFileAndLine()); + name + " at " + Context.getCurrentSourceNameAndLine()); } else if (name.charAt(1) == '_') { name = name.substring(2).intern(); Trap t = Trap.getTrap(this, name); if (t != null) t.delete(); - if (value != null) Trap.addTrap(this, name, ((Function)value), true, rp); + if (value != null) Trap.addTrap(this, name, ((CompiledFunction)value), true, rp); } else { name = name.substring(1).intern(); Trap t = Trap.getTrap(this, name); if (t != null) t.delete(); - if (value != null) Trap.addTrap(this, name, ((Function)value), false, rp); + if (value != null) Trap.addTrap(this, name, ((CompiledFunction)value), false, rp); } return; } diff --git a/src/org/xwt/ByteStream.java b/src/org/xwt/ByteStream.java index 004c2a3..f1e6fcb 100644 --- a/src/org/xwt/ByteStream.java +++ b/src/org/xwt/ByteStream.java @@ -101,15 +101,15 @@ public class ByteStream extends JS.Obj { os.close(); } - private final JS.Function getDOM = new JS.Function(-1, "java", null, null) { - public Object _call(JS.Array args) throws JS.Exn { + private final JS.Callable getDOM = new JS.Callable() { + public Object call(Array args) throws JS.Exn { if (args.length() != 0) return null; return new XMLHelper().doParse(); } }; - private final JS.Function getUTF = new JS.Function(-1, "java", null, null) { - public Object _call(JS.Array args) throws JS.Exn { + private final JS.Callable getUTF = new JS.Callable() { + public Object call(Array args) throws JS.Exn { if (args.length() != 0) return null; try { CharArrayWriter caw = new CharArrayWriter(); diff --git a/src/org/xwt/Main.java b/src/org/xwt/Main.java index a29af2e..fa86392 100644 --- a/src/org/xwt/Main.java +++ b/src/org/xwt/Main.java @@ -1,7 +1,6 @@ // Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt; -import java.lang.reflect.*; import java.applet.*; import java.net.*; import java.util.*; @@ -102,8 +101,8 @@ public class Main { if (Log.on) Log.log(Main.class, "instantiating " + initialTemplate); final String initialTemplate_f = initialTemplate; - ThreadMessage.newthread(new JS.Function(-1, "java", null, null) { - public Object _call(JS.Array args) throws JS.Exn { + ThreadMessage.newthread(new JS.Callable() { + public Object call(Array args) throws JS.Exn { new Box(initialTemplate_f, null); doneInitializing = true; if (Surface.allSurfaces.size() == 0) {