-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MCOMPILER-485] Fixes internal string format in generated package-info.class #95
Conversation
ad7dac6
to
c03c7bc
Compare
The internal package string in the class file should contain a forward slash
Per JLS 4.2.1 if the file separator character is not a forward slash, replace it
Javadocs for org.objectweb.asm.ClassVisitor specify "The methods of this class must be called in the following order: visit [ visitSource ] ..."
c03c7bc
to
d6106cb
Compare
Sorry for the force-push churn. Finally got IT tests to work and had a upper/lower case issue in the hex string, then forgot to use fixup on the rebase. Should be good to go now. |
no worries mate. Thanks again for your help. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
maybe @gnodet could have a look as well?
thanks!
https://issues.apache.org/jira/browse/MCOMPILER-485
Per JVMS 4.2.1, the package name representation in the internal class structure always contains forward slashes in place of periods. This PR fixes the code from MCOMPILER-205 which passed a package name extracted from the file path which used backward slashes on Windows.
While not necessarily a cause of the bug, the javadocs for
ClassVisitor
(the superclass ofClassWriter
) state "The methods of this class must be called in the following order: visit visitSource ..." so I reordered those method calls as well.The IT is copied from MCOMPILER-205 but with a more detailed test to confirm the correct internal representation of the package name in the class file.
mvn -Prun-its clean verify
after the first (IT) commit finds the failure; note the 5c (\
) on windows vs. 2f (/
).After code fix, passes tests:
Following this checklist to help us incorporate your
contribution quickly and easily:
for the change (usually before you start working on it). Trivial changes like typos do not
require a JIRA issue. Your pull request should address just this issue, without
pulling in other changes.
[MCOMPILER-XXX] - Fixes bug in ApproximateQuantiles
,where you replace
MCOMPILER-XXX
with the appropriate JIRA issue. Best practiceis to use the JIRA issue title in the pull request title and in the first line of the
commit message.
mvn clean verify
to make sure basic checks pass. A more thorough check willbe performed on your pull request automatically.
mvn -Prun-its clean verify
).If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.
To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.
I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004
In any other case, please file an Apache Individual Contributor License Agreement.