public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* java/1232: Inner Interfaces need to support private, protected, and static keywords
@ 2000-12-20 12:22 mdejong
  0 siblings, 0 replies; only message in thread
From: mdejong @ 2000-12-20 12:22 UTC (permalink / raw)
  To: java-gnats

>Number:         1232
>Category:       java
>Synopsis:       Inner Interfaces need to support private, protected, and static keywords
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    apbianco
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 20 12:18:03 PST 2000
>Closed-Date:    Fri Apr 21 16:05:19 PDT 2000
>Last-Modified:  Fri Apr 21 16:16:01 PDT 2000
>Originator:     Mo
>Release:        egcs CVS Sun Apr  9
>Organization:
>Environment:
Red Hat 5.2
>Description:
gcj needs to be able to compile the following classes.

// File PrivateInnerInterface.java

public class PrivateInnerInterface {
    private interface Inter {}
}

// File ProtectedInnerInterface.java

public class ProtectedInnerInterface {
    protected interface Inter {}
}

// File StaticInnerInterface.java

public class StaticInnerInterface {
    static interface Inter {}
}

>How-To-Repeat:
If you try to compile any of these classes with gcj
you will get an error saying those keywords are not
valid on an interface.
>Fix:
Index: gcc/java/parse.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/parse.h,v
retrieving revision 1.49
diff -u -r1.49 parse.h
--- parse.h	2000/04/06 00:43:27	1.49
+++ parse.h	2000/04/09 10:59:32
@@ -79,6 +79,7 @@
 #define METHOD_MODIFIERS ACC_PUBLIC|ACC_PROTECTED|ACC_PRIVATE|ACC_ABSTRACT| \
 			 ACC_STATIC|ACC_FINAL|ACC_SYNCHRONIZED|ACC_NATIVE
 #define INTERFACE_MODIFIERS ACC_PUBLIC|ACC_ABSTRACT
+#define INTERFACE_INNER_MODIFIERS ACC_PUBLIC|ACC_PROTECTED|ACC_PRIVATE|ACC_ABSTRACT|ACC_STATIC
 #define INTERFACE_METHOD_MODIFIERS ACC_PUBLIC|ACC_ABSTRACT
 #define INTERFACE_FIELD_MODIFIERS ACC_PUBLIC|ACC_STATIC|ACC_FINAL
 
Index: gcc/java/parse.y
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/parse.y,v
retrieving revision 1.150
diff -u -r1.150 parse.y
--- parse.y	2000/04/06 05:29:30	1.150
+++ parse.y	2000/04/09 10:59:54
@@ -3348,7 +3348,7 @@
 	sca = (GET_CPC_LIST () ? ACC_STATIC : 0);
     }
 
-  /* Inner classes and interfaces can be declared private or protected
+  /* Inner classes can be declared private or protected
      within their enclosing classes. */
   if (CPC_INNER_P ())
     {
@@ -3364,9 +3364,15 @@
 	}
     }
 
-  if (is_interface)
+  if (is_interface) {
+    if (CPC_INNER_P ())
+      uaaf = INTERFACE_INNER_MODIFIERS;
+    else
+      uaaf = INTERFACE_MODIFIERS;
+
     check_modifiers ("Illegal modifier `%s' for interface declaration",
-		     flags, INTERFACE_MODIFIERS);
+		     flags, uaaf);
+  }
   else
     check_modifiers ("Illegal modifier `%s' for class declaration",
 		     flags, uaaf|sca|icaf);
@@ -3748,7 +3754,7 @@
   return class;
 }
 
-/* Create an class in pass1 and return its decl. Return class
+/* Create a class in pass1 and return its decl. Return class
    interface's decl in pass 2.  */
 
 static tree
>Release-Note:

>Audit-Trail:

Formerly PR gcj/197

State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Thu Apr 20 17:48:45 2000
State-Changed-Why:
    I worked on Mo's patch. It goes in the right direction.
    No need to worry about 1.2 new modifiers (strictfp), yet.
    Mo, let me know how you like your patch now.

From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, mdejong@cygnus.com
Cc:  
Subject: Re: gcj/197
Date: 21 Apr 2000 00:48:45 -0000

 Synopsis: Inner Interfaces need to support private, protected, and static keywords
 
 State-Changed-From-To: open->feedback
 State-Changed-By: apbianco
 State-Changed-When: Thu Apr 20 17:48:45 2000
 State-Changed-Why:
     I worked on Mo's patch. It goes in the right direction.
     No need to worry about 1.2 new modifiers (strictfp), yet.
     Mo, let me know how you like your patch now.
 
 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=197&database=java

From: Mo DeJong <mdejong@cygnus.com>
To: java-gnats@sourceware.cygnus.com
Cc: apbianco@cygnus.com
Subject: Re: gcj/197
Date: Thu, 20 Apr 2000 19:22:05 -0700 (PDT)

 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=197&database=java
 
 I just tested out the patch and it seems to be working just fine.
 
 later
 Mo Dejong
 Red Hat Inc.
 
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Fri Apr 21 16:05:19 2000
State-Changed-Why:
    I checked in the following patch:
      http://gcc.gnu.org/ml/gcc-patches/2000-04/msg00843.html

From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, mdejong@cygnus.com
Cc:  
Subject: Re: gcj/197
Date: 21 Apr 2000 23:05:19 -0000

 Synopsis: Inner Interfaces need to support private, protected, and static keywords
 
 State-Changed-From-To: feedback->closed
 State-Changed-By: apbianco
 State-Changed-When: Fri Apr 21 16:05:19 2000
 State-Changed-Why:
     I checked in the following patch:
       http://gcc.gnu.org/ml/gcc-patches/2000-04/msg00843.html
 
 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=197&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"

VGh1IEFwciAyMCAxNzo0MToyOCAyMDAwICBNbyBEZUpvbmcgIDxtZGVqb25nQGN5Z251cy5jb20+
CgoJKiBwYXJzZS5oIChJTlRFUkZBQ0VfSU5ORVJfTU9ESUZJRVJTKTogTmV3IG1hY3JvLgoJKiBw
YXJzZS55IChjaGVja19jbGFzc19pbnRlcmZhY2VfY3JlYXRpb24pOiBGaXhlZCBjb21tZW50cy4g
U2VsZWN0CiAJcGVybWl0dGVkIG1vZGlmaWVycyBmb3IgKGlubmVyKSBpbnRlcmZhY2VzLiBDaGFu
Z2VkIGVycm9yIG1lc3NhZ2UKIAl0byByZXBvcnQgcmVqZWN0ZWQgbW9kaWZpZXJzIHVzZWQgd2l0
aCBsb2NhbCBjbGFzc2VzLgoKSW5kZXg6IHBhcnNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9nY2MvZWdjcy9nY2MvamF2YS9wYXJzZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ5CmRp
ZmYgLXUgLXAgLXIxLjQ5IHBhcnNlLmgKLS0tIHBhcnNlLmgJMjAwMC8wNC8wNiAwMDo0MzoyNwkx
LjQ5CisrKyBwYXJzZS5oCTIwMDAvMDQvMjEgMDA6NDA6NTMKQEAgLTc5LDYgKzc5LDcgQEAgZXh0
ZXJuIHRyZWUgc3RhYmlsaXplX3JlZmVyZW5jZSBQQVJBTVMgKAogI2RlZmluZSBNRVRIT0RfTU9E
SUZJRVJTIEFDQ19QVUJMSUN8QUNDX1BST1RFQ1RFRHxBQ0NfUFJJVkFURXxBQ0NfQUJTVFJBQ1R8
IFwKIAkJCSBBQ0NfU1RBVElDfEFDQ19GSU5BTHxBQ0NfU1lOQ0hST05JWkVEfEFDQ19OQVRJVkUK
ICNkZWZpbmUgSU5URVJGQUNFX01PRElGSUVSUyBBQ0NfUFVCTElDfEFDQ19BQlNUUkFDVAorI2Rl
ZmluZSBJTlRFUkZBQ0VfSU5ORVJfTU9ESUZJRVJTIEFDQ19QVUJMSUN8QUNDX1BST1RFQ1RFRHxB
Q0NfUFJJVkFURXxBQ0NfQUJTVFJBQ1R8QUNDX1NUQVRJQwogI2RlZmluZSBJTlRFUkZBQ0VfTUVU
SE9EX01PRElGSUVSUyBBQ0NfUFVCTElDfEFDQ19BQlNUUkFDVAogI2RlZmluZSBJTlRFUkZBQ0Vf
RklFTERfTU9ESUZJRVJTIEFDQ19QVUJMSUN8QUNDX1NUQVRJQ3xBQ0NfRklOQUwKIApJbmRleDog
cGFyc2UueQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL2djYy9lZ2NzL2djYy9qYXZhL3BhcnNl
LnksdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTUyCmRpZmYgLXUgLXAgLXIxLjE1MiBwYXJzZS55
Ci0tLSBwYXJzZS55CTIwMDAvMDQvMjAgMDI6NTI6MjYJMS4xNTIKKysrIHBhcnNlLnkJMjAwMC8w
NC8yMSAwMDo0MDo1MwpAQCAtMzM0OCw3ICszMzQ4LDcgQEAgY2hlY2tfY2xhc3NfaW50ZXJmYWNl
X2NyZWF0aW9uIChpc19pbnRlcgogCXNjYSA9IChHRVRfQ1BDX0xJU1QgKCkgPyBBQ0NfU1RBVElD
IDogMCk7CiAgICAgfQogCi0gIC8qIElubmVyIGNsYXNzZXMgYW5kIGludGVyZmFjZXMgY2FuIGJl
IGRlY2xhcmVkIHByaXZhdGUgb3IgcHJvdGVjdGVkCisgIC8qIElubmVyIGNsYXNzZXMgY2FuIGJl
IGRlY2xhcmVkIHByaXZhdGUgb3IgcHJvdGVjdGVkCiAgICAgIHdpdGhpbiB0aGVpciBlbmNsb3Np
bmcgY2xhc3Nlcy4gKi8KICAgaWYgKENQQ19JTk5FUl9QICgpKQogICAgIHsKQEAgLTMzNjQsMTEg
KzMzNjQsMjAgQEAgY2hlY2tfY2xhc3NfaW50ZXJmYWNlX2NyZWF0aW9uIChpc19pbnRlcgogCX0K
ICAgICB9CiAKLSAgaWYgKGlzX2ludGVyZmFjZSkKLSAgICBjaGVja19tb2RpZmllcnMgKCJJbGxl
Z2FsIG1vZGlmaWVyIGAlcycgZm9yIGludGVyZmFjZSBkZWNsYXJhdGlvbiIsCi0JCSAgICAgZmxh
Z3MsIElOVEVSRkFDRV9NT0RJRklFUlMpOworICBpZiAoaXNfaW50ZXJmYWNlKSAKKyAgICB7Cisg
ICAgICBpZiAoQ1BDX0lOTkVSX1AgKCkpCisJdWFhZiA9IElOVEVSRkFDRV9JTk5FUl9NT0RJRklF
UlM7CisgICAgICBlbHNlCisJdWFhZiA9IElOVEVSRkFDRV9NT0RJRklFUlM7CisgICAgICAKKyAg
ICAgIGNoZWNrX21vZGlmaWVycyAoIklsbGVnYWwgbW9kaWZpZXIgYCVzJyBmb3IgaW50ZXJmYWNl
IGRlY2xhcmF0aW9uIiwgCisJCSAgICAgICBmbGFncywgdWFhZik7CisgICAgfQogICBlbHNlCi0g
ICAgY2hlY2tfbW9kaWZpZXJzICgiSWxsZWdhbCBtb2RpZmllciBgJXMnIGZvciBjbGFzcyBkZWNs
YXJhdGlvbiIsCisgICAgY2hlY2tfbW9kaWZpZXJzICgoY3VycmVudF9mdW5jdGlvbl9kZWNsID8K
KwkJICAgICAgIklsbGVnYWwgbW9kaWZpZXIgYCVzJyBmb3IgbG9jYWwgY2xhc3MgZGVjbGFyYXRp
b24iIDoKKwkJICAgICAgIklsbGVnYWwgbW9kaWZpZXIgYCVzJyBmb3IgY2xhc3MgZGVjbGFyYXRp
b24iKSwKIAkJICAgICBmbGFncywgdWFhZnxzY2F8aWNhZik7CiAgIHJldHVybiAwOwogfQpAQCAt
Mzc0OCw3ICszNzU3LDcgQEAgY3JlYXRlX2Fub255bW91c19jbGFzcyAobG9jYXRpb24sIHR5cGVf
bgogICByZXR1cm4gY2xhc3M7CiB9CiAKLS8qIENyZWF0ZSBhbiBjbGFzcyBpbiBwYXNzMSBhbmQg
cmV0dXJuIGl0cyBkZWNsLiBSZXR1cm4gY2xhc3MKKy8qIENyZWF0ZSBhIGNsYXNzIGluIHBhc3Mx
IGFuZCByZXR1cm4gaXRzIGRlY2wuIFJldHVybiBjbGFzcwogICAgaW50ZXJmYWNlJ3MgZGVjbCBp
biBwYXNzIDIuICAqLwogCiBzdGF0aWMgdHJlZQo=



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-12-20 12:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-12-20 12:22 java/1232: Inner Interfaces need to support private, protected, and static keywords mdejong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).