[ 
https://issues.apache.org/jira/browse/MSHARED-545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15413759#comment-15413759
 ] 

Hudson commented on MSHARED-545:
--------------------------------

SUCCESS: Integrated in maven-shared #2810 (See 
[https://builds.apache.org/job/maven-shared/2810/])
[MSHARED-545] maven-dependency-analyzer fails on classes containing constant 
long or double

Submitted-by: Jonathan Haber <[email protected]>

This fixes #10 (michaelo: [http://svn.apache.org/viewvc/?view=rev&rev=1755616])
* 
maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java
* 
maven-dependency-analyzer/src/test/resources/java8methodRefs/src/main/java/inlinedStaticReference/Project.java


> maven-dependency-analyzer fails on classes containing constant long or double
> -----------------------------------------------------------------------------
>
>                 Key: MSHARED-545
>                 URL: https://issues.apache.org/jira/browse/MSHARED-545
>             Project: Maven Shared Components
>          Issue Type: Bug
>    Affects Versions: maven-dependency-analyzer-1.7
>            Reporter: Jonathan Haber
>            Assignee: Michael Osipov
>            Priority: Blocker
>             Fix For: maven-dependency-analyzer-1.7
>
>
> The maven-dependency-analyzer was updated to parse the constant pool on each 
> class file so that it can discover method references and constant references, 
> but the ConstantPoolParser is missing two critical lines that cause it to 
> throw an exception on any class file containing a constant long or constant 
> double field. According to the 
> [Javadoc|https://github.com/apache/maven-shared/blob/ca1f714442eb49439a1f184ba8177e7795158b75/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java#L34],
>  the class was adapted from [this|http://stackoverflow.com/a/32278587/23691] 
> stack overflow answer. If you look inside the switch statement at the cases 
> for longs and doubles, it increments the index. But the ConstantPoolParser is 
> [missing|https://github.com/apache/maven-shared/blob/ca1f714442eb49439a1f184ba8177e7795158b75/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java#L118-L123]
>  this increment. This causes it to land 
> [here|https://github.com/apache/maven-shared/blob/ca1f714442eb49439a1f184ba8177e7795158b75/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ConstantPoolParser.java#L95-L96]
>  and throw an exception on all but the most trivial codebases. In 
> [this|https://github.com/apache/maven-shared/pull/10] pull request I fixed 
> the bug and updated one of the test classes to have a constant long field to 
> prevent regressions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to