8005851: Remove support for synchronized interface methods

Mon, 21 Jan 2013 20:15:16 +0000

author
mcimadamore
date
Mon, 21 Jan 2013 20:15:16 +0000
changeset 1512
b12ffdfa1341
parent 1511
c7c41a044e7c
child 1513
cf84b07a82db

8005851: Remove support for synchronized interface methods
Summary: Synchronized default methods are no longer supported
Reviewed-by: jjg

src/share/classes/com/sun/tools/javac/code/Flags.java file | annotate | diff | comparison | revisions
test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java file | annotate | diff | comparison | revisions
test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/classes/com/sun/tools/javac/code/Flags.java	Mon Jan 21 20:14:39 2013 +0000
     1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Flags.java	Mon Jan 21 20:15:16 2013 +0000
     1.3 @@ -280,7 +280,7 @@
     1.4                                  SYNCHRONIZED | FINAL | STRICTFP;
     1.5      public static final long
     1.6          ExtendedStandardFlags       = (long)StandardFlags | DEFAULT,
     1.7 -        InterfaceDefaultMethodMask  = ABSTRACT | PUBLIC | STRICTFP | SYNCHRONIZED | DEFAULT,
     1.8 +        InterfaceDefaultMethodMask  = ABSTRACT | PUBLIC | STRICTFP | DEFAULT,
     1.9          LocalVarFlags               = FINAL | PARAMETER;
    1.10  
    1.11  
     2.1 --- a/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java	Mon Jan 21 20:14:39 2013 +0000
     2.2 +++ b/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java	Mon Jan 21 20:15:16 2013 +0000
     2.3 @@ -23,7 +23,7 @@
     2.4  
     2.5  /*
     2.6   * @test
     2.7 - * @bug 7192245
     2.8 + * @bug 7192245 8005851
     2.9   * @summary Automatic test for checking set of allowed modifiers on interface methods
    2.10   */
    2.11  
    2.12 @@ -183,10 +183,10 @@
    2.13              /* ABSTRACT */       { T   , T    , C        , F       , F       , F     , F     , F           , F    , F       , F   },
    2.14              /* STATIC */         { C   , C    , C        , C       , F       , F     , C     , C           , C    , C       , F   },
    2.15              /* NATIVE */         { C   , C    , C        , C       , F       , C     , F     , C           , C    , F       , F   },
    2.16 -            /* SYNCHRONIZED */   { C   , C    , C        , C       , F       , C     , C     , F           , C    , C       , I   },
    2.17 +            /* SYNCHRONIZED */   { C   , C    , C        , C       , F       , C     , C     , F           , C    , C       , F   },
    2.18              /* FINAL */          { C   , C    , C        , C       , F       , C     , C     , C           , F    , C       , F   },
    2.19              /* STRICTFP */       { C   , C    , C        , C       , F       , C     , F     , C           , C    , F       , I   },
    2.20 -            /* DEFAULT */        { I   , I    , F        , F       , F       , F     , F     , I           , F    , I       , F   }};
    2.21 +            /* DEFAULT */        { I   , I    , F        , F       , F       , F     , F     , F           , F    , I       , F   }};
    2.22      }
    2.23  
    2.24      enum MethodKind {
     3.1 --- a/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java	Mon Jan 21 20:14:39 2013 +0000
     3.2 +++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java	Mon Jan 21 20:15:16 2013 +0000
     3.3 @@ -807,20 +807,8 @@
     3.4              fail("Could not load class", e);
     3.5          }
     3.6      }
     3.7 -
     3.8 -    public void testSynchronizedDefault() {
     3.9 -        try {
    3.10 -            java.lang.Class.forName("org.openjdk.tests.vm.SynchronizedDefault");
    3.11 -        } catch (Exception e) {
    3.12 -            fail("Could not load class", e);
    3.13 -        }
    3.14 -    }
    3.15  }
    3.16  
    3.17  interface StrictfpDefault {
    3.18      default strictfp void m() {}
    3.19  }
    3.20 -
    3.21 -interface SynchronizedDefault {
    3.22 -    default synchronized void m() {}
    3.23 -}

mercurial