Lines 154-172
Link Here
|
154 |
buf.append("package test1;\n"); |
154 |
buf.append("package test1;\n"); |
155 |
buf.append("public class A {\n"); |
155 |
buf.append("public class A {\n"); |
156 |
buf.append(" public void foo() {\n"); |
156 |
buf.append(" public void foo() {\n"); |
157 |
buf.append(" Runnable run= new Runnable(\n"); |
157 |
buf.append(" Runnable run= new Run\n"); |
158 |
buf.append(" }\n"); |
158 |
buf.append(" }\n"); |
|
|
159 |
buf.append(" public void bar() {}\n"); |
159 |
buf.append("}\n"); |
160 |
buf.append("}\n"); |
160 |
String contents= buf.toString(); |
161 |
String contents= buf.toString(); |
161 |
|
162 |
|
162 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
163 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
163 |
|
164 |
|
164 |
String str= "Runnable run= new Runnable("; |
165 |
String str= "Runnable run= new Run"; |
165 |
|
166 |
|
166 |
int offset= contents.indexOf(str) + str.length(); |
167 |
int offset= contents.indexOf(str) + str.length(); |
167 |
|
168 |
|
168 |
CompletionProposalCollector collector= createCollector(cu, offset); |
169 |
CompletionProposalCollector collector= createCollector(cu, offset); |
169 |
collector.setReplacementLength(0); |
170 |
collector.setReplacementLength(0); |
|
|
171 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
170 |
|
172 |
|
171 |
codeComplete(cu, offset, collector); |
173 |
codeComplete(cu, offset, collector); |
172 |
|
174 |
|
Lines 190-195
Link Here
|
190 |
" }\n" + |
192 |
" }\n" + |
191 |
" };\n" + |
193 |
" };\n" + |
192 |
" }\n" + |
194 |
" }\n" + |
|
|
195 |
" public void bar() {}\n" + |
193 |
"}\n" + |
196 |
"}\n" + |
194 |
""); |
197 |
""); |
195 |
assertEquals(buf.toString(), doc.get()); |
198 |
assertEquals(buf.toString(), doc.get()); |
Lines 457-462
Link Here
|
457 |
assertEquals(buf.toString(), doc.get()); |
460 |
assertEquals(buf.toString(), doc.get()); |
458 |
} |
461 |
} |
459 |
|
462 |
|
|
|
463 |
public void testAnonymousTypeCompletion7() throws Exception { |
464 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL |
465 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
466 |
|
467 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
468 |
StringBuffer buf= new StringBuffer(); |
469 |
buf.append("package test1;\n"); |
470 |
buf.append("public class A {\n"); |
471 |
buf.append(" public void foo(Runnable r) {\n"); |
472 |
buf.append(" }\n"); |
473 |
buf.append(" public void bar() {\n"); |
474 |
buf.append(" foo(new Runn\n"); |
475 |
buf.append(" }\n"); |
476 |
buf.append("}\n"); |
477 |
String contents= buf.toString(); |
478 |
|
479 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
480 |
|
481 |
String str= "foo(new Runn"; |
482 |
|
483 |
int offset= contents.indexOf(str) + str.length(); |
484 |
|
485 |
CompletionProposalCollector collector= createCollector(cu, offset); |
486 |
collector.setReplacementLength(0); |
487 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
488 |
|
489 |
codeComplete(cu, offset, collector); |
490 |
|
491 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
492 |
|
493 |
assertNumberOf("proposals", proposals.length, 1); |
494 |
|
495 |
IDocument doc= new Document(contents); |
496 |
|
497 |
proposals[0].apply(doc); |
498 |
|
499 |
buf= new StringBuffer(); |
500 |
buf.append("package test1;\n"); |
501 |
buf.append("public class A {\n"); |
502 |
buf.append(" public void foo(Runnable r) {\n"); |
503 |
buf.append(" }\n"); |
504 |
buf.append(" public void bar() {\n"); |
505 |
buf.append(" foo(new Runnable() {\n"); |
506 |
buf.append(" \n"); |
507 |
buf.append(" public void run() {\n"); |
508 |
buf.append(" //TODO\n"); |
509 |
buf.append(" \n"); |
510 |
buf.append(" }\n"); |
511 |
buf.append(" });\n"); |
512 |
buf.append(" }\n"); |
513 |
buf.append("}\n"); |
514 |
assertEquals(buf.toString(), doc.get()); |
515 |
} |
516 |
|
517 |
public void testAnonymousTypeCompletion8() throws Exception { |
518 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL) |
519 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
520 |
|
521 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
522 |
StringBuffer buf= new StringBuffer(); |
523 |
buf.append("package test1;\n"); |
524 |
buf.append("public class A {\n"); |
525 |
buf.append(" public void foo(Runnable r) {\n"); |
526 |
buf.append(" }\n"); |
527 |
buf.append(" public void bar() {\n"); |
528 |
buf.append(" foo(new Runn)\n"); |
529 |
buf.append(" }\n"); |
530 |
buf.append("}\n"); |
531 |
String contents= buf.toString(); |
532 |
|
533 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
534 |
|
535 |
String str= "foo(new Runn"; |
536 |
|
537 |
int offset= contents.indexOf(str) + str.length(); |
538 |
|
539 |
CompletionProposalCollector collector= createCollector(cu, offset); |
540 |
collector.setReplacementLength(0); |
541 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
542 |
|
543 |
codeComplete(cu, offset, collector); |
544 |
|
545 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
546 |
|
547 |
assertNumberOf("proposals", proposals.length, 1); |
548 |
|
549 |
IDocument doc= new Document(contents); |
550 |
|
551 |
proposals[0].apply(doc); |
552 |
|
553 |
buf= new StringBuffer(); |
554 |
buf.append("package test1;\n"); |
555 |
buf.append("public class A {\n"); |
556 |
buf.append(" public void foo(Runnable r) {\n"); |
557 |
buf.append(" }\n"); |
558 |
buf.append(" public void bar() {\n"); |
559 |
buf.append(" foo(new Runnable() {\n"); |
560 |
buf.append(" \n"); |
561 |
buf.append(" public void run() {\n"); |
562 |
buf.append(" //TODO\n"); |
563 |
buf.append(" \n"); |
564 |
buf.append(" }\n"); |
565 |
buf.append(" });\n"); |
566 |
buf.append(" }\n"); |
567 |
buf.append("}\n"); |
568 |
assertEquals(buf.toString(), doc.get()); |
569 |
} |
570 |
|
571 |
|
572 |
public void testAnonymousTypeCompletion9() throws Exception { |
573 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL); |
574 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
575 |
|
576 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
577 |
StringBuffer buf= new StringBuffer(); |
578 |
buf.append("package test1;\n"); |
579 |
buf.append("public class A {\n"); |
580 |
buf.append(" public void foo(Runnable r) {\n"); |
581 |
buf.append(" }\n"); |
582 |
buf.append(" public void bar() {\n"); |
583 |
buf.append(" foo(new Runn);\n"); |
584 |
buf.append(" }\n"); |
585 |
buf.append("}\n"); |
586 |
String contents= buf.toString(); |
587 |
|
588 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
589 |
|
590 |
String str= "foo(new Runn"; |
591 |
|
592 |
int offset= contents.indexOf(str) + str.length(); |
593 |
|
594 |
CompletionProposalCollector collector= createCollector(cu, offset); |
595 |
collector.setReplacementLength(0); |
596 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
597 |
|
598 |
codeComplete(cu, offset, collector); |
599 |
|
600 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
601 |
|
602 |
assertNumberOf("proposals", proposals.length, 1); |
603 |
|
604 |
IDocument doc= new Document(contents); |
605 |
|
606 |
proposals[0].apply(doc); |
607 |
|
608 |
buf= new StringBuffer(); |
609 |
buf.append("package test1;\n"); |
610 |
buf.append("public class A {\n"); |
611 |
buf.append(" public void foo(Runnable r) {\n"); |
612 |
buf.append(" }\n"); |
613 |
buf.append(" public void bar() {\n"); |
614 |
buf.append(" foo(new Runnable() {\n"); |
615 |
buf.append(" \n"); |
616 |
buf.append(" public void run() {\n"); |
617 |
buf.append(" //TODO\n"); |
618 |
buf.append(" \n"); |
619 |
buf.append(" }\n"); |
620 |
buf.append(" });\n"); |
621 |
buf.append(" }\n"); |
622 |
buf.append("}\n"); |
623 |
assertEquals(buf.toString(), doc.get()); |
624 |
} |
625 |
|
626 |
public void testAnonymousTypeCompletion10() throws Exception { |
627 |
/* bug 357480#c0 |
628 |
class A { |
629 |
private Runnable jobs[] = { |
630 |
new Run| |
631 |
}; |
632 |
} |
633 |
*/ |
634 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
635 |
|
636 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
637 |
StringBuffer buf= new StringBuffer(); |
638 |
buf.append("package test1;\n"); |
639 |
buf.append("public class A {\n"); |
640 |
buf.append(" private Runnable jobs[] = {\n"); |
641 |
buf.append(" new Runn\n"); |
642 |
buf.append(" };\n"); |
643 |
buf.append("}\n"); |
644 |
String contents= buf.toString(); |
645 |
|
646 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
647 |
|
648 |
String str= "new Runn"; |
649 |
|
650 |
int offset= contents.indexOf(str) + str.length(); |
651 |
|
652 |
CompletionProposalCollector collector= createCollector(cu, offset); |
653 |
collector.setReplacementLength(0); |
654 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
655 |
|
656 |
codeComplete(cu, offset, collector); |
657 |
|
658 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
659 |
|
660 |
assertNumberOf("proposals", proposals.length, 1); |
661 |
|
662 |
IDocument doc= new Document(contents); |
663 |
|
664 |
proposals[0].apply(doc); |
665 |
|
666 |
buf= new StringBuffer(); |
667 |
buf.append("package test1;\n"); |
668 |
buf.append("public class A {\n"); |
669 |
buf.append(" private Runnable jobs[] = {\n"); |
670 |
buf.append(" new Runnable() {\n"); |
671 |
buf.append(" \n"); |
672 |
buf.append(" public void run() {\n"); |
673 |
buf.append(" //TODO\n"); |
674 |
buf.append(" \n"); |
675 |
buf.append(" }\n"); |
676 |
buf.append(" }\n"); |
677 |
buf.append(" };\n"); |
678 |
buf.append("}\n"); |
679 |
assertEquals(buf.toString(), doc.get()); |
680 |
} |
681 |
|
682 |
public void testAnonymousTypeCompletion11() throws Exception { |
683 |
/* bug 357480#c0 |
684 |
class A { |
685 |
private Runnable jobs[] = { |
686 |
new Run| |
687 |
} |
688 |
} |
689 |
*/ |
690 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
691 |
|
692 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
693 |
StringBuffer buf= new StringBuffer(); |
694 |
buf.append("package test1;\n"); |
695 |
buf.append("public class A {\n"); |
696 |
buf.append(" private Runnable jobs[] = {\n"); |
697 |
buf.append(" new Runn\n"); |
698 |
buf.append(" }\n"); |
699 |
buf.append("}\n"); |
700 |
String contents= buf.toString(); |
701 |
|
702 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
703 |
|
704 |
String str= "new Runn"; |
705 |
|
706 |
int offset= contents.indexOf(str) + str.length(); |
707 |
|
708 |
CompletionProposalCollector collector= createCollector(cu, offset); |
709 |
collector.setReplacementLength(0); |
710 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
711 |
|
712 |
codeComplete(cu, offset, collector); |
713 |
|
714 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
715 |
|
716 |
assertNumberOf("proposals", proposals.length, 1); |
717 |
|
718 |
IDocument doc= new Document(contents); |
719 |
|
720 |
proposals[0].apply(doc); |
721 |
|
722 |
buf= new StringBuffer(); |
723 |
buf.append("package test1;\n"); |
724 |
buf.append("public class A {\n"); |
725 |
buf.append(" private Runnable jobs[] = {\n"); |
726 |
buf.append(" new Runnable() {\n"); |
727 |
buf.append(" \n"); |
728 |
buf.append(" public void run() {\n"); |
729 |
buf.append(" //TODO\n"); |
730 |
buf.append(" \n"); |
731 |
buf.append(" }\n"); |
732 |
buf.append(" }\n"); |
733 |
buf.append(" }\n"); |
734 |
buf.append("}\n"); |
735 |
assertEquals(buf.toString(), doc.get()); |
736 |
} |
737 |
|
738 |
public void testAnonymousTypeCompletion12() throws Exception { |
739 |
/* bug 357480#c0 |
740 |
class A { |
741 |
private Runnable jobs[] = { |
742 |
new Run| |
743 |
} |
744 |
public void m1(){} |
745 |
} |
746 |
*/ |
747 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
748 |
|
749 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
750 |
StringBuffer buf= new StringBuffer(); |
751 |
buf.append("package test1;\n"); |
752 |
buf.append("public class A {\n"); |
753 |
buf.append(" private Runnable jobs[] = {\n"); |
754 |
buf.append(" new Runn\n"); |
755 |
buf.append(" }\n"); |
756 |
buf.append(" public void m1(){}\n"); |
757 |
buf.append("}\n"); |
758 |
String contents= buf.toString(); |
759 |
|
760 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
761 |
|
762 |
String str= "new Runn"; |
763 |
|
764 |
int offset= contents.indexOf(str) + str.length(); |
765 |
|
766 |
CompletionProposalCollector collector= createCollector(cu, offset); |
767 |
collector.setReplacementLength(0); |
768 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
769 |
|
770 |
codeComplete(cu, offset, collector); |
771 |
|
772 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
773 |
|
774 |
assertNumberOf("proposals", proposals.length, 1); |
775 |
|
776 |
IDocument doc= new Document(contents); |
777 |
|
778 |
proposals[0].apply(doc); |
779 |
|
780 |
buf= new StringBuffer(); |
781 |
buf.append("package test1;\n"); |
782 |
buf.append("public class A {\n"); |
783 |
buf.append(" private Runnable jobs[] = {\n"); |
784 |
buf.append(" new Runnable() {\n"); |
785 |
buf.append(" \n"); |
786 |
buf.append(" public void run() {\n"); |
787 |
buf.append(" //TODO\n"); |
788 |
buf.append(" \n"); |
789 |
buf.append(" }\n"); |
790 |
buf.append(" }\n"); |
791 |
buf.append(" }\n"); |
792 |
buf.append(" public void m1(){}\n"); |
793 |
buf.append("}\n"); |
794 |
assertEquals(buf.toString(), doc.get()); |
795 |
} |
796 |
|
797 |
public void testAnonymousTypeCompletion13() throws Exception { |
798 |
/* bug 357480#c0 |
799 |
class A { |
800 |
private Runnable jobs[] = {new Run} |
801 |
} |
802 |
*/ |
803 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
804 |
|
805 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
806 |
StringBuffer buf= new StringBuffer(); |
807 |
buf.append("package test1;\n"); |
808 |
buf.append("public class A {\n"); |
809 |
buf.append(" private Runnable jobs[] = {new Runn}\n"); |
810 |
buf.append("}\n"); |
811 |
String contents= buf.toString(); |
812 |
|
813 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
814 |
|
815 |
String str= "new Runn"; |
816 |
|
817 |
int offset= contents.indexOf(str) + str.length(); |
818 |
|
819 |
CompletionProposalCollector collector= createCollector(cu, offset); |
820 |
collector.setReplacementLength(0); |
821 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
822 |
|
823 |
codeComplete(cu, offset, collector); |
824 |
|
825 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
826 |
|
827 |
assertNumberOf("proposals", proposals.length, 1); |
828 |
|
829 |
IDocument doc= new Document(contents); |
830 |
|
831 |
proposals[0].apply(doc); |
832 |
|
833 |
buf= new StringBuffer(); |
834 |
buf.append("package test1;\n"); |
835 |
buf.append("public class A {\n"); |
836 |
buf.append(" private Runnable jobs[] = {new Runnable() {\n"); |
837 |
buf.append(" \n"); |
838 |
buf.append(" public void run() {\n"); |
839 |
buf.append(" //TODO\n"); |
840 |
buf.append(" \n"); |
841 |
buf.append(" }\n"); |
842 |
buf.append(" }};\n"); |
843 |
buf.append("}\n"); |
844 |
assertEquals(buf.toString(), doc.get()); |
845 |
} |
846 |
|
847 |
public void testAnonymousTypeCompletion14() throws Exception { |
848 |
/* |
849 |
private void m1(Button b){ |
850 |
foo(new Runn|) |
851 |
System.out.println(); |
852 |
} |
853 |
*/ |
854 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
855 |
|
856 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
857 |
StringBuffer buf= new StringBuffer(); |
858 |
buf.append("package test1;\n"); |
859 |
buf.append("public class A {\n"); |
860 |
buf.append(" public void foo(Runnable r) {\n"); |
861 |
buf.append(" }\n"); |
862 |
buf.append(" public void bar() {\n"); |
863 |
buf.append(" foo(new Runn)\n"); |
864 |
buf.append(" System.out.println();\n"); |
865 |
buf.append(" }\n"); |
866 |
buf.append("}\n"); |
867 |
String contents= buf.toString(); |
868 |
|
869 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
870 |
|
871 |
String str= "foo(new Runn"; |
872 |
|
873 |
int offset= contents.indexOf(str) + str.length(); |
874 |
|
875 |
CompletionProposalCollector collector= createCollector(cu, offset); |
876 |
collector.setReplacementLength(0); |
877 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
878 |
|
879 |
codeComplete(cu, offset, collector); |
880 |
|
881 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
882 |
|
883 |
assertNumberOf("proposals", proposals.length, 1); |
884 |
|
885 |
IDocument doc= new Document(contents); |
886 |
|
887 |
proposals[0].apply(doc); |
888 |
|
889 |
buf= new StringBuffer(); |
890 |
buf.append("package test1;\n"); |
891 |
buf.append("public class A {\n"); |
892 |
buf.append(" public void foo(Runnable r) {\n"); |
893 |
buf.append(" }\n"); |
894 |
buf.append(" public void bar() {\n"); |
895 |
buf.append(" foo(new Runnable() {\n"); |
896 |
buf.append(" \n"); |
897 |
buf.append(" public void run() {\n"); |
898 |
buf.append(" //TODO\n"); |
899 |
buf.append(" \n"); |
900 |
buf.append(" }\n"); |
901 |
buf.append(" });\n"); |
902 |
buf.append(" System.out.println();\n"); |
903 |
buf.append(" }\n"); |
904 |
buf.append("}\n"); |
905 |
assertEquals(buf.toString(), doc.get()); |
906 |
} |
907 |
|
460 |
public void testAnonymousTypeCompletionBug280801() throws Exception { |
908 |
public void testAnonymousTypeCompletionBug280801() throws Exception { |
461 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
909 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
462 |
|
910 |
|
Lines 595-601
Link Here
|
595 |
buf.append(" //TODO\n"); |
1043 |
buf.append(" //TODO\n"); |
596 |
buf.append(" \n"); |
1044 |
buf.append(" \n"); |
597 |
buf.append(" }\n"); |
1045 |
buf.append(" }\n"); |
598 |
buf.append(" })\n"); |
1046 |
buf.append(" });\n"); |
599 |
buf.append(" }\n"); |
1047 |
buf.append(" }\n"); |
600 |
buf.append("}\n"); |
1048 |
buf.append("}\n"); |
601 |
assertEquals("", buf.toString(), doc.get()); |
1049 |
assertEquals("", buf.toString(), doc.get()); |