<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/recoder/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/recoder/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 15 Apr 2014 18:11:32 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/recoder/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>#104 run.tests not working</title><link>https://sourceforge.net/p/recoder/bugs/104/?limit=25#9f29</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; wont-fix&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assigned_to&lt;/strong&gt;: Tobias Gutzmann&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Tue, 15 Apr 2014 18:11:32 -0000</pubDate><guid>https://sourceforge.netd459940d83a6dc06fdf5c4d4e0893dafb22acf6e</guid></item><item><title>#104 run.tests not working</title><link>https://sourceforge.net/p/recoder/bugs/104/?limit=25#0ee6</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It's surely a "bug" but nothing that will be fixed. Test should run fine with any junit-launcher (e.g. from within Eclipse, and the ant-scripts are obsolete / hopefully soon to be replaced with Maven.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Tue, 15 Apr 2014 18:11:14 -0000</pubDate><guid>https://sourceforge.net0fa6e512adb11463f5242c6556be4ea05a17ec01</guid></item><item><title>run.tests not working</title><link>https://sourceforge.net/p/recoder/bugs/104/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Running "ant run.tests" finishs without success. I get the following error message:&lt;br /&gt;
&lt;span&gt;[java]&lt;/span&gt; Error: Main method not found in class recoder.testsuite.CompleteTestSuite, please define the main method as: public static void main(String[] args)&lt;/p&gt;
&lt;p&gt;Is it a "bug"?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Simon E. Silva Lauinger</dc:creator><pubDate>Wed, 09 Apr 2014 19:29:14 -0000</pubDate><guid>https://sourceforge.netfd1d8240a074cf609c38759cdcd613621a266e9e</guid></item><item><title>run.tests not working</title><link>https://sourceforge.net/p/recoder/bugs/104/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 104 has been modified: run.tests not working&lt;br /&gt;
Edited By: Tobias Gutzmann (tgutzmann)&lt;br /&gt;
Status updated: u'open' =&amp;gt; u'wont-fix'&lt;br /&gt;
Owner updated: None =&amp;gt; u'tgutzmann'&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Simon E. Silva Lauinger</dc:creator><pubDate>Wed, 09 Apr 2014 19:29:14 -0000</pubDate><guid>https://sourceforge.netffeea474a1d1472b990319ed299cf36f0dcdffea</guid></item><item><title>#100 Bug with Diamond Operator</title><link>https://sourceforge.net/p/recoder/bugs/100/?limit=25#cb5c</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Thu, 30 May 2013 20:21:14 -0000</pubDate><guid>https://sourceforge.netf0eafcc0a744e8ca75388cfdf76aff01f4dd0aad</guid></item><item><title>#103 NPE in DefaultSourceInfo.getMethodsFromStaticOnDemandImports</title><link>https://sourceforge.net/p/recoder/bugs/103/?limit=25#3515</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Mon, 13 May 2013 21:56:10 -0000</pubDate><guid>https://sourceforge.netc11f50c4b371878cdb9be466a7c674822b03e887</guid></item><item><title>#102 ArrayType.isPublic() returns wrong result</title><link>https://sourceforge.net/p/recoder/bugs/102/?limit=25#ba31</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Mon, 13 May 2013 21:40:18 -0000</pubDate><guid>https://sourceforge.net95d9bfe2c9da814d463273526e47f9542b6768d4</guid></item><item><title>NPE in DefaultSourceInfo.getMethodsFromStaticOnDemandImports</title><link>https://sourceforge.net/p/recoder/bugs/103/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When a library referenced in the analyzed code is missing, a NPE may be thrown because ni.getClassType(...) returns null. &lt;/p&gt;
&lt;p&gt;(using /trunk rev. 898)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Caused&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NullPointerException&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMethodsFromStaticOnDemandImports&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;2209&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMethods&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;2169&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMethod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DefaultSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;2095&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DefaultCrossReferenceSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;analyzeReferences&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DefaultCrossReferenceSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;616&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DefaultCrossReferenceSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;modelChanged&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DefaultCrossReferenceSourceInfo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;229&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;recoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ChangeHistory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;updateModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ChangeHistory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;500&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I solved this issue by modifying  DefaultSourceInfo.getMethodsFromStaticOnDemandImports as follow:&lt;/p&gt;
&lt;p&gt;Approach 1: throw an exception that conveys some information&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="nb"&gt;String&lt;/span&gt; &lt;span class="nx"&gt;pathName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Naming&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toPathName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;imp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getTypeReference&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
 &lt;span class="nx"&gt;ClassType&lt;/span&gt; &lt;span class="nx"&gt;classType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;ni&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getClassType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pathName&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;classType&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
   &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;RuntimeException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;ClassNotFoundException&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pathName&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
 &lt;span class="nx"&gt;List&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;?&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Method&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;classType&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getMethods&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Approach 2: silently ignore unresolved classes (results in uncollated references)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt; &lt;span class="nb"&gt;String&lt;/span&gt; &lt;span class="nx"&gt;pathName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Naming&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toPathName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;imp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getTypeReference&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
 &lt;span class="nx"&gt;ClassType&lt;/span&gt; &lt;span class="nx"&gt;classType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;ni&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getClassType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pathName&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;classType&lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;List&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;?&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Method&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;classType&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getMethods&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;int&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;ml&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Javier Godoy</dc:creator><pubDate>Sun, 21 Apr 2013 08:31:54 -0000</pubDate><guid>https://sourceforge.net3062c9a9f5ea3845a97a80c180f175576b2f9c71</guid></item><item><title>NPE in DefaultSourceInfo.getMethodsFromStaticOnDemandImports</title><link>https://sourceforge.net/p/recoder/bugs/103/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 103 has been modified: NPE in DefaultSourceInfo.getMethodsFromStaticOnDemandImports&lt;br /&gt;
Edited By: Tobias Gutzmann (tgutzmann)&lt;br /&gt;
Status updated: u'open' =&amp;gt; u'closed'&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Javier Godoy</dc:creator><pubDate>Sun, 21 Apr 2013 08:31:54 -0000</pubDate><guid>https://sourceforge.nete8f26683d3c5982a8cf5f12cff5859a6cfbea8c0</guid></item><item><title>#102 ArrayType.isPublic() returns wrong result</title><link>https://sourceforge.net/p/recoder/bugs/102/?limit=25#92ab</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;summary&lt;/strong&gt;: ArrayCloneMethod.isPublic() returns wrong result --&amp;gt; ArrayType.isPublic() returns wrong result&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Gutzmann</dc:creator><pubDate>Fri, 01 Mar 2013 22:46:12 -0000</pubDate><guid>https://sourceforge.neta243e06161ac2b6fde8b00f187282047a5db853c</guid></item></channel></rss>