Commit Graph

826 Commits

Author SHA1 Message Date
Robert Field
c51505263f 8012556: Implement lambda methods on interfaces as static
8006140: Javac NPE compiling Lambda expression on initialization expression of static field in interface

Lambdas occurring in static contexts or those not needing instance information should be generated into static methods.  This has long been the case for classes.  However, as a work-around to the lack of support for statics on interfaces, interface lambda methods have been generated into default methods.  For lambdas in interface static contexts (fields and static methods) this causes an NPE in javac because there is no 'this'.  MethodHandles now support static methods on interfaces.  This changeset allows lambda methods to be generated as static interface methods.  An existing bug in Hotspot (8013875) is exposed in a test when the "-esa" flag is used.  This test and another test that already exposed this bug have been marked with @ignore.

Reviewed-by: mcimadamore
2013-05-14 11:11:09 -07:00
Jan Lahoda
921bd43131 8012929: Trees.getElement should work not only for declaration trees, but also for use-trees
Co-authored-by: Dusan Balek <dbalek@netbeans.org>
Reviewed-by: jjg
2013-05-10 15:15:50 +02:00
Jonathan Gibbons
c037757e7b 8014363: javac test class ToolTester handles classpath incorrectly
Reviewed-by: ksrini
2013-05-12 18:18:54 -07:00
Alan Bateman
d4858d53df 8014318: tools/javac/profiles/ProfileOptionTest.java needs modifying now that javax.script is in compact1
Reviewed-by: mchung
2013-05-10 16:10:20 +01:00
Joel Borggrén-Franck
d5eeeb875b 8013485: javac can't handle annotations with a <clinit> from a previous compilation unit
Reviewed-by: mcimadamore
2013-05-08 14:10:53 +02:00
Jonathan Gibbons
5b3642b5ce 8004082: test/tools/javac/plugin/showtype/Test.java fails on windows: jtreg can't delete plugin.jar
Reviewed-by: vromero, mcimadamore
2013-05-07 14:27:30 -07:00
Robert Field
136b4bc9b2 8014023: When a method reference to a local class constructor is contained in a method whose number of parameters matches the number of constructor parameters compilation fails
Reviewed-by: mcimadamore
2013-05-07 06:39:34 -07:00
Jan Lahoda
57d8a7fc0f 8009724: Enhance the DocTree API with DocTreePath
Adding DocTreePath and DocTreePathScanner similar to TreePath and TreePathScanner, respectively

Co-authored-by: Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
Reviewed-by: jjg
2013-05-06 16:22:45 +02:00
Jonathan Gibbons
cb5ef8cc5c 8000407: remove @GenerateNativeHeader
Reviewed-by: vromero, darcy
2013-05-03 15:08:47 -07:00
Jonathan Gibbons
155bd74411 8012728: Normalize @ignore comments on langtools tests
Reviewed-by: vromero, mcimadamore
2013-05-03 09:56:56 -07:00
Robert Field
0ab1bb68cc 8011591: BootstrapMethodError when capturing constructor ref to local classes
Reviewed-by: mcimadamore
2013-05-01 08:46:04 -07:00
Vicente Romero
625f8df5f5 8012723: strictfp interface misses strictfp modifer on default method
Reviewed-by: mcimadamore
2013-04-26 10:04:01 +01:00
Jonathan Gibbons
2c4b48dced 8013256: javac test failing after Lambda changes to java.util.List
Reviewed-by: mduigou
2013-04-25 17:45:36 -07:00
Joel Borggrén-Franck
16bec05e63 8011027: Type parameter annotations not passed through to javax.lang.model
Reviewed-by: jjg, darcy
2013-04-22 10:24:19 +02:00
Jan Lahoda
77b43bacfd 8008174: DocTree API should provide start and end positions for tree nodes
Adding DocSourcePositions to allow access to DocTree starting/ending position

Co-authored-by: Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
Reviewed-by: jjg, darcy
2013-04-17 15:54:24 +02:00
Vicente Romero
0e9ad4439a 8011181: javac, empty UTF8 entry generated for inner class
Reviewed-by: jjg
2013-04-17 11:11:33 +01:00
Maurizio Cimadamore
8b680bdde2 8011392: Missing checkcast when casting to intersection type
Javac should emit a checkcast for each additional target type specified in an intersection type cast

Reviewed-by: jjg
2013-04-15 14:17:30 +01:00
Maurizio Cimadamore
8f2d47cf79 8011028: lang/INFR/infr001/infr00101md/infr00101md.java fails to compile after switch to JDK8-b82
Fix bug in Types.removeWildcards

Reviewed-by: jjg
2013-04-15 14:16:05 +01:00
Maurizio Cimadamore
e59fd44a73 8011376: Spurious checked exception errors in nested method call
Fallback attribution logic doesn't work properly when lambda throws checked exceptions

Reviewed-by: jjg
2013-04-15 14:15:07 +01:00
Maurizio Cimadamore
2b94dbb504 8011377: Javac crashes when multiple lambdas are defined in an array
Wrong attribution environment used by DeferredAttr

Reviewed-by: jjg
2013-04-15 14:12:17 +01:00
Maurizio Cimadamore
efc501257b 8011383: Symbol.getModifiers omits ACC_ABSTRACT from interface with default methods
Fixup for default method modifiers erroneously applies to class-level modifiers

Reviewed-by: jjg
2013-04-15 14:11:29 +01:00
Maurizio Cimadamore
3044b19d21 8010659: Javac Crashes while building OpenJFX
Reviewed-by: jjg
2013-04-13 12:25:44 +01:00
Joel Borggrén-Franck
6f2f8b14be 7015104: use new subtype of TypeSymbol for type parameters
Reviewed-by: jjg, mcimadamore
2013-04-12 12:05:04 +02:00
Vicente Romero
cde5be4904 8011432: javac, compiler regression iterable + captured type
Reviewed-by: mcimadamore
2013-04-10 12:31:02 +01:00
Maurizio Cimadamore
da9dd76b20 8010822: Intersection type cast for functional expressions does not follow spec EDR
Remove support for marker interfaces; redefine intersection type casts to be order-independent

Reviewed-by: jjg
2013-04-08 15:59:29 +01:00
Maurizio Cimadamore
ea55015155 8009131: Overload: javac should discard methods that lead to errors in lambdas with implicit parameter types
Lambdas that have errors in their bodies should make enclosing overload resolution fail

Reviewed-by: jjg
2013-04-08 15:57:10 +01:00
Maurizio Cimadamore
b4b6e4f82e 8010404: Lambda debugging: redundant LineNumberTable entry for lambda capture
Ignore indy entries in LineNumberTable

Reviewed-by: jjg
2013-04-08 15:53:08 +01:00
Maurizio Cimadamore
08df98aa3c 8010823: DefaultMethodTest.testReflectCall fails with new lambda VM
Fix lambda test

Reviewed-by: jjg
2013-04-08 15:52:05 +01:00
Joe Darcy
3aabe92c92 8011052: Add DEFAULT to javax.lang.model.Modifier
Reviewed-by: abuckley, jjg
2013-04-03 12:27:12 -07:00
Vicente Romero
a19d0728ba 4965689: class literal code wastes a byte
Reviewed-by: jjg
2013-04-02 10:51:16 +01:00
Jonathan Gibbons
18f48ab46b 8010511: Tests are creating files in /tmp
Reviewed-by: darcy
2013-03-28 10:58:45 -07:00
Jonathan Gibbons
84a50dc114 8006346: doclint should make allowance for headers generated by standard doclet
Reviewed-by: mcimadamore
2013-03-28 10:49:39 -07:00
Joe Darcy
d54accaf5c 7080464: langtools regression test failures when assertions are enabled
Reviewed-by: jjg
2013-03-22 10:08:46 -07:00
Maurizio Cimadamore
7ee4846b45 8010387: Javac crashes when diagnostic mentions anonymous inner class' type variables
Rich formatter doesn't preprocess supertypes of an anonymous inner class

Reviewed-by: jjg
2013-03-22 12:44:48 +00:00
Maurizio Cimadamore
2b66afe14d 8010303: Graph inference: missing incorporation step causes spurious inference error
Multiple equality constraints on inference vars are not used to generate new inference constraints

Reviewed-by: jjg
2013-03-22 12:43:09 +00:00
Maurizio Cimadamore
710a687c15 8009820: AssertionError when compiling java code with two identical static imports
Speculative attribution is carried out twice with same method symbol in case of static imports

Reviewed-by: jjg
2013-03-22 12:41:13 +00:00
Maurizio Cimadamore
cec722fe8f 8010101: Intersection type cast issues redundant unchecked warning
Code for checking intersection type cast is incorrectly swapping operands, leading to spurious warnings

Reviewed-by: jjg
2013-03-22 12:39:34 +00:00
Maurizio Cimadamore
2454c8c5ae 8009649: Lambda back-end should generate invokespecial for method handles referring to private instance methods
Private lambda methods should be accessed through invokespecial

Reviewed-by: jjg
2013-03-22 12:38:12 +00:00
Jonathan Gibbons
d4e9a74af5 8010317: DocLint incorrectly reports some <pre> tags as empty
Reviewed-by: darcy
2013-03-19 19:16:59 -07:00
Joe Darcy
479d5c83b0 8010179: Remove transitional target values from javac
Reviewed-by: jjg, mcimadamore
2013-03-19 13:10:40 -07:00
Peter Jensen
1e91824535 8005220: RFE to write javap tests for repeating annotations
Reviewed-by: jjg
2013-03-18 08:46:09 -07:00
Matherey Nunez
cd78ad2c8a 8007767: TargetAnnoCombo.java need to be updated to add a new test mode
Reviewed-by: jjg, strarup
2013-03-15 13:39:04 +01:00
Vicente Romero
a7e53ae56d 5053846: javac: MethodRef entries are duplicated in the constant pool
Reviewed-by: mcimadamore
2013-03-15 09:02:26 +00:00
Robert Field
46e9ef69a7 8010010: NPE generating serializedLambdaName for nested lambda
Reviewed-by: mcimadamore
2013-03-14 22:54:17 -07:00
Mandy Chung
857b7efb96 8005428: Update jdeps to read the same profile information as by javac
Reviewed-by: alanb
2013-03-14 10:33:31 -07:00
Vicente Romero
4ef6ef5d0f 8008582: jtreg failures after conversion of shell tests to Java
Reviewed-by: jjg
2013-03-14 08:30:16 +00:00
Joel Borggrén-Franck
09e3f06ae6 8006547: Repeating annotations: No Target on container annotation with all targets on base annotation gives compiler error
Reviewed-by: jjg
2013-03-13 22:03:09 +01:00
Joel Borggrén-Franck
4de6d2c42c 7196531: Duplicate error messages on repeating annotations
Reviewed-by: jjg
2013-03-12 17:39:34 +01:00
Maurizio Cimadamore
22e2c128a2 8009545: Graph inference: dependencies between inference variables should be set during incorporation
Move all transitivity checks into the incorporation round

Reviewed-by: jjg
2013-03-12 16:02:43 +00:00
Maurizio Cimadamore
69ee819808 8008540: Constructor reference to non-reifiable array should be rejected
8008539: Spurious error when constructor reference mention an interface type
8008538: Constructor reference accepts wildcard parameterized types

Overhaul of Check.checkConstructorRefType

Reviewed-by: jjg
2013-03-12 16:02:13 +00:00