You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Frank Barnaby (JIRA)" <ji...@apache.org> on 2007/07/26 22:18:03 UTC
[jira] Created: (RIVER-78) ClassDep generates duplicate output
lines
ClassDep generates duplicate output lines
-----------------------------------------
Key: RIVER-78
URL: https://issues.apache.org/jira/browse/RIVER-78
Project: River
Issue Type: Bug
Components: com_sun_jini_tool
Affects Versions: jtsk_2.1
Reporter: Frank Barnaby
Priority: Minor
Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
Consider a java source file (in {{src/foo/Bar.java}}):
{code}
package foo;
public class Bar {
private static enum Contents { RECORDS, TASKS }
public class Inner { }
}
{code}
Run:
{code}
rm -rf classes
mkdir classes
javac -d classes src/foo/Bar.java
java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
com.sun.jini.tool.ClassDep \
-cp classes -files -in foo foo.Bar foo.Bar\$Inner
{code}
Result:
{code}
foo/Bar.class
foo/Bar$Contents.class
foo/Bar$Contents.class
foo/Bar$Inner.class
foo/Bar$Inner.class
{code}
Note the two duplicate lines.
Using jdk1.5.0_06.
*Evaluation*
For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (RIVER-78) ClassDep generates duplicate output
lines
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Brouwer reassigned RIVER-78:
---------------------------------
Assignee: Mark Brouwer
> ClassDep generates duplicate output lines
> -----------------------------------------
>
> Key: RIVER-78
> URL: https://issues.apache.org/jira/browse/RIVER-78
> Project: River
> Issue Type: Bug
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Frank Barnaby
> Assignee: Mark Brouwer
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
> The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
> Consider a java source file (in {{src/foo/Bar.java}}):
> {code}
> package foo;
> public class Bar {
> private static enum Contents { RECORDS, TASKS }
> public class Inner { }
> }
> {code}
> Run:
> {code}
> rm -rf classes
> mkdir classes
> javac -d classes src/foo/Bar.java
> java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
> com.sun.jini.tool.ClassDep \
> -cp classes -files -in foo foo.Bar foo.Bar\$Inner
> {code}
> Result:
> {code}
> foo/Bar.class
> foo/Bar$Contents.class
> foo/Bar$Contents.class
> foo/Bar$Inner.class
> foo/Bar$Inner.class
> {code}
> Note the two duplicate lines.
> Using jdk1.5.0_06.
> *Evaluation*
> For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (RIVER-78) ClassDep generates duplicate output lines
Posted by "Peter Firmstone (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Firmstone closed RIVER-78.
--------------------------------
> ClassDep generates duplicate output lines
> -----------------------------------------
>
> Key: RIVER-78
> URL: https://issues.apache.org/jira/browse/RIVER-78
> Project: River
> Issue Type: Bug
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Frank Barnaby
> Assignee: Mark Brouwer
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
> The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
> Consider a java source file (in {{src/foo/Bar.java}}):
> {code}
> package foo;
> public class Bar {
> private static enum Contents { RECORDS, TASKS }
> public class Inner { }
> }
> {code}
> Run:
> {code}
> rm -rf classes
> mkdir classes
> javac -d classes src/foo/Bar.java
> java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
> com.sun.jini.tool.ClassDep \
> -cp classes -files -in foo foo.Bar foo.Bar\$Inner
> {code}
> Result:
> {code}
> foo/Bar.class
> foo/Bar$Contents.class
> foo/Bar$Contents.class
> foo/Bar$Inner.class
> foo/Bar$Inner.class
> {code}
> Note the two duplicate lines.
> Using jdk1.5.0_06.
> *Evaluation*
> For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Work started: (RIVER-78) ClassDep generates duplicate output
lines
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on RIVER-78 started by Mark Brouwer.
> ClassDep generates duplicate output lines
> -----------------------------------------
>
> Key: RIVER-78
> URL: https://issues.apache.org/jira/browse/RIVER-78
> Project: River
> Issue Type: Bug
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Frank Barnaby
> Assignee: Mark Brouwer
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
> The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
> Consider a java source file (in {{src/foo/Bar.java}}):
> {code}
> package foo;
> public class Bar {
> private static enum Contents { RECORDS, TASKS }
> public class Inner { }
> }
> {code}
> Run:
> {code}
> rm -rf classes
> mkdir classes
> javac -d classes src/foo/Bar.java
> java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
> com.sun.jini.tool.ClassDep \
> -cp classes -files -in foo foo.Bar foo.Bar\$Inner
> {code}
> Result:
> {code}
> foo/Bar.class
> foo/Bar$Contents.class
> foo/Bar$Contents.class
> foo/Bar$Inner.class
> foo/Bar$Inner.class
> {code}
> Note the two duplicate lines.
> Using jdk1.5.0_06.
> *Evaluation*
> For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (RIVER-78) ClassDep generates duplicate output
lines
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Brouwer updated RIVER-78:
------------------------------
Fix Version/s: AR2
> ClassDep generates duplicate output lines
> -----------------------------------------
>
> Key: RIVER-78
> URL: https://issues.apache.org/jira/browse/RIVER-78
> Project: River
> Issue Type: Bug
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Frank Barnaby
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
> The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
> Consider a java source file (in {{src/foo/Bar.java}}):
> {code}
> package foo;
> public class Bar {
> private static enum Contents { RECORDS, TASKS }
> public class Inner { }
> }
> {code}
> Run:
> {code}
> rm -rf classes
> mkdir classes
> javac -d classes src/foo/Bar.java
> java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
> com.sun.jini.tool.ClassDep \
> -cp classes -files -in foo foo.Bar foo.Bar\$Inner
> {code}
> Result:
> {code}
> foo/Bar.class
> foo/Bar$Contents.class
> foo/Bar$Contents.class
> foo/Bar$Inner.class
> foo/Bar$Inner.class
> {code}
> Note the two duplicate lines.
> Using jdk1.5.0_06.
> *Evaluation*
> For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (RIVER-78) ClassDep generates duplicate output
lines
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Brouwer resolved RIVER-78.
-------------------------------
Resolution: Fixed
> ClassDep generates duplicate output lines
> -----------------------------------------
>
> Key: RIVER-78
> URL: https://issues.apache.org/jira/browse/RIVER-78
> Project: River
> Issue Type: Bug
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Frank Barnaby
> Assignee: Mark Brouwer
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6392596|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392596]
> The classdep utility generates duplicate output lines when run under Java5. In particular, this is seen for enum classes and for inner classes named on the command line.
> Consider a java source file (in {{src/foo/Bar.java}}):
> {code}
> package foo;
> public class Bar {
> private static enum Contents { RECORDS, TASKS }
> public class Inner { }
> }
> {code}
> Run:
> {code}
> rm -rf classes
> mkdir classes
> javac -d classes src/foo/Bar.java
> java -cp /vob/jive/lib/tools.jar:$JAVA_HOME/lib/tools.jar \
> com.sun.jini.tool.ClassDep \
> -cp classes -files -in foo foo.Bar foo.Bar\$Inner
> {code}
> Result:
> {code}
> foo/Bar.class
> foo/Bar$Contents.class
> foo/Bar$Contents.class
> foo/Bar$Inner.class
> foo/Bar$Inner.class
> {code}
> Note the two duplicate lines.
> Using jdk1.5.0_06.
> *Evaluation*
> For reasons not yet clear to me, sometimes {{BinaryConstantPool.getDependencies}} returns {{ClassDeclarations}} with a name that is an Identifier for an array type ({{LFoo$Bar;}}) and so the class name embedded in it is a binary (mangled) name, and {{ClassDep.process}} does {{Identifier.lookup}} on that mangled name, which doesn't transform back to the expected canonical "{{Foo. Bar}}" syntax, so the "seen" table ends up with not-equal Identifiers for both "{{Foo$Bar}}" and "{{Foo. Bar}}", when there should just be "{{Foo. Bar}}".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.