hg: lambda/lambda/langtools: Support inlined syntax for extension methods

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Tue Dec 13 09:15:54 PST 2011


Changeset: 9845b1d9e7bd
Author:    mcimadamore
Date:      2011-12-13 17:13 +0000
URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/9845b1d9e7bd

Support inlined syntax for extension methods
*) Add parser support for new inlined syntax
*) Old syntax is still accepted but will raise warnings
*) Fixed attribution code not to rely on ACC_ABSTRACT being set on extension methods
*) Simplified type-checking for extension methods and refactored some methods to match latest FD draft

Example of new syntax:

interface I {
   void m() default { System.out.println("Hello extension methods!"); }
}

! src/share/classes/com/sun/tools/javac/code/Flags.java
! src/share/classes/com/sun/tools/javac/code/Symbol.java
! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/defender/ClassReaderTest/pkg/Foo.java
! test/tools/javac/defender/Neg01.java
! test/tools/javac/defender/Neg02.java
! test/tools/javac/defender/Neg03.java
! test/tools/javac/defender/Neg04.java
! test/tools/javac/defender/Neg05.java
! test/tools/javac/defender/Neg05.out
! test/tools/javac/defender/Pos01.java
! test/tools/javac/defender/Pos02.java
! test/tools/javac/defender/Pos03.java
! test/tools/javac/defender/Pos04.java
! test/tools/javac/defender/Pos05.java
! test/tools/javac/defender/Pos06.java
! test/tools/javac/defender/Pos07.java
! test/tools/javac/defender/Pos08.java
! test/tools/javac/defender/Pos09.java
! test/tools/javac/defender/Pos10.java
! test/tools/javac/defender/Pos11.java
! test/tools/javac/defender/TestInlinedDefenderBody.java
! test/tools/javac/defender/TestNoBridgeOnDefenders.java
! test/tools/javac/defender/pkg1/A.java
! test/tools/javac/diags/examples.not-yet.txt
! test/tools/javac/lambda/Defender01.java
- test/tools/javac/lambda/DeprecatedExtensionKeyword.java
- test/tools/javac/lambda/DeprecatedExtensionKeyword.out
! test/tools/javac/lambda/SourceLevelTest.java



More information about the lambda-dev mailing list