Lines 417-423
Link Here
|
417 |
"2. ERROR in X.java (at line 2)\n" + |
417 |
"2. ERROR in X.java (at line 2)\n" + |
418 |
" interface X<E> extends List<E>, Collection<E>, Iterable<E> {}\n" + |
418 |
" interface X<E> extends List<E>, Collection<E>, Iterable<E> {}\n" + |
419 |
" ^^^^^^^^\n" + |
419 |
" ^^^^^^^^\n" + |
420 |
"Redundant superinterface Iterable<E> for the type X<E>, already defined by Collection<E>\n" + |
420 |
"Redundant superinterface Iterable<E> for the type X<E>, already defined by List<E>\n" + |
421 |
"----------\n" + |
421 |
"----------\n" + |
422 |
"3. ERROR in X.java (at line 3)\n" + |
422 |
"3. ERROR in X.java (at line 3)\n" + |
423 |
" interface Y<E> extends Collection<E>, List<E> {}\n" + |
423 |
" interface Y<E> extends Collection<E>, List<E> {}\n" + |
Lines 431-438
Link Here
|
431 |
"----------\n" + |
431 |
"----------\n" + |
432 |
"5. ERROR in X.java (at line 4)\n" + |
432 |
"5. ERROR in X.java (at line 4)\n" + |
433 |
" interface XXX<E> extends Iterable<E>, List<E>, Collection<E> {}\n" + |
433 |
" interface XXX<E> extends Iterable<E>, List<E>, Collection<E> {}\n" + |
434 |
" ^^^^^^^^\n" + |
434 |
" ^^^^^^^^^^\n" + |
435 |
"Redundant superinterface Iterable<E> for the type XXX<E>, already defined by Collection<E>\n" + |
435 |
"Redundant superinterface Collection<E> for the type XXX<E>, already defined by List<E>\n" + |
436 |
"----------\n" + |
436 |
"----------\n" + |
437 |
"6. ERROR in X.java (at line 5)\n" + |
437 |
"6. ERROR in X.java (at line 5)\n" + |
438 |
" abstract class Z implements List<Object>, Collection<Object> {}\n" + |
438 |
" abstract class Z implements List<Object>, Collection<Object> {}\n" + |
Lines 473-476
Link Here
|
473 |
"----------\n", |
473 |
"----------\n", |
474 |
JavacTestOptions.SKIP); |
474 |
JavacTestOptions.SKIP); |
475 |
} |
475 |
} |
|
|
476 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=320911 (as is) |
477 |
public void test015() { |
478 |
Map customOptions = getCompilerOptions(); |
479 |
customOptions.put(CompilerOptions.OPTION_ReportRedundantSuperinterface, CompilerOptions.ERROR); |
480 |
runNegativeTest( |
481 |
// test directory preparation |
482 |
true /* flush output directory */, |
483 |
new String[] { /* test files */ |
484 |
"X.java", |
485 |
"interface IVerticalRulerColumn {}\n" + |
486 |
"interface IVerticalRulerInfo {}\n" + |
487 |
"interface IVerticalRulerInfoExtension {}\n" + |
488 |
"interface IChangeRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfoExtension {}\n" + |
489 |
"interface IRevisionRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
490 |
"public final class X implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension, IChangeRulerColumn, IRevisionRulerColumn {}\n" |
491 |
}, |
492 |
// compiler options |
493 |
null /* no class libraries */, |
494 |
customOptions /* custom options */, |
495 |
// compiler results |
496 |
"----------\n" + |
497 |
"1. ERROR in X.java (at line 6)\n" + |
498 |
" public final class X implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension, IChangeRulerColumn, IRevisionRulerColumn {}\n" + |
499 |
" ^^^^^^^^^^^^^^^^^^^^\n" + |
500 |
"Redundant superinterface IVerticalRulerColumn for the type X, already defined by IChangeRulerColumn\n" + |
501 |
"----------\n" + |
502 |
"2. ERROR in X.java (at line 6)\n" + |
503 |
" public final class X implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension, IChangeRulerColumn, IRevisionRulerColumn {}\n" + |
504 |
" ^^^^^^^^^^^^^^^^^^\n" + |
505 |
"Redundant superinterface IVerticalRulerInfo for the type X, already defined by IRevisionRulerColumn\n" + |
506 |
"----------\n" + |
507 |
"3. ERROR in X.java (at line 6)\n" + |
508 |
" public final class X implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension, IChangeRulerColumn, IRevisionRulerColumn {}\n" + |
509 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
510 |
"Redundant superinterface IVerticalRulerInfoExtension for the type X, already defined by IChangeRulerColumn\n" + |
511 |
"----------\n", |
512 |
JavacTestOptions.SKIP); |
513 |
} |
514 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=320911 (variation) |
515 |
public void test016() { |
516 |
Map customOptions = getCompilerOptions(); |
517 |
customOptions.put(CompilerOptions.OPTION_ReportRedundantSuperinterface, CompilerOptions.ERROR); |
518 |
runNegativeTest( |
519 |
// test directory preparation |
520 |
true /* flush output directory */, |
521 |
new String[] { /* test files */ |
522 |
"X.java", |
523 |
"interface IVerticalRulerColumn {}\n" + |
524 |
"interface IVerticalRulerInfo {}\n" + |
525 |
"interface IVerticalRulerInfoExtension {}\n" + |
526 |
"interface IChangeRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfoExtension {}\n" + |
527 |
"interface IRevisionRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
528 |
"class Z implements IChangeRulerColumn {}\n" + |
529 |
"class Y extends Z implements IRevisionRulerColumn {}\n" + |
530 |
"public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" |
531 |
}, |
532 |
// compiler options |
533 |
null /* no class libraries */, |
534 |
customOptions /* custom options */, |
535 |
// compiler results |
536 |
"----------\n" + |
537 |
"1. ERROR in X.java (at line 8)\n" + |
538 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
539 |
" ^^^^^^^^^^^^^^^^^^^^\n" + |
540 |
"Redundant superinterface IVerticalRulerColumn for the type X, already defined by IRevisionRulerColumn\n" + |
541 |
"----------\n" + |
542 |
"2. ERROR in X.java (at line 8)\n" + |
543 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
544 |
" ^^^^^^^^^^^^^^^^^^\n" + |
545 |
"Redundant superinterface IVerticalRulerInfo for the type X, already defined by IRevisionRulerColumn\n" + |
546 |
"----------\n" + |
547 |
"3. ERROR in X.java (at line 8)\n" + |
548 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
549 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
550 |
"Redundant superinterface IVerticalRulerInfoExtension for the type X, already defined by IRevisionRulerColumn\n" + |
551 |
"----------\n", |
552 |
JavacTestOptions.SKIP); |
553 |
} |
554 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=320911 (variation) |
555 |
public void test017() { |
556 |
Map customOptions = getCompilerOptions(); |
557 |
customOptions.put(CompilerOptions.OPTION_ReportRedundantSuperinterface, CompilerOptions.ERROR); |
558 |
runNegativeTest( |
559 |
// test directory preparation |
560 |
true /* flush output directory */, |
561 |
new String[] { /* test files */ |
562 |
"X.java", |
563 |
"interface IVerticalRulerColumn {}\n" + |
564 |
"interface IVerticalRulerInfo {}\n" + |
565 |
"interface IVerticalRulerInfoExtension {}\n" + |
566 |
"interface IChangeRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfoExtension {}\n" + |
567 |
"interface IRevisionRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
568 |
"class Z implements IRevisionRulerColumn{}\n" + |
569 |
"class C extends Z {}\n" + |
570 |
"class B extends C implements IChangeRulerColumn {}\n" + |
571 |
"class H extends B {}\n" + |
572 |
"class Y extends H {}\n" + |
573 |
"public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" |
574 |
}, |
575 |
// compiler options |
576 |
null /* no class libraries */, |
577 |
customOptions /* custom options */, |
578 |
// compiler results |
579 |
"----------\n" + |
580 |
"1. ERROR in X.java (at line 11)\n" + |
581 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
582 |
" ^^^^^^^^^^^^^^^^^^^^\n" + |
583 |
"Redundant superinterface IVerticalRulerColumn for the type X, already defined by IRevisionRulerColumn\n" + |
584 |
"----------\n" + |
585 |
"2. ERROR in X.java (at line 11)\n" + |
586 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
587 |
" ^^^^^^^^^^^^^^^^^^\n" + |
588 |
"Redundant superinterface IVerticalRulerInfo for the type X, already defined by IRevisionRulerColumn\n" + |
589 |
"----------\n" + |
590 |
"3. ERROR in X.java (at line 11)\n" + |
591 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
592 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
593 |
"Redundant superinterface IVerticalRulerInfoExtension for the type X, already defined by IRevisionRulerColumn\n" + |
594 |
"----------\n", |
595 |
JavacTestOptions.SKIP); |
596 |
} |
597 |
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=320911 (variation) |
598 |
public void test018() { |
599 |
Map customOptions = getCompilerOptions(); |
600 |
customOptions.put(CompilerOptions.OPTION_ReportRedundantSuperinterface, CompilerOptions.ERROR); |
601 |
runNegativeTest( |
602 |
// test directory preparation |
603 |
true /* flush output directory */, |
604 |
new String[] { /* test files */ |
605 |
"X.java", |
606 |
"interface IVerticalRulerColumn {}\n" + |
607 |
"interface IVerticalRulerInfo {}\n" + |
608 |
"interface IVerticalRulerInfoExtension {}\n" + |
609 |
"interface IChangeRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfoExtension {}\n" + |
610 |
"interface IRevisionRulerColumn extends IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
611 |
"class Z implements IVerticalRulerInfoExtension {}\n" + |
612 |
"class C extends Z {}\n" + |
613 |
"class B extends C implements IChangeRulerColumn {}\n" + |
614 |
"class H extends B implements IVerticalRulerInfo {}\n" + |
615 |
"class Y extends H implements IVerticalRulerColumn {}\n" + |
616 |
"public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" |
617 |
}, |
618 |
// compiler options |
619 |
null /* no class libraries */, |
620 |
customOptions /* custom options */, |
621 |
// compiler results |
622 |
"----------\n" + |
623 |
"1. ERROR in X.java (at line 10)\n" + |
624 |
" class Y extends H implements IVerticalRulerColumn {}\n" + |
625 |
" ^^^^^^^^^^^^^^^^^^^^\n" + |
626 |
"Redundant superinterface IVerticalRulerColumn for the type Y, already defined by IChangeRulerColumn\n" + |
627 |
"----------\n" + |
628 |
"2. ERROR in X.java (at line 11)\n" + |
629 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
630 |
" ^^^^^^^^^^^^^^^^^^^^\n" + |
631 |
"Redundant superinterface IVerticalRulerColumn for the type X, already defined by Y\n" + |
632 |
"----------\n" + |
633 |
"3. ERROR in X.java (at line 11)\n" + |
634 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
635 |
" ^^^^^^^^^^^^^^^^^^\n" + |
636 |
"Redundant superinterface IVerticalRulerInfo for the type X, already defined by H\n" + |
637 |
"----------\n" + |
638 |
"4. ERROR in X.java (at line 11)\n" + |
639 |
" public final class X extends Y implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension {}\n" + |
640 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
641 |
"Redundant superinterface IVerticalRulerInfoExtension for the type X, already defined by Z\n" + |
642 |
"----------\n", |
643 |
JavacTestOptions.SKIP); |
644 |
} |
476 |
} |
645 |
} |