Correcting the exclusion patterns for converto to diamond in argument position
authorJan Lahoda <jlahoda@netbeans.org>
Thu, 06 Jan 2011 22:50:12 +0100
changeset 512c70867b1de60
parent 511 95c8ab6e47f7
child 513 4e4e3643aa73
Correcting the exclusion patterns for converto to diamond in argument position
hintsimpl/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHint.java
hintsimpl/test/unit/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHintTest.java
     1.1 --- a/hintsimpl/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHint.java	Thu Jan 06 20:47:24 2011 +0100
     1.2 +++ b/hintsimpl/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHint.java	Thu Jan 06 22:50:12 2011 +0100
     1.3 @@ -78,7 +78,7 @@
     1.4          key2Pattern.put("initializer", Arrays.asList("$mods$ $type $name = $_;"));
     1.5          key2Pattern.put("assignment", Arrays.asList("$var = $_"));
     1.6          key2Pattern.put("return", Arrays.asList("return $_;"));
     1.7 -        key2Pattern.put("argument", Arrays.asList("$site.<$T$>$name($p$, $_, $s$)"));
     1.8 +        key2Pattern.put("argument", Arrays.asList("$site.<$T$>$name($p$, $_, $s$)", "$name($p$, $_, $s$)", "new $type<$T$>($p$, $_, $s$)", "new $type($p$, $_, $s$)"));
     1.9          key2Pattern.put("other", Arrays.asList(new String[] {null}));
    1.10      }
    1.11      
     2.1 --- a/hintsimpl/test/unit/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHintTest.java	Thu Jan 06 20:47:24 2011 +0100
     2.2 +++ b/hintsimpl/test/unit/src/org/netbeans/modules/jackpot30/hintsimpl/jdk7/ConvertToDiamondBulkHintTest.java	Thu Jan 06 22:50:12 2011 +0100
     2.3 @@ -182,23 +182,84 @@
     2.4                              "}\n");
     2.5      }
     2.6  
     2.7 -    public void testConfiguration6() throws Exception {
     2.8 +    public void testConfiguration6a() throws Exception {
     2.9          setSourceLevel("1.7");
    2.10          allBut("argument");
    2.11          performAnalysisTest("test/Test.java",
    2.12                              "package test;\n" +
    2.13 -                            "public class Test {\n" +
    2.14 -                            "    private l(java.util.LinkedList<String> a) { l(new java.util.LinkedList<String>()); }\n" +
    2.15 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.16 +                            "    private void l(java.util.LinkedList<? extends CharSequence> a) { l(new Test<CharSequence>()); }\n" +
    2.17                              "}\n");
    2.18      }
    2.19  
    2.20 -    public void testConfiguration7() throws Exception {
    2.21 +    public void testConfiguration6b() throws Exception {
    2.22 +        setSourceLevel("1.7");
    2.23 +        allBut("argument");
    2.24 +        performAnalysisTest("test/Test.java",
    2.25 +                            "package test;\n" +
    2.26 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.27 +                            "    private void l(java.util.LinkedList<? extends CharSequence> a) { this.l(new Test<CharSequence>()); }\n" +
    2.28 +                            "}\n");
    2.29 +    }
    2.30 +
    2.31 +    public void testConfiguration6c() throws Exception {
    2.32 +        setSourceLevel("1.7");
    2.33 +        allBut("argument");
    2.34 +        performAnalysisTest("test/Test.java",
    2.35 +                            "package test;\n" +
    2.36 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.37 +                            "    public Test(java.util.LinkedList<? extends CharSequence> a) { new Test(new Test<CharSequence>(null)); }\n" +
    2.38 +                            "}\n");
    2.39 +    }
    2.40 +    
    2.41 +    public void testConfiguration6d() throws Exception {
    2.42 +        setSourceLevel("1.7");
    2.43 +        allBut("argument");
    2.44 +        performAnalysisTest("test/Test.java",
    2.45 +                            "package test;\n" +
    2.46 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.47 +                            "    public Test(java.util.LinkedList<? extends CharSequence> a) { new Test<String>(new Test<CharSequence>(null)); }\n" +
    2.48 +                            "}\n");
    2.49 +    }
    2.50 +
    2.51 +    public void testConfiguration7a() throws Exception {
    2.52          setSourceLevel("1.7");
    2.53          performAnalysisTest("test/Test.java",
    2.54                              "package test;\n" +
    2.55 -                            "public class Test {\n" +
    2.56 -                            "    private l(java.util.LinkedList<String> a) { l(new java.util.LinkedList<String>()); }\n" +
    2.57 -                            "}\n");
    2.58 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.59 +                            "    private void l(java.util.LinkedList<? extends CharSequence> a) { l(new Test<CharSequence>()); }\n" +
    2.60 +                            "}\n",
    2.61 +                            "2:75-2:93:error:");
    2.62 +    }
    2.63 +
    2.64 +    public void testConfiguration7b() throws Exception {
    2.65 +        setSourceLevel("1.7");
    2.66 +        performAnalysisTest("test/Test.java",
    2.67 +                            "package test;\n" +
    2.68 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.69 +                            "    private void l(java.util.LinkedList<? extends CharSequence> a) { this.l(new Test<CharSequence>()); }\n" +
    2.70 +                            "}\n",
    2.71 +                            "2:80-2:98:error:");
    2.72 +    }
    2.73 +
    2.74 +    public void testConfiguration7c() throws Exception {
    2.75 +        setSourceLevel("1.7");
    2.76 +        performAnalysisTest("test/Test.java",
    2.77 +                            "package test;\n" +
    2.78 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.79 +                            "    public Test(java.util.LinkedList<? extends CharSequence> a) { new Test(new Test<CharSequence>(null)); }\n" +
    2.80 +                            "}\n",
    2.81 +                            "2:79-2:97:error:");
    2.82 +    }
    2.83 +
    2.84 +    public void testConfiguration7d() throws Exception {
    2.85 +        setSourceLevel("1.7");
    2.86 +        performAnalysisTest("test/Test.java",
    2.87 +                            "package test;\n" +
    2.88 +                            "public class Test<T extends CharSequence> extends java.util.LinkedList<T> {\n" +
    2.89 +                            "    public Test(java.util.LinkedList<? extends CharSequence> a) { new Test<String>(new Test<CharSequence>(null)); }\n" +
    2.90 +                            "}\n",
    2.91 +                            "2:87-2:105:error:");
    2.92      }
    2.93  
    2.94      public void testConfiguration8() throws Exception {