Lines 52-58
Link Here
|
52 |
// Static initializer to specify tests subset using TESTS_* static variables |
52 |
// Static initializer to specify tests subset using TESTS_* static variables |
53 |
// All specified tests which do not belong to the class are skipped... |
53 |
// All specified tests which do not belong to the class are skipped... |
54 |
static { |
54 |
static { |
55 |
// TESTS_NAMES = new String[] { "test_assignment_expression_1" }; |
55 |
// TESTS_NAMES = new String[] { "testBug366003c" }; |
56 |
// TESTS_NUMBERS = new int[] { 561 }; |
56 |
// TESTS_NUMBERS = new int[] { 561 }; |
57 |
// TESTS_RANGE = new int[] { 1, 2049 }; |
57 |
// TESTS_RANGE = new int[] { 1, 2049 }; |
58 |
} |
58 |
} |
Lines 2763-2766
Link Here
|
2763 |
"Dead code\n" + |
2763 |
"Dead code\n" + |
2764 |
"----------\n"); |
2764 |
"----------\n"); |
2765 |
} |
2765 |
} |
|
|
2766 |
// Bug 366003 - CCE in ASTNode.resolveAnnotations(ASTNode.java:639) |
2767 |
// many syntax errors fixed, does not trigger CCE |
2768 |
public void testBug366003() { |
2769 |
runNegativeTestWithLibs( |
2770 |
new String[] { |
2771 |
"snippet/Bug366003.java", |
2772 |
"package snippet;\n" + |
2773 |
"public class Bug366003 {\n" + |
2774 |
" public void foo(@NonNull Object o1) {\n" + |
2775 |
" System.out.println(o1.toString()); // OK: o1 cannot be null\n" + |
2776 |
" } \n" + |
2777 |
" @NonNull Object bar(@Nullable String s1) {\n" + |
2778 |
" foo(null); // cannot pass null argument\n" + |
2779 |
" @NonNull String s= null; // cannot assign null value\n" + |
2780 |
" @NonNull String t= s1; // cannot assign potentially null value\n" + |
2781 |
" return null; // cannot return null value\n" + |
2782 |
" }\n" + |
2783 |
"}\n" + |
2784 |
"org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2785 |
"" |
2786 |
}, |
2787 |
"----------\n" + |
2788 |
"1. ERROR in snippet\\Bug366003.java (at line 3)\n" + |
2789 |
" public void foo(@NonNull Object o1) {\n" + |
2790 |
" ^^^^^^^\n" + |
2791 |
"NonNull cannot be resolved to a type\n" + |
2792 |
"----------\n" + |
2793 |
"2. ERROR in snippet\\Bug366003.java (at line 6)\n" + |
2794 |
" @NonNull Object bar(@Nullable String s1) {\n" + |
2795 |
" ^^^^^^^\n" + |
2796 |
"NonNull cannot be resolved to a type\n" + |
2797 |
"----------\n" + |
2798 |
"3. ERROR in snippet\\Bug366003.java (at line 6)\n" + |
2799 |
" @NonNull Object bar(@Nullable String s1) {\n" + |
2800 |
" ^^^^^^^^\n" + |
2801 |
"Nullable cannot be resolved to a type\n" + |
2802 |
"----------\n" + |
2803 |
"4. ERROR in snippet\\Bug366003.java (at line 8)\n" + |
2804 |
" @NonNull String s= null; // cannot assign null value\n" + |
2805 |
" ^^^^^^^\n" + |
2806 |
"NonNull cannot be resolved to a type\n" + |
2807 |
"----------\n" + |
2808 |
"5. ERROR in snippet\\Bug366003.java (at line 9)\n" + |
2809 |
" @NonNull String t= s1; // cannot assign potentially null value\n" + |
2810 |
" ^^^^^^^\n" + |
2811 |
"NonNull cannot be resolved to a type\n" + |
2812 |
"----------\n" + |
2813 |
"6. ERROR in snippet\\Bug366003.java (at line 12)\n" + |
2814 |
" }\n" + |
2815 |
" ^\n" + |
2816 |
"Syntax error on token \"}\", delete this token\n" + |
2817 |
"----------\n" + |
2818 |
"7. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2819 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2820 |
" ^^^^^^^^^^^^^^^^\n" + |
2821 |
"Syntax error on tokens, delete these tokens\n" + |
2822 |
"----------\n" + |
2823 |
"8. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2824 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2825 |
" ^^^^\n" + |
2826 |
"Syntax error, insert \"enum Identifier\" to complete EnumHeaderName\n" + |
2827 |
"----------\n" + |
2828 |
"9. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2829 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2830 |
" ^^^^\n" + |
2831 |
"Syntax error, insert \"EnumBody\" to complete EnumDeclaration\n" + |
2832 |
"----------\n" + |
2833 |
"10. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2834 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2835 |
" ^^^^\n" + |
2836 |
"Syntax error, insert \"}\" to complete ClassBody\n" + |
2837 |
"----------\n" + |
2838 |
"11. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2839 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2840 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
2841 |
"Return type for the method is missing\n" + |
2842 |
"----------\n" + |
2843 |
"12. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2844 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2845 |
" ^^^^^^^\n" + |
2846 |
"NonNull cannot be resolved to a type\n" + |
2847 |
"----------\n" + |
2848 |
"13. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2849 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2850 |
" ^^^^^^^^\n" + |
2851 |
"Nullable cannot be resolved to a type\n" + |
2852 |
"----------\n" + |
2853 |
"14. ERROR in snippet\\Bug366003.java (at line 13)\n" + |
2854 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2855 |
" ^\n" + |
2856 |
"Syntax error, insert \";\" to complete ConstructorDeclaration\n" + |
2857 |
"----------\n"); |
2858 |
} |
2859 |
// Bug 366003 - CCE in ASTNode.resolveAnnotations(ASTNode.java:639) |
2860 |
// code is garbage, triggers CCE |
2861 |
public void testBug366003b() { |
2862 |
runNegativeTestWithLibs( |
2863 |
new String[] { |
2864 |
"snippet/Bug366003.java", |
2865 |
"package snippet;\n" + |
2866 |
"public class Bug366003 {\n" + |
2867 |
" public void foo(@Blah Object o1) { \n" + |
2868 |
"System.out.println(o1.toString()); // OK: o1 cannot be null } \n" + |
2869 |
"@Blah Object bar(@BlahBlah String s1) { foo(null); // cannot pass\n" + |
2870 |
"null argument @Blah String s= null; // cannot assign null value \n" + |
2871 |
" @Blah String t= s1; // cannot assign potentially null value \n" + |
2872 |
"return null; // cannot return null value }\n" + |
2873 |
"}\n" + |
2874 |
"\n" + |
2875 |
"org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2876 |
"" |
2877 |
}, |
2878 |
"----------\n" + |
2879 |
"1. ERROR in snippet\\Bug366003.java (at line 3)\n" + |
2880 |
" public void foo(@Blah Object o1) { \n" + |
2881 |
" ^^^^\n" + |
2882 |
"Blah cannot be resolved to a type\n" + |
2883 |
"----------\n" + |
2884 |
"2. ERROR in snippet\\Bug366003.java (at line 4)\n" + |
2885 |
" System.out.println(o1.toString()); // OK: o1 cannot be null } \n" + |
2886 |
" ^\n" + |
2887 |
"Syntax error, insert \"}\" to complete MethodBody\n" + |
2888 |
"----------\n" + |
2889 |
"3. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2890 |
" @Blah Object bar(@BlahBlah String s1) { foo(null); // cannot pass\n" + |
2891 |
" ^^^^\n" + |
2892 |
"Blah cannot be resolved to a type\n" + |
2893 |
"----------\n" + |
2894 |
"4. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2895 |
" @Blah Object bar(@BlahBlah String s1) { foo(null); // cannot pass\n" + |
2896 |
" ^^^^^^^^\n" + |
2897 |
"BlahBlah cannot be resolved to a type\n" + |
2898 |
"----------\n" + |
2899 |
"5. ERROR in snippet\\Bug366003.java (at line 6)\n" + |
2900 |
" null argument @Blah String s= null; // cannot assign null value \n" + |
2901 |
" ^^^^\n" + |
2902 |
"Syntax error on token \"null\", @ expected\n" + |
2903 |
"----------\n" + |
2904 |
"6. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2905 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2906 |
" ^^^^^^^^^^^^^^^^\n" + |
2907 |
"Syntax error on tokens, delete these tokens\n" + |
2908 |
"----------\n" + |
2909 |
"7. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2910 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2911 |
" ^^^^\n" + |
2912 |
"Syntax error, insert \"enum Identifier\" to complete EnumHeaderName\n" + |
2913 |
"----------\n" + |
2914 |
"8. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2915 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2916 |
" ^^^^\n" + |
2917 |
"Syntax error, insert \"EnumBody\" to complete EnumDeclaration\n" + |
2918 |
"----------\n" + |
2919 |
"9. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2920 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2921 |
" ^^^^\n" + |
2922 |
"Syntax error, insert \"}\" to complete ClassBody\n" + |
2923 |
"----------\n" + |
2924 |
"10. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2925 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2926 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
2927 |
"Return type for the method is missing\n" + |
2928 |
"----------\n" + |
2929 |
"11. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2930 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2931 |
" ^^^^^^^\n" + |
2932 |
"NonNull cannot be resolved to a type\n" + |
2933 |
"----------\n" + |
2934 |
"12. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2935 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2936 |
" ^^^^^^^^\n" + |
2937 |
"Nullable cannot be resolved to a type\n" + |
2938 |
"----------\n" + |
2939 |
"13. ERROR in snippet\\Bug366003.java (at line 11)\n" + |
2940 |
" org.eclipse.User.User(@NonNull String name, int uid, @Nullable String email)\n" + |
2941 |
" ^\n" + |
2942 |
"Syntax error, insert \";\" to complete ConstructorDeclaration\n" + |
2943 |
"----------\n"); |
2944 |
} |
2945 |
// Bug 366003 - CCE in ASTNode.resolveAnnotations(ASTNode.java:639) |
2946 |
// minimal syntax error to trigger CCE |
2947 |
public void testBug366003c() { |
2948 |
runNegativeTestWithLibs( |
2949 |
new String[] { |
2950 |
"snippet/Bug366003.java", |
2951 |
"package snippet;\n" + |
2952 |
"public class Bug366003 {\n" + |
2953 |
" void foo(Object o1) {\n" + |
2954 |
" }\n" + |
2955 |
"org.User(@Bla String a)" |
2956 |
}, |
2957 |
"----------\n" + |
2958 |
"1. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2959 |
" org.User(@Bla String a)\n" + |
2960 |
" ^^^\n" + |
2961 |
"Syntax error on token \"org\", delete this token\n" + |
2962 |
"----------\n" + |
2963 |
"2. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2964 |
" org.User(@Bla String a)\n" + |
2965 |
" ^^^\n" + |
2966 |
"Syntax error, insert \"enum Identifier\" to complete EnumHeaderName\n" + |
2967 |
"----------\n" + |
2968 |
"3. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2969 |
" org.User(@Bla String a)\n" + |
2970 |
" ^^^\n" + |
2971 |
"Syntax error, insert \"EnumBody\" to complete EnumDeclaration\n" + |
2972 |
"----------\n" + |
2973 |
"4. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2974 |
" org.User(@Bla String a)\n" + |
2975 |
" ^^^\n" + |
2976 |
"Syntax error, insert \"}\" to complete ClassBody\n" + |
2977 |
"----------\n" + |
2978 |
"5. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2979 |
" org.User(@Bla String a)\n" + |
2980 |
" ^^^^^^^^^^^^^^^^^^^\n" + |
2981 |
"Return type for the method is missing\n" + |
2982 |
"----------\n" + |
2983 |
"6. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2984 |
" org.User(@Bla String a)\n" + |
2985 |
" ^^^\n" + |
2986 |
"Bla cannot be resolved to a type\n" + |
2987 |
"----------\n" + |
2988 |
"7. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
2989 |
" org.User(@Bla String a)\n" + |
2990 |
" ^\n" + |
2991 |
"Syntax error, insert \";\" to complete ConstructorDeclaration\n" + |
2992 |
"----------\n"); |
2993 |
} |
2994 |
public void testBug366003d() { |
2995 |
runNegativeTestWithLibs( |
2996 |
new String[] { |
2997 |
"snippet/Bug366003.java", |
2998 |
"package snippet;\n" + |
2999 |
"public class Bug366003 {\n" + |
3000 |
" {\n" + |
3001 |
" wrong\n" + |
3002 |
" try {\n" + |
3003 |
" } catch (@Bla String a) \n" + |
3004 |
" }\n" |
3005 |
}, |
3006 |
"----------\n" + |
3007 |
"1. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3008 |
" org.User(@Bla String a)\n" + |
3009 |
" ^^^\n" + |
3010 |
"Syntax error on token \"org\", delete this token\n" + |
3011 |
"----------\n" + |
3012 |
"2. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3013 |
" org.User(@Bla String a)\n" + |
3014 |
" ^^^\n" + |
3015 |
"Syntax error, insert \"enum Identifier\" to complete EnumHeaderName\n" + |
3016 |
"----------\n" + |
3017 |
"3. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3018 |
" org.User(@Bla String a)\n" + |
3019 |
" ^^^\n" + |
3020 |
"Syntax error, insert \"EnumBody\" to complete EnumDeclaration\n" + |
3021 |
"----------\n" + |
3022 |
"4. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3023 |
" org.User(@Bla String a)\n" + |
3024 |
" ^^^\n" + |
3025 |
"Syntax error, insert \"}\" to complete ClassBody\n" + |
3026 |
"----------\n" + |
3027 |
"5. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3028 |
" org.User(@Bla String a)\n" + |
3029 |
" ^^^^^^^^^^^^^^^^^^^\n" + |
3030 |
"Return type for the method is missing\n" + |
3031 |
"----------\n" + |
3032 |
"6. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3033 |
" org.User(@Bla String a)\n" + |
3034 |
" ^^^\n" + |
3035 |
"Bla cannot be resolved to a type\n" + |
3036 |
"----------\n" + |
3037 |
"7. ERROR in snippet\\Bug366003.java (at line 5)\n" + |
3038 |
" org.User(@Bla String a)\n" + |
3039 |
" ^\n" + |
3040 |
"Syntax error, insert \";\" to complete ConstructorDeclaration\n" + |
3041 |
"----------\n"); |
3042 |
} |
2766 |
} |
3043 |
} |