| /* | |
| * @test /nodynamiccopyright/ | |
| * @bug 8071432 8069545 | |
| * @summary structural most specific and stuckness | |
| * @compile/fail/ref=T8071432.out -XDrawDiagnostics T8071432.java | |
| */ | |
| import java.util.Arrays; | |
| import java.util.Collection; | |
| class T8071432 { | |
| static class Point { | |
| private double x, y; | |
| public Point(double x, double y) { | |
| this.x = x; | |
| this.y = y; | |
| } | |
| public double getX() { | |
| return x; | |
| } | |
| public double getY() { | |
| return y; | |
| } | |
| public double distance(Point p) { | |
| return Math.sqrt((this.x - p.x) * (this.x - p.x) + | |
| (this.y - p.y) * (this.y - p.y)); | |
| } | |
| public double distance() { | |
| return Math.sqrt(this.x * this.x + this.y * this.y); | |
| } | |
| public String toString() { | |
| return "(" + x + ":" + y + ")"; | |
| } | |
| } | |
| public static void meth() { | |
| Collection<Point> c = Arrays.asList(new Point(1.0, 0.1)); | |
| System.out.println("------- 1 ---------------"); | |
| System.out.println(c.stream().reduce(0.0, | |
| (s, p) -> s += p.distance(), (d1, d2) -> 0)); | |
| } | |
| } |