Lines 199-204
Link Here
|
199 |
|
199 |
|
200 |
CompletionProposalCollector collector= createCollector(cu, offset); |
200 |
CompletionProposalCollector collector= createCollector(cu, offset); |
201 |
collector.setReplacementLength(0); |
201 |
collector.setReplacementLength(0); |
|
|
202 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
202 |
|
203 |
|
203 |
codeComplete(cu, offset, collector); |
204 |
codeComplete(cu, offset, collector); |
204 |
|
205 |
|
Lines 489-494
Link Here
|
489 |
assertEquals(buf.toString(), doc.get()); |
490 |
assertEquals(buf.toString(), doc.get()); |
490 |
} |
491 |
} |
491 |
|
492 |
|
|
|
493 |
public void testAnonymousTypeCompletion7() throws Exception { |
494 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL |
495 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
496 |
|
497 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
498 |
StringBuffer buf= new StringBuffer(); |
499 |
buf.append("package test1;\n"); |
500 |
buf.append("public class A {\n"); |
501 |
buf.append(" public void foo(Runnable r) {\n"); |
502 |
buf.append(" }\n"); |
503 |
buf.append(" public void bar() {\n"); |
504 |
buf.append(" foo(new Runn\n"); |
505 |
buf.append(" }\n"); |
506 |
buf.append("}\n"); |
507 |
String contents= buf.toString(); |
508 |
|
509 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
510 |
|
511 |
String str= "foo(new Runn"; |
512 |
|
513 |
int offset= contents.indexOf(str) + str.length(); |
514 |
|
515 |
CompletionProposalCollector collector= createCollector(cu, offset); |
516 |
collector.setReplacementLength(0); |
517 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
518 |
|
519 |
codeComplete(cu, offset, collector); |
520 |
|
521 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
522 |
|
523 |
assertNumberOf("proposals", proposals.length, 1); |
524 |
|
525 |
IDocument doc= new Document(contents); |
526 |
|
527 |
proposals[0].apply(doc); |
528 |
|
529 |
buf= new StringBuffer(); |
530 |
buf.append("package test1;\n"); |
531 |
buf.append("public class A {\n"); |
532 |
buf.append(" public void foo(Runnable r) {\n"); |
533 |
buf.append(" }\n"); |
534 |
buf.append(" public void bar() {\n"); |
535 |
buf.append(" foo(new Runnable() {\n"); |
536 |
buf.append(" \n"); |
537 |
buf.append(" public void run() {\n"); |
538 |
buf.append(" //TODO\n"); |
539 |
buf.append(" \n"); |
540 |
buf.append(" }\n"); |
541 |
buf.append(" });\n"); |
542 |
buf.append(" }\n"); |
543 |
buf.append("}\n"); |
544 |
assertEquals(buf.toString(), doc.get()); |
545 |
} |
546 |
|
547 |
public void testAnonymousTypeCompletion8() throws Exception { |
548 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL) |
549 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
550 |
|
551 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
552 |
StringBuffer buf= new StringBuffer(); |
553 |
buf.append("package test1;\n"); |
554 |
buf.append("public class A {\n"); |
555 |
buf.append(" public void foo(Runnable r) {\n"); |
556 |
buf.append(" }\n"); |
557 |
buf.append(" public void bar() {\n"); |
558 |
buf.append(" foo(new Runn)\n"); |
559 |
buf.append(" }\n"); |
560 |
buf.append("}\n"); |
561 |
String contents= buf.toString(); |
562 |
|
563 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
564 |
|
565 |
String str= "foo(new Runn"; |
566 |
|
567 |
int offset= contents.indexOf(str) + str.length(); |
568 |
|
569 |
CompletionProposalCollector collector= createCollector(cu, offset); |
570 |
collector.setReplacementLength(0); |
571 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
572 |
|
573 |
codeComplete(cu, offset, collector); |
574 |
|
575 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
576 |
|
577 |
assertNumberOf("proposals", proposals.length, 1); |
578 |
|
579 |
IDocument doc= new Document(contents); |
580 |
|
581 |
proposals[0].apply(doc); |
582 |
|
583 |
buf= new StringBuffer(); |
584 |
buf.append("package test1;\n"); |
585 |
buf.append("public class A {\n"); |
586 |
buf.append(" public void foo(Runnable r) {\n"); |
587 |
buf.append(" }\n"); |
588 |
buf.append(" public void bar() {\n"); |
589 |
buf.append(" foo(new Runnable() {\n"); |
590 |
buf.append(" \n"); |
591 |
buf.append(" public void run() {\n"); |
592 |
buf.append(" //TODO\n"); |
593 |
buf.append(" \n"); |
594 |
buf.append(" }\n"); |
595 |
buf.append(" });\n"); |
596 |
buf.append(" }\n"); |
597 |
buf.append("}\n"); |
598 |
assertEquals(buf.toString(), doc.get()); |
599 |
} |
600 |
|
601 |
|
602 |
public void testAnonymousTypeCompletion9() throws Exception { |
603 |
// bug 333428#c0 => button.addSelectionListener(new SelectionL); |
604 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
605 |
|
606 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
607 |
StringBuffer buf= new StringBuffer(); |
608 |
buf.append("package test1;\n"); |
609 |
buf.append("public class A {\n"); |
610 |
buf.append(" public void foo(Runnable r) {\n"); |
611 |
buf.append(" }\n"); |
612 |
buf.append(" public void bar() {\n"); |
613 |
buf.append(" foo(new Runn);\n"); |
614 |
buf.append(" }\n"); |
615 |
buf.append("}\n"); |
616 |
String contents= buf.toString(); |
617 |
|
618 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
619 |
|
620 |
String str= "foo(new Runn"; |
621 |
|
622 |
int offset= contents.indexOf(str) + str.length(); |
623 |
|
624 |
CompletionProposalCollector collector= createCollector(cu, offset); |
625 |
collector.setReplacementLength(0); |
626 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
627 |
|
628 |
codeComplete(cu, offset, collector); |
629 |
|
630 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
631 |
|
632 |
assertNumberOf("proposals", proposals.length, 1); |
633 |
|
634 |
IDocument doc= new Document(contents); |
635 |
|
636 |
proposals[0].apply(doc); |
637 |
|
638 |
buf= new StringBuffer(); |
639 |
buf.append("package test1;\n"); |
640 |
buf.append("public class A {\n"); |
641 |
buf.append(" public void foo(Runnable r) {\n"); |
642 |
buf.append(" }\n"); |
643 |
buf.append(" public void bar() {\n"); |
644 |
buf.append(" foo(new Runnable() {\n"); |
645 |
buf.append(" \n"); |
646 |
buf.append(" public void run() {\n"); |
647 |
buf.append(" //TODO\n"); |
648 |
buf.append(" \n"); |
649 |
buf.append(" }\n"); |
650 |
buf.append(" });\n"); |
651 |
buf.append(" }\n"); |
652 |
buf.append("}\n"); |
653 |
assertEquals(buf.toString(), doc.get()); |
654 |
} |
655 |
|
656 |
public void testAnonymousTypeCompletion10() throws Exception { |
657 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
658 |
|
659 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
660 |
StringBuffer buf= new StringBuffer(); |
661 |
buf.append("package test1;\n"); |
662 |
buf.append("public class A {\n"); |
663 |
buf.append(" private Runnable jobs[] = {\n"); |
664 |
buf.append(" new Runn\n"); |
665 |
buf.append(" };\n"); |
666 |
buf.append("}\n"); |
667 |
String contents= buf.toString(); |
668 |
|
669 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
670 |
|
671 |
String str= "new Runn"; |
672 |
|
673 |
int offset= contents.indexOf(str) + str.length(); |
674 |
|
675 |
CompletionProposalCollector collector= createCollector(cu, offset); |
676 |
collector.setReplacementLength(0); |
677 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
678 |
|
679 |
codeComplete(cu, offset, collector); |
680 |
|
681 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
682 |
|
683 |
assertNumberOf("proposals", proposals.length, 1); |
684 |
|
685 |
IDocument doc= new Document(contents); |
686 |
|
687 |
proposals[0].apply(doc); |
688 |
|
689 |
buf= new StringBuffer(); |
690 |
buf.append("package test1;\n"); |
691 |
buf.append("public class A {\n"); |
692 |
buf.append(" private Runnable jobs[] = {\n"); |
693 |
buf.append(" new Runnable() {\n"); |
694 |
buf.append(" \n"); |
695 |
buf.append(" public void run() {\n"); |
696 |
buf.append(" //TODO\n"); |
697 |
buf.append(" \n"); |
698 |
buf.append(" }\n"); |
699 |
buf.append(" }\n"); |
700 |
buf.append(" };\n"); |
701 |
buf.append("}\n"); |
702 |
assertEquals(buf.toString(), doc.get()); |
703 |
} |
704 |
|
705 |
|
706 |
|
707 |
public void testAnonymousTypeCompletion11() throws Exception { |
708 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
709 |
|
710 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
711 |
StringBuffer buf= new StringBuffer(); |
712 |
buf.append("package test1;\n"); |
713 |
buf.append("public class A {\n"); |
714 |
buf.append(" private Runnable jobs[] = {new Runn}\n"); |
715 |
buf.append("}\n"); |
716 |
String contents= buf.toString(); |
717 |
|
718 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
719 |
|
720 |
String str= "new Runn"; |
721 |
|
722 |
int offset= contents.indexOf(str) + str.length(); |
723 |
|
724 |
CompletionProposalCollector collector= createCollector(cu, offset); |
725 |
collector.setReplacementLength(0); |
726 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
727 |
|
728 |
codeComplete(cu, offset, collector); |
729 |
|
730 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
731 |
|
732 |
assertNumberOf("proposals", proposals.length, 1); |
733 |
|
734 |
IDocument doc= new Document(contents); |
735 |
|
736 |
proposals[0].apply(doc); |
737 |
|
738 |
buf= new StringBuffer(); |
739 |
buf.append("package test1;\n"); |
740 |
buf.append("public class A {\n"); |
741 |
buf.append(" private Runnable jobs[] = {new Runnable() {\n"); |
742 |
buf.append(" \n"); |
743 |
buf.append(" public void run() {\n"); |
744 |
buf.append(" //TODO\n"); |
745 |
buf.append(" \n"); |
746 |
buf.append(" }\n"); |
747 |
buf.append(" }};\n"); |
748 |
buf.append("}\n"); |
749 |
assertEquals(buf.toString(), doc.get()); |
750 |
} |
751 |
|
752 |
public void testAnonymousTypeCompletion12() throws Exception { |
753 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
754 |
|
755 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
756 |
StringBuffer buf= new StringBuffer(); |
757 |
buf.append("package test1;\n"); |
758 |
buf.append("public class A {\n"); |
759 |
buf.append(" public void foo(Runnable r) {\n"); |
760 |
buf.append(" }\n"); |
761 |
buf.append(" public void bar() {\n"); |
762 |
buf.append(" foo(new Runn)\n"); |
763 |
buf.append(" System.out.println();\n"); |
764 |
buf.append(" }\n"); |
765 |
buf.append("}\n"); |
766 |
String contents= buf.toString(); |
767 |
|
768 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
769 |
|
770 |
String str= "foo(new Runn"; |
771 |
|
772 |
int offset= contents.indexOf(str) + str.length(); |
773 |
|
774 |
CompletionProposalCollector collector= createCollector(cu, offset); |
775 |
collector.setReplacementLength(0); |
776 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
777 |
|
778 |
codeComplete(cu, offset, collector); |
779 |
|
780 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
781 |
|
782 |
assertNumberOf("proposals", proposals.length, 1); |
783 |
|
784 |
IDocument doc= new Document(contents); |
785 |
|
786 |
proposals[0].apply(doc); |
787 |
|
788 |
buf= new StringBuffer(); |
789 |
buf.append("package test1;\n"); |
790 |
buf.append("public class A {\n"); |
791 |
buf.append(" public void foo(Runnable r) {\n"); |
792 |
buf.append(" }\n"); |
793 |
buf.append(" public void bar() {\n"); |
794 |
buf.append(" foo(new Runnable() {\n"); |
795 |
buf.append(" \n"); |
796 |
buf.append(" public void run() {\n"); |
797 |
buf.append(" //TODO\n"); |
798 |
buf.append(" \n"); |
799 |
buf.append(" }\n"); |
800 |
buf.append(" });\n"); |
801 |
buf.append(" System.out.println();\n"); |
802 |
buf.append(" }\n"); |
803 |
buf.append("}\n"); |
804 |
assertEquals(buf.toString(), doc.get()); |
805 |
} |
806 |
|
807 |
public void testAnonymousTypeCompletion13() throws Exception { |
808 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
809 |
|
810 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
811 |
StringBuffer buf= new StringBuffer(); |
812 |
buf.append("package test1;\n"); |
813 |
buf.append("public class A {\n"); |
814 |
buf.append(" private void foo() {\n"); |
815 |
buf.append(" bar(new Runnable());\n"); |
816 |
buf.append(" }\n"); |
817 |
buf.append(" void bar(Runnable rs) {}\n"); |
818 |
buf.append("}\n"); |
819 |
String contents= buf.toString(); |
820 |
|
821 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
822 |
|
823 |
String str= "bar(new Runnable("; |
824 |
|
825 |
int offset= contents.indexOf(str) + str.length(); |
826 |
System.out.println(contents.charAt(offset)); |
827 |
|
828 |
CompletionProposalCollector collector= createCollector(cu, offset); |
829 |
collector.setReplacementLength(0); |
830 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
831 |
|
832 |
codeComplete(cu, offset, collector); |
833 |
|
834 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
835 |
|
836 |
assertNumberOf("proposals", proposals.length, 1); |
837 |
|
838 |
IDocument doc= new Document(contents); |
839 |
|
840 |
proposals[0].apply(doc); |
841 |
|
842 |
buf= new StringBuffer(); |
843 |
buf.append("package test1;\n"); |
844 |
buf.append("public class A {\n"); |
845 |
buf.append(" private void foo() {\n"); |
846 |
buf.append(" bar(new Runnable() {\n"); |
847 |
buf.append(" \n"); |
848 |
buf.append(" public void run() {\n"); |
849 |
buf.append(" //TODO\n"); |
850 |
buf.append(" \n"); |
851 |
buf.append(" }\n"); |
852 |
buf.append(" });\n"); |
853 |
buf.append(" }\n"); |
854 |
buf.append(" void bar(Runnable rs) {}\n"); |
855 |
buf.append("}\n"); |
856 |
assertEquals(buf.toString(), doc.get()); |
857 |
} |
858 |
|
859 |
public void testAnonymousTypeCompletion14() throws Exception { |
860 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
861 |
|
862 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
863 |
StringBuffer buf= new StringBuffer(); |
864 |
buf.append("package test1;\n"); |
865 |
buf.append("public class A {\n"); |
866 |
buf.append(" private void foo() {\n"); |
867 |
buf.append(" bar(new Runnable[] {\n"); |
868 |
buf.append(" new Runnable(\n"); |
869 |
buf.append(" });\n"); |
870 |
buf.append(" }\n"); |
871 |
buf.append("\n"); |
872 |
buf.append(" void bar(Runnable[] rs) {\n"); |
873 |
buf.append(" }\n"); |
874 |
buf.append("}\n"); |
875 |
String contents= buf.toString(); |
876 |
|
877 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
878 |
|
879 |
String str= " new Runnable("; |
880 |
|
881 |
int offset= contents.indexOf(str) + str.length(); |
882 |
System.out.println(contents.charAt(offset)); |
883 |
|
884 |
CompletionProposalCollector collector= createCollector(cu, offset); |
885 |
collector.setReplacementLength(0); |
886 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
887 |
|
888 |
codeComplete(cu, offset, collector); |
889 |
|
890 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
891 |
|
892 |
assertNumberOf("proposals", proposals.length, 1); |
893 |
|
894 |
IDocument doc= new Document(contents); |
895 |
|
896 |
proposals[0].apply(doc); |
897 |
|
898 |
buf= new StringBuffer(); |
899 |
buf.append("package test1;\n"); |
900 |
buf.append("public class A {\n"); |
901 |
buf.append(" private void foo() {\n"); |
902 |
buf.append(" bar(new Runnable[] {\n"); |
903 |
buf.append(" new Runnable() {\n"); |
904 |
buf.append(" \n"); |
905 |
buf.append(" public void run() {\n"); |
906 |
buf.append(" //TODO\n"); |
907 |
buf.append(" \n"); |
908 |
buf.append(" }\n"); |
909 |
buf.append(" }\n"); |
910 |
buf.append(" });\n"); |
911 |
buf.append(" }\n"); |
912 |
buf.append("\n"); |
913 |
buf.append(" void bar(Runnable[] rs) {\n"); |
914 |
buf.append(" }\n"); |
915 |
buf.append("}\n"); |
916 |
assertEquals(buf.toString(), doc.get()); |
917 |
} |
918 |
|
919 |
public void testAnonymousTypeCompletion15() throws Exception { |
920 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
921 |
|
922 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
923 |
StringBuffer buf= new StringBuffer(); |
924 |
buf.append("package test1;\n"); |
925 |
buf.append("\n"); |
926 |
buf.append("public class A {\n"); |
927 |
buf.append(" public void foo(Runnable r) {\n"); |
928 |
buf.append(" }\n"); |
929 |
buf.append("\n"); |
930 |
buf.append(" public void bar() {\n"); |
931 |
buf.append(" foo(new Runna\n"); |
932 |
buf.append(" );\n"); |
933 |
buf.append(" }\n"); |
934 |
buf.append("}\n"); |
935 |
String contents= buf.toString(); |
936 |
|
937 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
938 |
|
939 |
String str= "foo(new Runna"; |
940 |
|
941 |
int offset= contents.indexOf(str) + str.length(); |
942 |
System.out.println(contents.charAt(offset)); |
943 |
|
944 |
CompletionProposalCollector collector= createCollector(cu, offset); |
945 |
collector.setReplacementLength(0); |
946 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
947 |
|
948 |
codeComplete(cu, offset, collector); |
949 |
|
950 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
951 |
|
952 |
assertNumberOf("proposals", proposals.length, 1); |
953 |
|
954 |
IDocument doc= new Document(contents); |
955 |
|
956 |
proposals[0].apply(doc); |
957 |
|
958 |
buf= new StringBuffer(); |
959 |
buf.append("package test1;\n"); |
960 |
buf.append("\n"); |
961 |
buf.append("public class A {\n"); |
962 |
buf.append(" public void foo(Runnable r) {\n"); |
963 |
buf.append(" }\n"); |
964 |
buf.append("\n"); |
965 |
buf.append(" public void bar() {\n"); |
966 |
buf.append(" foo(new Runnable() {\n"); |
967 |
buf.append(" \n"); |
968 |
buf.append(" public void run() {\n"); |
969 |
buf.append(" //TODO\n"); |
970 |
buf.append(" \n"); |
971 |
buf.append(" }\n"); |
972 |
buf.append(" }\n"); |
973 |
buf.append(" );\n"); |
974 |
buf.append(" }\n"); |
975 |
buf.append("}\n"); |
976 |
assertEquals(buf.toString(), doc.get()); |
977 |
} |
978 |
|
979 |
public void testAnonymousTypeCompletion16() throws Exception { |
980 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
981 |
|
982 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
983 |
StringBuffer buf= new StringBuffer(); |
984 |
buf.append("package test1;\n"); |
985 |
buf.append("\n"); |
986 |
buf.append("public class A {\n"); |
987 |
buf.append(" public void foo(Runnable r) {\n"); |
988 |
buf.append(" }\n"); |
989 |
buf.append("\n"); |
990 |
buf.append(" public void bar() {\n"); |
991 |
buf.append(" foo(new Runna\n"); |
992 |
buf.append(" )\n"); |
993 |
buf.append(" }\n"); |
994 |
buf.append("}\n"); |
995 |
String contents= buf.toString(); |
996 |
|
997 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
998 |
|
999 |
String str= "foo(new Runna"; |
1000 |
|
1001 |
int offset= contents.indexOf(str) + str.length(); |
1002 |
System.out.println(contents.charAt(offset)); |
1003 |
|
1004 |
CompletionProposalCollector collector= createCollector(cu, offset); |
1005 |
collector.setReplacementLength(0); |
1006 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
1007 |
|
1008 |
codeComplete(cu, offset, collector); |
1009 |
|
1010 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
1011 |
|
1012 |
assertNumberOf("proposals", proposals.length, 1); |
1013 |
|
1014 |
IDocument doc= new Document(contents); |
1015 |
|
1016 |
proposals[0].apply(doc); |
1017 |
|
1018 |
buf= new StringBuffer(); |
1019 |
buf.append("package test1;\n"); |
1020 |
buf.append("\n"); |
1021 |
buf.append("public class A {\n"); |
1022 |
buf.append(" public void foo(Runnable r) {\n"); |
1023 |
buf.append(" }\n"); |
1024 |
buf.append("\n"); |
1025 |
buf.append(" public void bar() {\n"); |
1026 |
buf.append(" foo(new Runnable() {\n"); |
1027 |
buf.append(" \n"); |
1028 |
buf.append(" public void run() {\n"); |
1029 |
buf.append(" //TODO\n"); |
1030 |
buf.append(" \n"); |
1031 |
buf.append(" }\n"); |
1032 |
buf.append(" }\n"); |
1033 |
buf.append(" );\n"); |
1034 |
buf.append(" }\n"); |
1035 |
buf.append("}\n"); |
1036 |
assertEquals(buf.toString(), doc.get()); |
1037 |
} |
1038 |
|
1039 |
public void testAnonymousTypeCompletion17() throws Exception { |
1040 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
1041 |
|
1042 |
IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null); |
1043 |
StringBuffer buf= new StringBuffer(); |
1044 |
buf.append("package test1;\n"); |
1045 |
buf.append("\n"); |
1046 |
buf.append("public class A {\n"); |
1047 |
buf.append(" public void foo(Runnable r) {\n"); |
1048 |
buf.append(" }\n"); |
1049 |
buf.append("\n"); |
1050 |
buf.append(" public void bar() {\n"); |
1051 |
buf.append(" foo(new Runna\n"); |
1052 |
buf.append(" ;\n"); |
1053 |
buf.append(" }\n"); |
1054 |
buf.append("}\n"); |
1055 |
String contents= buf.toString(); |
1056 |
|
1057 |
ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null); |
1058 |
|
1059 |
String str= "foo(new Runna"; |
1060 |
|
1061 |
int offset= contents.indexOf(str) + str.length(); |
1062 |
System.out.println(contents.charAt(offset)); |
1063 |
|
1064 |
CompletionProposalCollector collector= createCollector(cu, offset); |
1065 |
collector.setReplacementLength(0); |
1066 |
collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, CompletionProposal.TYPE_REF, true); |
1067 |
|
1068 |
codeComplete(cu, offset, collector); |
1069 |
|
1070 |
IJavaCompletionProposal[] proposals= collector.getJavaCompletionProposals(); |
1071 |
|
1072 |
assertNumberOf("proposals", proposals.length, 1); |
1073 |
|
1074 |
IDocument doc= new Document(contents); |
1075 |
|
1076 |
proposals[0].apply(doc); |
1077 |
|
1078 |
buf= new StringBuffer(); |
1079 |
buf.append("package test1;\n"); |
1080 |
buf.append("\n"); |
1081 |
buf.append("public class A {\n"); |
1082 |
buf.append(" public void foo(Runnable r) {\n"); |
1083 |
buf.append(" }\n"); |
1084 |
buf.append("\n"); |
1085 |
buf.append(" public void bar() {\n"); |
1086 |
buf.append(" foo(new Runnable() {\n"); |
1087 |
buf.append(" \n"); |
1088 |
buf.append(" public void run() {\n"); |
1089 |
buf.append(" //TODO\n"); |
1090 |
buf.append(" \n"); |
1091 |
buf.append(" }\n"); |
1092 |
buf.append(" })\n"); |
1093 |
buf.append(" ;\n"); |
1094 |
buf.append(" }\n"); |
1095 |
buf.append("}\n"); |
1096 |
assertEquals(buf.toString(), doc.get()); |
1097 |
} |
1098 |
|
492 |
public void testAnonymousTypeCompletionBug280801() throws Exception { |
1099 |
public void testAnonymousTypeCompletionBug280801() throws Exception { |
493 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
1100 |
IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); |
494 |
|
1101 |
|
Lines 627-633
Link Here
|
627 |
buf.append(" //TODO\n"); |
1234 |
buf.append(" //TODO\n"); |
628 |
buf.append(" \n"); |
1235 |
buf.append(" \n"); |
629 |
buf.append(" }\n"); |
1236 |
buf.append(" }\n"); |
630 |
buf.append(" })\n"); |
1237 |
buf.append(" });\n"); |
631 |
buf.append(" }\n"); |
1238 |
buf.append(" }\n"); |
632 |
buf.append("}\n"); |
1239 |
buf.append("}\n"); |
633 |
assertEquals("", buf.toString(), doc.get()); |
1240 |
assertEquals("", buf.toString(), doc.get()); |