nice-commit Mailing List for The Nice Programming Language (Page 78)
Brought to you by:
bonniot
You can subscribe to this list here.
2003 |
Jan
|
Feb
(60) |
Mar
(125) |
Apr
(183) |
May
(140) |
Jun
(227) |
Jul
(141) |
Aug
(181) |
Sep
(75) |
Oct
(89) |
Nov
(187) |
Dec
(162) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(69) |
Feb
(197) |
Mar
(98) |
Apr
(26) |
May
(10) |
Jun
(85) |
Jul
(88) |
Aug
(79) |
Sep
(80) |
Oct
(81) |
Nov
(53) |
Dec
(109) |
2005 |
Jan
(68) |
Feb
(77) |
Mar
(232) |
Apr
(79) |
May
(37) |
Jun
(37) |
Jul
(3) |
Aug
(18) |
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
(10) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(9) |
2007 |
Jan
(2) |
Feb
(8) |
Mar
(2) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(17) |
Dec
(6) |
2008 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <bo...@us...> - 2003-11-03 13:35:49
|
Update of /cvsroot/nice/Nice/debian In directory sc8-pr-cvs1:/tmp/cvs-serv2144/debian Modified Files: changelog Log Message: Old typos. Index: changelog =================================================================== RCS file: /cvsroot/nice/Nice/debian/changelog,v retrieving revision 1.218 retrieving revision 1.219 diff -C2 -d -r1.218 -r1.219 *** changelog 18 Oct 2003 17:26:41 -0000 1.218 --- changelog 3 Nov 2003 13:35:46 -0000 1.219 *************** *** 222,227 **** now for local variables, use "let" instead. In addition to the standard "type name = ..." syntax two new forms are allowed: ! let [ type ] name = [ expression ] ! var [ type ] name = [ expression ] At least a type or a default value are required. The type can only be left away when the compiler is able to interfere --- 222,227 ---- now for local variables, use "let" instead. In addition to the standard "type name = ..." syntax two new forms are allowed: ! let [ type ] name [ = expression ] ; ! var [ type ] name [ = expression ] ; At least a type or a default value are required. The type can only be left away when the compiler is able to interfere *************** *** 387,391 **** * Report duplicate implementations of a method with the same patterns. * Bugfixes (compilation of tuples with primitive types using subtyping, ! clotures, returning a value inside try/finally or synchronized, ...). * Fixed the nicec script on Max OS X, when gcj is not present. --- 387,391 ---- * Report duplicate implementations of a method with the same patterns. * Bugfixes (compilation of tuples with primitive types using subtyping, ! closures, returning a value inside try/finally or synchronized, ...). * Fixed the nicec script on Max OS X, when gcj is not present. |
From: <bo...@us...> - 2003-10-29 12:42:44
|
Update of /cvsroot/nice/Nice/src/gnu/bytecode In directory sc8-pr-cvs1:/tmp/cvs-serv23192/src/gnu/bytecode Modified Files: ClassFileInput.java Log Message: Make sure that a single ClassType object is created for each class, in case the class is refered to before it is actually read from the file. Make sure that fields (like methods) are not read twice into the same ClassType object. Index: ClassFileInput.java =================================================================== RCS file: /cvsroot/nice/Nice/src/gnu/bytecode/ClassFileInput.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ClassFileInput.java 6 Nov 2002 09:54:58 -0000 1.3 --- ClassFileInput.java 29 Oct 2003 12:42:41 -0000 1.4 *************** *** 54,61 **** throws IOException, ClassFormatError { ! // Make sure to create a new ClassType object, so that ! // we don't add members to an existing class. ! ClassType ctype = new ClassType(name); ! ClassFileInput reader = new ClassFileInput(ctype, str); return ctype; } --- 54,75 ---- throws IOException, ClassFormatError { ! // Try to see if the class is already known. ! ClassType ctype = ClassType.make(name); ! ! /* ! If the class existed but was empty (constants == null), ! we use that same ClassType object. This is important since ! two different ClassType objects for the same class would be ! incomparable. ! On the other hand, if the class was already read from a file, ! we create a new ClassType object, so that we don't add members ! to an existing class. ! */ ! if (ctype.constants != null) ! ctype = new ClassType(name); ! ! // Read the class from the file. ! new ClassFileInput(ctype, str); ! return ctype; } *************** *** 272,275 **** --- 286,292 ---- public void readFields () throws IOException { + if ((ctype.flags & ctype.ADD_FIELDS_DONE) != 0) + return; + ctype.flags |= ctype.ADD_FIELDS_DONE; int nFields = readUnsignedShort(); ConstantPool constants = ctype.constants; *************** *** 289,292 **** --- 306,312 ---- public void readMethods () throws IOException { + if ((ctype.flags & ctype.ADD_METHODS_DONE) != 0) + return; + ctype.flags |= ctype.ADD_METHODS_DONE; int nMethods = readUnsignedShort(); ConstantPool constants = ctype.constants; *************** *** 301,305 **** readAttributes(meth); } - ctype.flags |= ctype.ADD_METHODS_DONE; } } --- 321,324 ---- |
From: <ar...@us...> - 2003-10-28 14:05:38
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv19629/F:/nice/src/bossa/syntax Modified Files: tools.nice Log Message: Don't do instanceof inference when the number of type parameters differ. Index: tools.nice =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/tools.nice,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** tools.nice 17 Oct 2003 10:36:41 -0000 1.26 --- tools.nice 28 Oct 2003 14:04:50 -0000 1.27 *************** *** 130,134 **** } ! return (sym, Monotype.sure(new mlsub.typing.MonotypeConstructor(tc, parameters))); } --- 130,138 ---- } ! try { ! return (sym, Monotype.sure(new mlsub.typing.MonotypeConstructor(tc, parameters))); ! } catch(BadSizeEx e) { ! return null; ! } } |
From: <ar...@us...> - 2003-10-28 14:05:38
|
Update of /cvsroot/nice/Nice/testsuite/compiler/typing In directory sc8-pr-cvs1:/tmp/cvs-serv19629/F:/nice/testsuite/compiler/typing Modified Files: instanceof.testsuite Log Message: Don't do instanceof inference when the number of type parameters differ. Index: instanceof.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/typing/instanceof.testsuite,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** instanceof.testsuite 17 Oct 2003 10:36:41 -0000 1.7 --- instanceof.testsuite 28 Oct 2003 14:04:50 -0000 1.8 *************** *** 195,196 **** --- 195,208 ---- } } + + /// FAIL + X<String> foo = new X(); + if (foo instanceof Y) + foo.bar(); + + /// Toplevel + class X<T> {} + class Y<U,V> + { + void bar() {} + } |
From: <bo...@us...> - 2003-10-28 12:14:06
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes/constructors In directory sc8-pr-cvs1:/tmp/cvs-serv31907/testsuite/compiler/classes/constructors Modified Files: compilation.testsuite Log Message: Problem with duplication of a constructor when importing a compiled package. Since this is used in the compiler, I don't mark it as bug, so that it ensure any development version will handle this correctly. Index: compilation.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/classes/constructors/compilation.testsuite,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** compilation.testsuite 22 Apr 2003 17:56:08 -0000 1.4 --- compilation.testsuite 28 Oct 2003 12:12:47 -0000 1.5 *************** *** 52,53 **** --- 52,71 ---- class A { int a; } + + /// PASS + /// package a + /// Toplevel + class SymbolTable<Sym> + { + ?Binder topBinder = null; + } + + class Binder {} + + <Sym> SymbolTable<Sym> symbolTable() = new SymbolTable(); + + /// package b import a + /// Toplevel + void foo() { + let SymbolTable<String> t = new SymbolTable(); + } |
From: <bo...@us...> - 2003-10-28 10:38:48
|
Update of /cvsroot/nice/Nice/web In directory sc8-pr-cvs1:/tmp/cvs-serv16049/web Modified Files: .htaccess Log Message: Released 0.9.3 Index: .htaccess =================================================================== RCS file: /cvsroot/nice/Nice/web/.htaccess,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** .htaccess 13 Sep 2003 04:51:11 -0000 1.12 --- .htaccess 28 Oct 2003 10:37:50 -0000 1.13 *************** *** 1,5 **** Redirect /Wiki http://nice.sourceforge.net/cgi-bin/twiki/view ! Redirect /Nice.tar http://prdownloads.sourceforge.net/nice/Nice-0.9.2-unix.tar.gz ! Redirect /Nice.zip http://prdownloads.sourceforge.net/nice/Nice-0.9.2-windows.zip ! Redirect /nice.deb http://prdownloads.sourceforge.net/nice/nice_0.9.2_all.deb ! Redirect /nice.rpm http://prdownloads.sourceforge.net/nice/Nice-0.9.2-1.noarch.rpm --- 1,5 ---- Redirect /Wiki http://nice.sourceforge.net/cgi-bin/twiki/view ! Redirect /Nice.tar http://prdownloads.sourceforge.net/nice/Nice-0.9.3-unix.tar.gz ! Redirect /Nice.zip http://prdownloads.sourceforge.net/nice/Nice-0.9.3-windows.zip ! Redirect /nice.deb http://prdownloads.sourceforge.net/nice/nice_0.9.3_all.deb ! Redirect /nice.rpm http://prdownloads.sourceforge.net/nice/Nice-0.9.3-1.noarch.rpm |
From: <bo...@us...> - 2003-10-28 10:37:45
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv15913/src/bossa/syntax Modified Files: ClassDefinition.java Log Message: Only ignore subtyping of generic java interfaces when the class has type parameters. Index: ClassDefinition.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/ClassDefinition.java,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -d -r1.96 -r1.97 *** ClassDefinition.java 24 Oct 2003 11:24:18 -0000 1.96 --- ClassDefinition.java 28 Oct 2003 10:36:43 -0000 1.97 *************** *** 308,312 **** if (javaInterfaces != null) for (int i = 0; i < javaInterfaces.length; i++) ! if (! (JavaClasses.excludedInterface(javaInterfaces[i]))) try { Typing.initialLeq(tc, javaInterfaces[i]); --- 308,313 ---- if (javaInterfaces != null) for (int i = 0; i < javaInterfaces.length; i++) ! if (tc.arity() == 0 || ! ! JavaClasses.excludedInterface(javaInterfaces[i])) try { Typing.initialLeq(tc, javaInterfaces[i]); |
From: <bo...@us...> - 2003-10-28 10:37:45
|
Update of /cvsroot/nice/Nice/testsuite/lib/java/lang In directory sc8-pr-cvs1:/tmp/cvs-serv15913/testsuite/lib/java/lang Added Files: comparable.testsuite Log Message: Only ignore subtyping of generic java interfaces when the class has type parameters. --- NEW FILE: comparable.testsuite --- /// PASS /// Toplevel class A implements java.lang.Comparable { compareTo(that@A) = 0; } |
From: <bo...@us...> - 2003-10-28 10:35:54
|
Update of /cvsroot/nice/Nice/testsuite/lib/java/lang In directory sc8-pr-cvs1:/tmp/cvs-serv15647/testsuite/lib/java/lang Log Message: Directory /cvsroot/nice/Nice/testsuite/lib/java/lang added to the repository |
From: <bo...@us...> - 2003-10-27 17:23:30
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes In directory sc8-pr-cvs1:/tmp/cvs-serv6081/testsuite/compiler/classes Modified Files: implements.testsuite Log Message: Use Runnable as an "arbitrary" Java interface, since Cloneable is handled specially by teh type system. Index: implements.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/classes/implements.testsuite,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** implements.testsuite 22 May 2003 22:10:30 -0000 1.4 --- implements.testsuite 27 Oct 2003 17:19:51 -0000 1.5 *************** *** 37,49 **** use(new A()); /// Toplevel ! class A implements java.lang.Cloneable {} ! void use(java.lang.Cloneable c) {} /// PASS use(new A()); /// Toplevel ! interface I extends java.lang.Cloneable {} ! class A implements I {} ! void use(java.lang.Cloneable c) {} --- 37,49 ---- use(new A()); /// Toplevel ! class A implements java.lang.Runnable { run(){} } ! void use(java.lang.Runnable c) {} /// PASS use(new A()); /// Toplevel ! interface I extends java.lang.Runnable {} ! class A implements I { run(){} } ! void use(java.lang.Runnable c) {} |
From: <bo...@us...> - 2003-10-25 22:19:40
|
Update of /cvsroot/nice/Nice/testsuite/compiler/methods In directory sc8-pr-cvs1:/tmp/cvs-serv16164/testsuite/compiler/methods Modified Files: super.testsuite Log Message: Reuse the existing ClassType when regenerating code for classes imported from a compiled package. This allows to keep all features that do not need regeneration. Index: super.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/methods/super.testsuite,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** super.testsuite 24 Oct 2003 12:32:28 -0000 1.11 --- super.testsuite 25 Oct 2003 20:34:37 -0000 1.12 *************** *** 186,189 **** --- 186,198 ---- /// PASS + ///package a + /// Toplevel + class C { + toString() = super; + } + /// package b import a + let s = new C().toString(); + + /// PASS assert (new C().foo() == 1); /// Toplevel *************** *** 239,252 **** f(a) = 1; } - - /// PASS bug - /// package a - /// Toplevel - class Tokenizer2 extends java.io.StreamTokenizer { - nextToken() { - return super; - } - } - /// package b import a - let x = new Tokenizer2(System.in); - x.nextToken(); --- 248,249 ---- |
From: <bo...@us...> - 2003-10-25 20:38:45
|
Update of /cvsroot/nice/Nice/src/gnu/expr In directory sc8-pr-cvs1:/tmp/cvs-serv16164/src/gnu/expr Modified Files: LambdaExp.java ClassExp.java Log Message: Reuse the existing ClassType when regenerating code for classes imported from a compiled package. This allows to keep all features that do not need regeneration. Index: LambdaExp.java =================================================================== RCS file: /cvsroot/nice/Nice/src/gnu/expr/LambdaExp.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** LambdaExp.java 8 Aug 2003 19:16:32 -0000 1.17 --- LambdaExp.java 25 Oct 2003 20:34:37 -0000 1.18 *************** *** 237,240 **** --- 237,250 ---- } + public Type[] getArgTypes() + { + Type[] res = new Type[max_args]; + int n = 0; + for (Declaration d = firstDecl(); d != null; d = d.nextDecl()) + res[n++] = d.getType(); + return res; + } + + /** Number of argument variable actually passed by the caller. * For functions that accept more than 4 argument, or take a variable number, Index: ClassExp.java =================================================================== RCS file: /cvsroot/nice/Nice/src/gnu/expr/ClassExp.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ClassExp.java 30 Apr 2003 20:35:05 -0000 1.12 --- ClassExp.java 25 Oct 2003 20:34:37 -0000 1.13 *************** *** 94,97 **** --- 94,109 ---- this.firstChild = method; + if (instanceType != null) + { + Method m = instanceType.getDeclaredMethod + (method.getName(), method.getArgTypes()); + if (m != null) + { + m.eraseCode(); + method.declareThis(instanceType); + method.primMethods = new Method[]{ m }; + } + } + return new ReferenceExp(decl); } *************** *** 279,283 **** { // If the declaration derives from a method, don't create field. ! if (decl.getCanRead()) { int flags = Access.PUBLIC; --- 291,297 ---- { // If the declaration derives from a method, don't create field. ! // Also, field can already exist if the class is imported from a ! // compiled package. ! if (decl.getCanRead() && decl.field == null) { int flags = Access.PUBLIC; *************** *** 315,318 **** --- 329,337 ---- child = child.nextSibling) { + // When we recompile an existing method in an existing class, + // we keep the same Method objects. + if (child.primMethods != null) + continue; + if (child != initMethod || ! isMakingClassPair()) child.addMethodFor(type, null, null); |
From: <bo...@us...> - 2003-10-25 20:38:02
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv16164/src/bossa/syntax Modified Files: NiceClass.java Module.java Log Message: Reuse the existing ClassType when regenerating code for classes imported from a compiled package. This allows to keep all features that do not need regeneration. Index: NiceClass.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/NiceClass.java,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** NiceClass.java 18 Oct 2003 19:48:19 -0000 1.62 --- NiceClass.java 25 Oct 2003 20:34:37 -0000 1.63 *************** *** 517,522 **** (and maybe for adding fields, or optimizing the dispatch of Nice methods in the future). */ ! classe = createClassExp(); } --- 517,524 ---- (and maybe for adding fields, or optimizing the dispatch of Nice methods in the future). + However, the ClassExp object refers to the existing ClassType object, + and only adds or modifies features when needed. */ ! classe = definition.module.getClassExp(this); } *************** *** 536,548 **** } ! private gnu.expr.ClassExp createClassExp() { ! gnu.expr.ClassExp classe = new gnu.expr.ClassExp(); ! classe.setName(definition.name.toString()); ! definition.location().write(classe); ! classe.setSimple(true); ! classe.setAccessFlags(definition.getBytecodeFlags()); ! definition.module.addImplementationClass(classe); ! return classe; } --- 538,550 ---- } ! public gnu.expr.ClassExp createClassExp() { ! gnu.expr.ClassExp res = new gnu.expr.ClassExp(); ! res.setName(definition.name.toString()); ! definition.location().write(res); ! res.setSimple(true); ! res.setAccessFlags(definition.getBytecodeFlags()); ! definition.module.addImplementationClass(res); ! return res; } *************** *** 759,763 **** /** ! Called instead of compile is the package is up-to-date. */ public void recompile() --- 761,765 ---- /** ! Called instead of compile if the package is up-to-date. */ public void recompile() Index: Module.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/Module.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** Module.java 11 Sep 2003 20:50:27 -0000 1.16 --- Module.java 25 Oct 2003 20:34:37 -0000 1.17 *************** *** 34,37 **** --- 34,38 ---- gnu.expr.ReferenceExp addMethod(gnu.expr.LambdaExp method, boolean packageMethod); + gnu.expr.ClassExp getClassExp(NiceClass def); void addImplementationClass(gnu.expr.ClassExp classe); } |
From: <bo...@us...> - 2003-10-25 20:38:02
|
Update of /cvsroot/nice/Nice/src/bossa/modules In directory sc8-pr-cvs1:/tmp/cvs-serv16164/src/bossa/modules Modified Files: Package.java Log Message: Reuse the existing ClassType when regenerating code for classes imported from a compiled package. This allows to keep all features that do not need regeneration. Index: Package.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/modules/Package.java,v retrieving revision 1.98 retrieving revision 1.99 diff -C2 -d -r1.98 -r1.99 *** Package.java 12 Sep 2003 23:20:41 -0000 1.98 --- Package.java 25 Oct 2003 20:34:38 -0000 1.99 *************** *** 598,601 **** --- 598,618 ---- static final String packageClassName = "fun"; + public ClassExp getClassExp(NiceClass def) + { + if (compiling()) + return def.createClassExp(); + + String name = def.getName().toString(); + ClassType classe = source.readClass(name); + if (classe == null) + Internal.error("Compiled class " + def + " was not found"); + + Type.registerTypeForName(name, classe); + + ClassExp res = new ClassExp(classe); + addImplementationClass(res); + return res; + } + public void addImplementationClass(gnu.expr.ClassExp classe) { |
From: <ar...@us...> - 2003-10-25 18:23:56
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes In directory sc8-pr-cvs1:/tmp/cvs-serv13622/F:/nice/testsuite/compiler/classes Modified Files: initializer.testsuite Log Message: Testcase where printing of an initializer to package.nicei is incorrect. Index: initializer.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/classes/initializer.testsuite,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** initializer.testsuite 21 Oct 2003 14:46:10 -0000 1.8 --- initializer.testsuite 24 Oct 2003 13:44:40 -0000 1.9 *************** *** 149,153 **** k = 5; } - int c = int('\''); } --- 149,152 ---- *************** *** 155,156 **** --- 154,171 ---- /// package b import a assert new A().x[0]; + + /// PASS bug + /// package a + /// Toplevel + class A + { + boolean x = false; + { + void foo() { + x = true; + } + foo(); + } + } + /// package b import a + assert new A().x; |
From: <bo...@us...> - 2003-10-25 14:19:02
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv18471/src/bossa/syntax Modified Files: JavaClasses.java ClassDefinition.java Log Message: Allow classes of all variances to be serializable. Index: JavaClasses.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/JavaClasses.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** JavaClasses.java 17 Oct 2003 15:25:50 -0000 1.38 --- JavaClasses.java 24 Oct 2003 11:24:17 -0000 1.39 *************** *** 80,84 **** private static boolean excluded(gnu.bytecode.Type[] blackList, ! ClassType classType) { for(int i=0; i<blackList.length; i++) --- 80,84 ---- private static boolean excluded(gnu.bytecode.Type[] blackList, ! Type classType) { for(int i=0; i<blackList.length; i++) *************** *** 88,91 **** --- 88,97 ---- } + static boolean excludedInterface(TypeConstructor itf) + { + gnu.bytecode.Type t = nice.tools.code.Types.get(itf); + return excluded(blackListInterface, t); + } + private static TypeConstructor create (Compilation compilation, String className, gnu.bytecode.Type javaType) Index: ClassDefinition.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/ClassDefinition.java,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** ClassDefinition.java 13 Sep 2003 00:39:53 -0000 1.95 --- ClassDefinition.java 24 Oct 2003 11:24:18 -0000 1.96 *************** *** 308,319 **** if (javaInterfaces != null) for (int i = 0; i < javaInterfaces.length; i++) ! try { ! Typing.initialLeq(tc, javaInterfaces[i]); ! } ! catch(KindingEx e){ ! User.error(name, ! "Class " + name + " cannot implement " + e.t2 + ! ": they do not have the same number or kind of type parameters"); ! } } catch(TypingEx e){ --- 308,320 ---- if (javaInterfaces != null) for (int i = 0; i < javaInterfaces.length; i++) ! if (! (JavaClasses.excludedInterface(javaInterfaces[i]))) ! try { ! Typing.initialLeq(tc, javaInterfaces[i]); ! } ! catch(KindingEx e){ ! User.error(name, ! "Class " + name + " cannot implement " + e.t2 + ! ": they do not have the same number or kind of type parameters"); ! } } catch(TypingEx e){ |
From: <ar...@us...> - 2003-10-24 18:07:59
|
Update of /cvsroot/nice/Nice/testsuite/compiler/methods In directory sc8-pr-cvs1:/tmp/cvs-serv29773/F:/nice/testsuite/compiler/methods Modified Files: super.testsuite Log Message: Testcase for a bug in super calls. Index: super.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/methods/super.testsuite,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** super.testsuite 3 Oct 2003 13:50:50 -0000 1.10 --- super.testsuite 24 Oct 2003 12:32:28 -0000 1.11 *************** *** 239,240 **** --- 239,252 ---- f(a) = 1; } + + /// PASS bug + /// package a + /// Toplevel + class Tokenizer2 extends java.io.StreamTokenizer { + nextToken() { + return super; + } + } + /// package b import a + let x = new Tokenizer2(System.in); + x.nextToken(); |
From: <bo...@us...> - 2003-10-24 15:24:49
|
Update of /cvsroot/nice/Nice/testsuite/lib/java/io In directory sc8-pr-cvs1:/tmp/cvs-serv18471/testsuite/lib/java/io Added Files: serializable.testsuite Log Message: Allow classes of all variances to be serializable. --- NEW FILE: serializable.testsuite --- /// PASS assert isSerializable(new A(elem: null)); assert isSerializable(new B()); ///Toplevel <T> boolean isSerializable(T x) = x instanceof java.io.Serializable; class A<T> implements java.io.Serializable { T elem; } class B implements java.io.Serializable { } |
From: <bo...@us...> - 2003-10-24 12:26:26
|
Update of /cvsroot/nice/Nice/testsuite/lib/java/io In directory sc8-pr-cvs1:/tmp/cvs-serv17789/testsuite/lib/java/io Log Message: Directory /cvsroot/nice/Nice/testsuite/lib/java/io added to the repository |
From: <ar...@us...> - 2003-10-24 10:38:21
|
Update of /cvsroot/nice/Nice/testsuite/compiler/overloading In directory sc8-pr-cvs1:/tmp/cvs-serv11817/F:/nice/testsuite/compiler/overloading Added Files: tuples.testsuite Log Message: Fixed resolving overloading of assignments to tuples. --- NEW FILE: tuples.testsuite --- /// PASS /// Toplevel class X { String st = ""; } class Y { String st = ""; void foo() { int z = 0; (st, z) = ("abc", 1); } } |
From: <ar...@us...> - 2003-10-24 10:38:21
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv11817/F:/nice/src/bossa/syntax Modified Files: TupleExp.java Log Message: Fixed resolving overloading of assignments to tuples. Index: TupleExp.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/TupleExp.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** TupleExp.java 19 Jun 2003 15:32:00 -0000 1.20 --- TupleExp.java 24 Oct 2003 10:35:50 -0000 1.21 *************** *** 81,84 **** --- 81,92 ---- } + bossa.syntax.Expression noOverloading() + { + for(int i = expressions.length; i-->0;) + expressions[i] = expressions[i].noOverloading(); + + return this; + } + private Monotype[] components; private Monotype[] expectedComponents; |
From: <ar...@us...> - 2003-10-23 16:38:34
|
Update of /cvsroot/nice/Nice/src/bossa/link In directory sc8-pr-cvs1:/tmp/cvs-serv6693/F:/nice/src/bossa/link Modified Files: Dispatch.java Log Message: Added an internal error for easier debugging. Index: Dispatch.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/link/Dispatch.java,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** Dispatch.java 26 Sep 2003 23:12:36 -0000 1.63 --- Dispatch.java 23 Oct 2003 14:49:52 -0000 1.64 *************** *** 133,136 **** --- 133,140 ---- { Alternative a = (Alternative) it.next(); + if (len != a.patterns.length) + Internal.error("Expected number of patterns is " + len + + ".\nThe incorrect alternative: " + a); + for (int i = 0; i < len; i++) if (! a.patterns[i].atAny()) |
From: <ar...@us...> - 2003-10-22 10:38:43
|
Update of /cvsroot/nice/Nice/testsuite/compiler/methods In directory sc8-pr-cvs1:/tmp/cvs-serv10458/F:/nice/testsuite/compiler/methods Modified Files: integer.testsuite Log Message: Fix for an escaping problem in char literals dispatch. Index: integer.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/methods/integer.testsuite,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** integer.testsuite 29 Sep 2003 17:40:17 -0000 1.13 --- integer.testsuite 21 Oct 2003 17:41:52 -0000 1.14 *************** *** 219,220 **** --- 219,231 ---- foo(n<=1) {} foo(n>=0) {} + + /// PASS + /// package a + /// Toplevel + int foo(char c); + foo(c) = 0; + foo('\\') = 1; + foo('\'') = 2; + /// package b import a + assert foo('\\') == 1; + assert foo('\'') == 2; |
From: <ar...@us...> - 2003-10-22 10:37:06
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv10458/F:/nice/src/bossa/syntax Modified Files: Pattern.java Log Message: Fix for an escaping problem in char literals dispatch. Index: Pattern.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/Pattern.java,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** Pattern.java 21 Oct 2003 14:46:10 -0000 1.73 --- Pattern.java 21 Oct 2003 17:41:52 -0000 1.74 *************** *** 674,679 **** { if (name.charAt(0) == '\'') ! return new Pattern(ConstantExp.makeChar(new LocatedString( ! name.substring(1,name.length()-1), Location.nowhere()))); if (name.charAt(0) == '-') --- 674,679 ---- { if (name.charAt(0) == '\'') ! return new Pattern(new ConstantExp(PrimitiveType.charTC, ! new Character(name.charAt(1)), name, Location.nowhere())); if (name.charAt(0) == '-') |
From: <ar...@us...> - 2003-10-21 16:00:38
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes In directory sc8-pr-cvs1:/tmp/cvs-serv5998/F:/nice/testsuite/compiler/classes Modified Files: initializer.testsuite Log Message: Fix printing of char literals. Index: initializer.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/classes/initializer.testsuite,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** initializer.testsuite 19 Oct 2003 00:16:29 -0000 1.7 --- initializer.testsuite 21 Oct 2003 14:46:10 -0000 1.8 *************** *** 149,152 **** --- 149,154 ---- k = 5; } + + int c = int('\''); } } |