# HG changeset patch # User Jaroslav Tulach # Date 1318913263 -7200 # Node ID 68bba7c8a1b3fd852af9aa0a5e7422f0958b4586 # Parent d65e561f94d7a758c7e9254229f938ca9e828c96 Showing that covariance is source compatible, but not binary compatible in Java diff -r d65e561f94d7 -r 68bba7c8a1b3 samples/covariance/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/covariance/build.xml Tue Oct 18 06:47:43 2011 +0200 @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r d65e561f94d7 -r 68bba7c8a1b3 samples/covariance/nbproject/project.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/covariance/nbproject/project.xml Tue Oct 18 06:47:43 2011 +0200 @@ -0,0 +1,99 @@ + + + org.netbeans.modules.ant.freeform + + + Covariance + + + + Covariance + + + + + . + UTF-8 + + + + java + src-api1.0 + UTF-8 + + + + java + src-api2.0 + UTF-8 + + + + java + impl + UTF-8 + + + + + build + + + clean + + + run + + + clean + build + + + test + + + + + + + src-api1.0 + + + + src-api2.0 + + + + src-impl + + + build.xml + + + + + + + + + + + + + + + src-api1.0 + 1.6 + + + src-api2.0 + 1.6 + + + src-impl + src-api1.0 + 1.6 + + + + diff -r d65e561f94d7 -r 68bba7c8a1b3 samples/covariance/src-api1.0/api/Covariance.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/covariance/src-api1.0/api/Covariance.java Tue Oct 18 06:47:43 2011 +0200 @@ -0,0 +1,12 @@ +package api; + +public class Covariance { + private Covariance() { + } + + // BEGIN: variance.covariance.v1 + public static Number max(int n1, int n2) { + return Math.max(n1, n2); + } + // END: variance.covariance.v1 +} diff -r d65e561f94d7 -r 68bba7c8a1b3 samples/covariance/src-api2.0/api/Covariance.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/covariance/src-api2.0/api/Covariance.java Tue Oct 18 06:47:43 2011 +0200 @@ -0,0 +1,12 @@ +package api; + +public class Covariance { + private Covariance() { + } + + // BEGIN: variance.covariance.v2 + public static Integer max(int n1, int n2) { + return Math.max(n1, n2); + } + // END: variance.covariance.v2 +} diff -r d65e561f94d7 -r 68bba7c8a1b3 samples/covariance/src-impl/test/CovarianceTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/covariance/src-impl/test/CovarianceTest.java Tue Oct 18 06:47:43 2011 +0200 @@ -0,0 +1,13 @@ +package test; + +import api.Covariance; + +public class CovarianceTest { + // BEGIN: variance.covariance.test + public static void main(String[] args) { + Number n = Covariance.max(10, 20); + System.err.println("value: " + n + " type: " + n.getClass()); + assert n.intValue() == 20 : "The max should be 20, but was: " + n; + } + // END: variance.covariance.test +}