[Nice-commit] Nice/src/bossa/syntax ClassDefinition.java,1.109,1.110
Brought to you by:
bonniot
From: Arjan B. <ar...@us...> - 2004-11-06 11:23:24
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24364/F:/nice/src/bossa/syntax Modified Files: ClassDefinition.java Log Message: Check whether a class being extended is visible and make Nice classes public by default. (patch by Luc Perrin) Index: ClassDefinition.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/ClassDefinition.java,v retrieving revision 1.109 retrieving revision 1.110 diff -C2 -d -r1.109 -r1.110 *** ClassDefinition.java 1 Sep 2004 12:06:51 -0000 1.109 --- ClassDefinition.java 6 Nov 2004 11:23:07 -0000 1.110 *************** *** 71,75 **** } ! int getBytecodeFlags() { return Access.INTERFACE; } boolean implementsJavaInterface(String name) --- 71,78 ---- } ! int getBytecodeFlags() ! { ! return Access.INTERFACE | Access.PUBLIC; ! } boolean implementsJavaInterface(String name) *************** *** 210,218 **** int getBytecodeFlags() { ! if (isFinal) ! return Access.FINAL; ! else if (isAbstract) ! return Access.ABSTRACT; ! else return 0; } --- 213,223 ---- int getBytecodeFlags() { ! int flags = Access.PUBLIC; ! if (isFinal) ! flags |= Access.FINAL; ! if (isAbstract) ! flags |= Access.ABSTRACT; ! ! return flags; } *************** *** 276,279 **** --- 281,287 ---- superClass + " is an interface, so " + name + " may only implement it"); + if (! nice.tools.code.Types.legalAccess(superClass, module.getName())) + User.error(superClassIdent, name + " cannot extend " + + superClass + ". It is not available to this package."); superClassIdent = null; |