commit b0c76f4d1af96ba63c18417310a3d01f1f313d41
parent 000834cada1e227d61f6ec1f96bb75a9499ca802
Author: Tomas Hlavaty <tom@logand.com>
Date:   Sat, 26 Dec 2015 08:27:04 +0100
fix new lines
Diffstat:
1 file changed, 112 insertions(+), 112 deletions(-)
diff --git a/src/jmultimethod/DispatchTest.java b/src/jmultimethod/DispatchTest.java
@@ -1,112 +1,112 @@
-// FLAW: Java reasons about types of variables instead of values
-
-// for asteroid example see wikipedia visitor pattern
-
-package jmultimethod;
-
-public class DispatchTest {
-    static class Asteroid {
-        String id;
-        public Asteroid(String id) {this.id = id;}
-        public String id() {return id;}
-    }
-    static class Spaceship {
-        String name;
-        public Spaceship(String name) {this.name = name;}
-        public String name() {return name;}
-    }
-    static class Static {
-        static void colide(Asteroid x, Asteroid y) {
-            System.out.println("AA colide " + x.id() + " with " + y.id());
-        }
-        static void colide(Asteroid x, Spaceship y) {
-            System.out.println("AS colide " + x.id() + " with " + y.name());
-        }
-        static void colide(Spaceship x, Asteroid y) {
-            System.out.println("SA colide " + x.name() + " with " + y.id());
-        }
-        static void colide(Spaceship x, Spaceship y) {
-            System.out.println("SS colide " + x.name() + " with " + y.name());
-        }
-        static void colide(Object x, Object y) {
-            System.out.println("OO colide " + x + " with " + y);
-        }
-        static void run() {
-            run1();
-            run2();
-        }
-        static void run1() {
-            System.out.println("Static: explicitly typed");
-            Asteroid a1 = new Asteroid("A1");
-            Asteroid a2 = new Asteroid("A2");
-            Spaceship s1 = new Spaceship("S1");
-            Spaceship s2 = new Spaceship("S2");
-            colide(a1, a2);
-            colide(a1, s1);
-            colide(s1, a1);
-            colide(s1, s2);
-        }
-        static void run2() {
-            System.out.println("Static: superclass typed");
-            // here is a flaw: the variable type should not be
-            // specified, it should be infered by the compiler instead
-            Object a1 = new Asteroid("A1");
-            Object a2 = new Asteroid("A2");
-            Object s1 = new Spaceship("S1");
-            Object s2 = new Spaceship("S2");
-            colide(a1, a2);
-            colide(a1, s1);
-            colide(s1, a1);
-            colide(s1, s2);
-        }
-    }
-    static class Dynamic {
-        void colide(Asteroid x, Asteroid y) {
-            System.out.println("AA colide " + x.id() + " with " + y.id());
-        }
-        void colide(Asteroid x, Spaceship y) {
-            System.out.println("AS colide " + x.id() + " with " + y.name());
-        }
-        void colide(Spaceship x, Asteroid y) {
-            System.out.println("SA colide " + x.name() + " with " + y.id());
-        }
-        void colide(Spaceship x, Spaceship y) {
-            System.out.println("SS colide " + x.name() + " with " + y.name());
-        }
-        void colide(Object x, Object y) {
-            System.out.println("OO colide " + x + " with " + y);
-        }
-        void run() {
-            run1();
-            run2();
-        }
-        void run1() {
-            System.out.println("Dynamic: explicitly typed");
-            Asteroid a1 = new Asteroid("A1");
-            Asteroid a2 = new Asteroid("A2");
-            Spaceship s1 = new Spaceship("S1");
-            Spaceship s2 = new Spaceship("S2");
-            colide(a1, a2);
-            colide(a1, s1);
-            colide(s1, a1);
-            colide(s1, s2);
-        }
-        void run2() {
-            System.out.println("Dynamic: superclass typed");
-            // here is the flaw again: dispatch is on variable type
-            // instead of value type
-            Object a1 = new Asteroid("A1");
-            Object a2 = new Asteroid("A2");
-            Object s1 = new Spaceship("S1");
-            Object s2 = new Spaceship("S2");
-            colide(a1, a2);
-            colide(a1, s1);
-            colide(s1, a1);
-            colide(s1, s2);
-        }
-    }
-    public static void main(String args[]) {
-        Static.run();
-        new Dynamic().run();
-    }
-}
+// FLAW: Java reasons about types of variables instead of values
+
+// for asteroid example see wikipedia visitor pattern
+
+package jmultimethod;
+
+public class DispatchTest {
+    static class Asteroid {
+        String id;
+        public Asteroid(String id) {this.id = id;}
+        public String id() {return id;}
+    }
+    static class Spaceship {
+        String name;
+        public Spaceship(String name) {this.name = name;}
+        public String name() {return name;}
+    }
+    static class Static {
+        static void colide(Asteroid x, Asteroid y) {
+            System.out.println("AA colide " + x.id() + " with " + y.id());
+        }
+        static void colide(Asteroid x, Spaceship y) {
+            System.out.println("AS colide " + x.id() + " with " + y.name());
+        }
+        static void colide(Spaceship x, Asteroid y) {
+            System.out.println("SA colide " + x.name() + " with " + y.id());
+        }
+        static void colide(Spaceship x, Spaceship y) {
+            System.out.println("SS colide " + x.name() + " with " + y.name());
+        }
+        static void colide(Object x, Object y) {
+            System.out.println("OO colide " + x + " with " + y);
+        }
+        static void run() {
+            run1();
+            run2();
+        }
+        static void run1() {
+            System.out.println("Static: explicitly typed");
+            Asteroid a1 = new Asteroid("A1");
+            Asteroid a2 = new Asteroid("A2");
+            Spaceship s1 = new Spaceship("S1");
+            Spaceship s2 = new Spaceship("S2");
+            colide(a1, a2);
+            colide(a1, s1);
+            colide(s1, a1);
+            colide(s1, s2);
+        }
+        static void run2() {
+            System.out.println("Static: superclass typed");
+            // here is a flaw: the variable type should not be
+            // specified, it should be infered by the compiler instead
+            Object a1 = new Asteroid("A1");
+            Object a2 = new Asteroid("A2");
+            Object s1 = new Spaceship("S1");
+            Object s2 = new Spaceship("S2");
+            colide(a1, a2);
+            colide(a1, s1);
+            colide(s1, a1);
+            colide(s1, s2);
+        }
+    }
+    static class Dynamic {
+        void colide(Asteroid x, Asteroid y) {
+            System.out.println("AA colide " + x.id() + " with " + y.id());
+        }
+        void colide(Asteroid x, Spaceship y) {
+            System.out.println("AS colide " + x.id() + " with " + y.name());
+        }
+        void colide(Spaceship x, Asteroid y) {
+            System.out.println("SA colide " + x.name() + " with " + y.id());
+        }
+        void colide(Spaceship x, Spaceship y) {
+            System.out.println("SS colide " + x.name() + " with " + y.name());
+        }
+        void colide(Object x, Object y) {
+            System.out.println("OO colide " + x + " with " + y);
+        }
+        void run() {
+            run1();
+            run2();
+        }
+        void run1() {
+            System.out.println("Dynamic: explicitly typed");
+            Asteroid a1 = new Asteroid("A1");
+            Asteroid a2 = new Asteroid("A2");
+            Spaceship s1 = new Spaceship("S1");
+            Spaceship s2 = new Spaceship("S2");
+            colide(a1, a2);
+            colide(a1, s1);
+            colide(s1, a1);
+            colide(s1, s2);
+        }
+        void run2() {
+            System.out.println("Dynamic: superclass typed");
+            // here is the flaw again: dispatch is on variable type
+            // instead of value type
+            Object a1 = new Asteroid("A1");
+            Object a2 = new Asteroid("A2");
+            Object s1 = new Spaceship("S1");
+            Object s2 = new Spaceship("S2");
+            colide(a1, a2);
+            colide(a1, s1);
+            colide(s1, a1);
+            colide(s1, s2);
+        }
+    }
+    public static void main(String args[]) {
+        Static.run();
+        new Dynamic().run();
+    }
+}