From wdietl at gmail.com Fri Aug 2 14:05:39 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 02 Aug 2013 21:05:39 +0000 Subject: hg: type-annotations/type-annotations/langtools: 2 new changesets Message-ID: <20130802210558.4DC744859B@hg.openjdk.java.net> Changeset: 0b2437e36552 Author: wmdietl Date: 2013-08-02 14:04 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0b2437e36552 Make field private and final, consistently with all other fields. ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Changeset: 342d34b65fd8 Author: wmdietl Date: 2013-08-02 14:05 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/342d34b65fd8 Add javadoc and @since annotations to tree changes. ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java From wdietl at gmail.com Fri Aug 2 14:10:45 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 2 Aug 2013 14:10:45 -0700 Subject: Javadoc and @since in com.sun.source.tree In-Reply-To: <51F70F07.1010708@oracle.com> References: <51F70F07.1010708@oracle.com> Message-ID: Jon, I've added two @since annotations and javadoc: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/342d34b65fd8 Please have a look. I added some comments about the new TYPE_USE and TYPE_PARAMETER target. Maybe that should we added just once, somewhere else? Feel free to edit/remove this. Only few changes were required, as most methods return a generic Tree and can automatically return annotated type trees. I have one question: method com.sun.source.tree.NewClassTree.getIdentifier() actually returns the type of the instantiation - including type annotations, type arguments, etc. In contrast, method com.sun.source.tree.NewArrayTree.getType() presumably does the same thing, i.e. returns the array component type. Why is one named getIdentifier() and one getType()? Should getIdentifier() not return type annotations? Some javadoc on these methods would help :-) cu, WMD. On Mon, Jul 29, 2013 at 5:55 PM, Jonathan Gibbons wrote: > On 07/29/2013 05:44 PM, Werner Dietl wrote: >> >> JSR 308 added a few methods/enum constants in com.sun.source.tree, e.g.: >> >> com.sun.source.tree.Tree.Kind.ANNOTATED_TYPE >> com.sun.source.tree.TypeParameterTree.getAnnotations() >> >> These currently have no Javadoc (which is consistent with the lack of >> Javadoc in other such classes) and no @since 1.8. >> As these classes are @jdk.Supported, I think it would be nice to >> document our changes. >> Should I add some first blurbs or is somebody else better suited? >> >> Cheers, >> cu, WMD. >> > > If you put @since on the new items, I'll put @since on the older items. > > -- Jon -- http://www.google.com/profiles/wdietl From alex.buckley at oracle.com Fri Aug 2 16:55:33 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 02 Aug 2013 16:55:33 -0700 Subject: Review request for type annotation reflection test In-Reply-To: <51F9CFF1.3000304@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> Message-ID: <51FC46F5.7010101@oracle.com> Hi Charlie, This is much more understandable with the *.txt files, but still seems brittle. What would happen if you added a new String to annotationCombinations in AnnotationTest, or changed an existing String? Helper.Declaration is very precise about how many annotations are used. Also: - Some source files like TestCaseGenerator.java have text before the license comment, which I'm pretty sure is a no-no. - The introductory comment in each *Test class refers to annotationCombinations, but it would help to say AnnotationTest.annotationCombinations. - Sometimes the TestCase enum is private for no reason. - Many checkResult methods have code which could be shared. - The GenTestCode methods are strange. Each has to step through the TestCase values very carefully, and it's weird to see an enhanced-for loop with a counter variable (i). You should pass any values needed by TestCase.genTestCase to the constructor of the enum constant. Alex On 7/31/2013 8:03 PM, Charlie Wang wrote: > Hi Alex, > I've put a *.txt file for each of the tests. > Also there has been some update on the code: > 1. final fiels declaration, > 2. extraction of the field "lhm" into TestCaseGenerator, > 3. removal of some redundant code, > 4. replace StringBuffer with StringBuilder because synchronization is > implemented outside, > 5. removal of some unused imports, > 6. extraction of common parts into methods. > > Here's the test: > http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ > Sorry for the long gap since your last review comments. Tried to make > some big improvements on the code. > > > > Thanks, > Charlie > > On 2013/6/20 7:21, Alex Buckley wrote: >> - Please provide a text file for the generated code of each >> java/lang/* test. >> >> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >> should be called DeclarationGenerator. That's what it generates: >> declarations of classes, interfaces, fields, etc which are gathered up >> by the test case generators. Helper.SrcType should be called >> Helper.Declaration. The name of an enum type should describe what kind >> of things are represented by the enum constants, which here means >> declarations (of classes, interfaces, fields, etc). And you have a >> method called "genTestCode" in Helper as well as a method called >> "GenTestCode" in each test file (e.g. >> ClassGetAnnotatedInterfaceTest.java). >> >> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >> the declaration of an annotation type (to be part of a test case) >> _and_ an annotation (to be applied wherever #ANNO appears in the >> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >> CONTAINING_ANNOTATION_TYPE_1/2/3). >> >> - There is too much duplication in the java/lang/* classes, and >> generally too much use of static fields. These classes should each be >> a subclass of an abstract class AnnotationTest, which declares test() >> and the bulk of the code in checkResult(). AnnotationTest should have >> a variable "annotationCombinations" (not "annoComb") to enumerate the >> annotations to be applied. >> >> - Raw type Map in signature of Helper#genTestCode. >> >> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >> >> - @author should be a full name, not a first name. >> >> Alex >> >> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>> Hi, >>> Please review type annotation reflection test. Updated according to >>> Alex's comments. >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>> >>> Here's test result: >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>> >>> >>> >>> Regards, >>> Charlie >>> >>> >>> On 2013/6/19 5:56, Alex Buckley wrote: >>>> Did you see my last review email? >>>> >>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>> >>>> >>>> >>>> The webrev appears unchanged since the last time you sent its URL. Not >>>> sure what to say about the text file showing test runs... >>>> >>>> Alex >>>> >>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>> Hi, >>>>> Please review type annotation reflection test. >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>> >>>>> Here's test result: >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>> >>>>> >>>>> Regards, >>>>> Charlie >>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>> Hi, >>>>>> Updated all the tests according to comments. Here's webrev. Please >>>>>> review. >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>> >>>>>> >>>>>> >>>>>> Regards, >>>>>> Charlie >>>>>> >>>>>> >>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>> Hi Charlie, >>>>>>> >>>>>>> First, I think there is some clever stuff going on here, but it's >>>>>>> hard to figure out what it is. It's not enough to sprinkle comments >>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>> Helper.SrcType supports that with search-and-replace on keys like >>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>> looking for paragraphs that can be added to your code's javadoc and >>>>>>> be useful to someone in ten years time. >>>>>>> >>>>>>> Second, in the interest of increasing the abstraction of >>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>> constant >>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>> >>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM should be >>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be PACKAGE_ANNOTATION_1. >>>>>>> And >>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>> >>>>>>> Alex >>>>>>> >>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>> Hi, >>>>>>>> Please review attached 2 files, which I've changed according to >>>>>>>> comments. If OK, I will update the rest of the tests and publish >>>>>>>> for >>>>>>>> review. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Charlie >>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>> annotation >>>>>>>>>> types into TestUtil, so that any individual test will primarily >>>>>>>>>> be a >>>>>>>>>> data provider + test cases. However: >>>>>>>>>> >>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>> providers >>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>> determines which values should pass the tests and which values >>>>>>>>>> should >>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>> values of >>>>>>>>>> annotations which are expected to appear at various locations - >>>>>>>>>> this >>>>>>>>>> is output data, not input data. >>>>>>>>>> >>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>> annotations in >>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>> indexing of >>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>> excessive >>>>>>>>>> knowledge of specific test cases: >>>>>>>>>> >>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>> stateless >>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>> trouble, >>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>> >>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>> on the >>>>>>>>>> core reflection API: >>>>>>>>>> >>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>> directly, by >>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>> >>>>>>>>> Note that this technique is used in various other regression >>>>>>>>> tests in >>>>>>>>> the JDK repository. For some recently-written small examples see >>>>>>>>> >>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>> >>>>>>>>>> >>>>>>>>>> - Second, embrace combinatorial testing rather than declaring a >>>>>>>>>> bunch >>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>> various >>>>>>>>>> locations. >>>>>>>>>> >>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>> these >>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve and >>>>>>>>>> Matherey to get background. To be clear, I will not sign off the >>>>>>>>>> type >>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>> >>>>>>>>> I concur that using combinatorial tests is appropriate for this >>>>>>>>> domain. The basic approach is to programatically generate both the >>>>>>>>> expected result and the code to test and verify that the computed >>>>>>>>> answer is consistent with the expected one. The regression tests >>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>> generated >>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>> >>>>>>>>> HTH, >>>>>>>>> >>>>>>>>> -Joe >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Alex >>>>>>>>>> >>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>> OK, thanks. >>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract the >>>>>>>>>>> common >>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>> two of >>>>>>>>>>> the >>>>>>>>>>> updated files (attached files) for review so I can get a quick >>>>>>>>>>> response. >>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>> possible. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Charlie >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>> it is >>>>>>>>>>>> easy >>>>>>>>>>>> to navigate. The problem is the body of the test() method in >>>>>>>>>>>> each >>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>> annotations, >>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>> every >>>>>>>>>>>> other >>>>>>>>>>>> test() method. >>>>>>>>>>>> >>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>> Please >>>>>>>>>>>> add >>>>>>>>>>>> comments to each source file to describe what the data provider >>>>>>>>>>>> represents. >>>>>>>>>>>> >>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>> short >>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>> looked at >>>>>>>>>>>> the previous version has no idea what changed and will have to >>>>>>>>>>>> look at >>>>>>>>>>>> everything again. >>>>>>>>>>>> >>>>>>>>>>>> Alex >>>>>>>>>>>> >>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>> tests? It >>>>>>>>>>>>> would >>>>>>>>>>>>> then have 1 unified data provider and test method, thus solve >>>>>>>>>>>>> the 2 >>>>>>>>>>>>> problems. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Charlie >>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>> I agree with Alex's first two comments. The code duplication >>>>>>>>>>>>>> for the >>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>> hard to >>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>> >>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>> Please provide comments as soon as possible now that due >>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >>>>> >>> > From wdietl at gmail.com Fri Aug 2 18:47:45 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 03 Aug 2013 01:47:45 +0000 Subject: hg: type-annotations/type-annotations/langtools: Add test for pretty printing type annotations. Clean up Printer. Message-ID: <20130803014800.6EA90485A8@hg.openjdk.java.net> Changeset: d37823a74cde Author: wmdietl Date: 2013-08-02 18:47 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d37823a74cde Add test for pretty printing type annotations. Clean up Printer. ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java + test/tools/javac/tree/TypeAnnotationsPretty.java From wdietl at gmail.com Fri Aug 2 18:52:45 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 2 Aug 2013 18:52:45 -0700 Subject: Printer/Pretty for type annotations Message-ID: I saw somebody else add a test for Pretty-printing Trees. I liked the idea and wanted something similar for type annotations. And I found problems, which are now fixed. Please have a look (and expand!) this test: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d37823a74cde All tests continued to pass as before for me. Do let me know if you see some unwanted change. Thanks, cu, WMD. -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Tue Aug 6 20:34:46 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:34:46 +0000 Subject: hg: type-annotations/type-annotations: 2 new changesets Message-ID: <20130807033447.424DE4864A@hg.openjdk.java.net> Changeset: 5eb3c1dc348f Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/5eb3c1dc348f Added tag jdk8-b101 for changeset 9f74a220677d ! .hgtags Changeset: 9253963974bc Author: wmdietl Date: 2013-08-06 20:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/9253963974bc Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Tue Aug 6 20:35:23 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:35:23 +0000 Subject: hg: type-annotations/type-annotations/langtools: 7 new changesets Message-ID: <20130807033551.B0D6D4864B@hg.openjdk.java.net> Changeset: 99b60bcf3862 Author: vromero Date: 2013-08-06 15:08 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/99b60bcf3862 8022186: javac generates dead code if a try with an empty body has a finalizer Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java Changeset: 051e64d0816e Author: jfranck Date: 2013-08-07 01:32 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/051e64d0816e 8009367: Wrong kind of name used in comparison in javax.lang.model code for repeatable annotations Reviewed-by: jjg, darcy ! src/share/classes/com/sun/tools/javac/model/JavacAnnoConstructs.java + test/tools/javac/processing/model/element/8009367/TestQualifiedNameUsed.java + test/tools/javac/processing/model/element/8009367/p/Q.java + test/tools/javac/processing/model/element/8009367/p/QQ.java + test/tools/javac/processing/model/element/8009367/p/R.java + test/tools/javac/processing/model/element/8009367/p/RR.java Changeset: 4c42fba7b0e7 Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/4c42fba7b0e7 Added tag jdk8-b101 for changeset 0324dbf07b0f ! .hgtags Changeset: 453a305e1165 Author: lana Date: 2013-08-06 10:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/453a305e1165 Merge Changeset: f3ea20a6e958 Author: lana Date: 2013-08-06 17:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f3ea20a6e958 Merge Changeset: b926dc251be8 Author: lana Date: 2013-08-06 17:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b926dc251be8 Merge Changeset: cae05c084e0f Author: wmdietl Date: 2013-08-06 20:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/cae05c084e0f Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/model/JavacAnnoConstructs.java From wdietl at gmail.com Tue Aug 6 20:36:27 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:36:27 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 3 new changesets Message-ID: <20130807033641.D0B0B4864E@hg.openjdk.java.net> Changeset: b8cd8b101ecb Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/b8cd8b101ecb Added tag jdk8-b101 for changeset 0a7432f898e5 ! .hgtags Changeset: 7cffafa606e9 Author: lana Date: 2013-08-06 10:02 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/7cffafa606e9 Merge Changeset: 9a5705ded44a Author: wmdietl Date: 2013-08-06 20:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/9a5705ded44a Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Tue Aug 6 20:36:53 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:36:53 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 2 new changesets Message-ID: <20130807033702.55B204864F@hg.openjdk.java.net> Changeset: 988a5f2ac559 Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/988a5f2ac559 Added tag jdk8-b101 for changeset 60b623a36164 ! .hgtags Changeset: c057b728c511 Author: wmdietl Date: 2013-08-06 20:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/c057b728c511 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Tue Aug 6 20:39:49 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:39:49 +0000 Subject: hg: type-annotations/type-annotations/nashorn: 5 new changesets Message-ID: <20130807033957.B7DF048650@hg.openjdk.java.net> Changeset: 0ad00ae4fec6 Author: hannesw Date: 2013-08-01 12:23 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/0ad00ae4fec6 8020132: Big object literal with numerical keys exceeds method size Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/SpillObjectCreator.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java + test/script/basic/JDK-8020132.js + test/script/basic/JDK-8020132.js.EXPECTED Changeset: bb0f3c896cb7 Author: sundar Date: 2013-08-06 13:10 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/bb0f3c896cb7 Merge Changeset: 573ccf92d646 Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/573ccf92d646 Added tag jdk8-b101 for changeset a302b05d0ee4 ! .hgtags Changeset: e966ff0a3ffe Author: lana Date: 2013-08-06 10:02 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/e966ff0a3ffe Merge Changeset: ab90c566272d Author: lana Date: 2013-08-06 17:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/ab90c566272d Merge From wdietl at gmail.com Tue Aug 6 20:38:08 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:38:08 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 62 new changesets Message-ID: <20130807034030.7649A48651@hg.openjdk.java.net> Changeset: 2285b4a0a4e6 Author: amurillo Date: 2013-07-18 09:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2285b4a0a4e6 8020797: new hotspot build - hs25-b43 Reviewed-by: jcoomes ! make/hotspot_version Changeset: dbc0b5dc08f5 Author: fparain Date: 2013-07-10 15:49 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/dbc0b5dc08f5 7143807: ResourceMark nesting problem in stringStream Reviewed-by: kvn, dcubed ! src/share/vm/memory/resourceArea.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: c9a5fab39234 Author: zgu Date: 2013-07-11 13:15 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c9a5fab39234 8012241: NMT huge memory footprint, it usually leads to OOME Summary: Enforce memory limitation on NMT to prevent JVM OOM Reviewed-by: acorn, dcubed, minqi ! src/share/vm/services/memTracker.cpp Changeset: 5f056abe17c6 Author: zgu Date: 2013-07-12 04:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5f056abe17c6 Merge Changeset: 2e8f19c2feef Author: allwin Date: 2013-07-12 18:43 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2e8f19c2feef 7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand Summary: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand Reviewed-by: dcubed, dholmes, sspitsyn, mgerdin, ctornqvi, dsamersoff ! src/os/bsd/vm/attachListener_bsd.cpp ! src/os/linux/vm/attachListener_linux.cpp ! src/os/solaris/vm/attachListener_solaris.cpp ! src/os/windows/vm/attachListener_windows.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/attachListener.hpp + test/serviceability/attach/AttachWithStalePidFile.java + test/serviceability/attach/AttachWithStalePidFileTarget.java Changeset: c0cb474be37e Author: ctornqvi Date: 2013-07-12 20:47 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c0cb474be37e Merge Changeset: 862625d214fa Author: fparain Date: 2013-07-15 00:23 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/862625d214fa Merge Changeset: 23123fc6968a Author: rbackman Date: 2013-07-15 11:35 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/23123fc6968a 8019324: assert(_f2 == 0 || _f2 == f2) failed: illegal field change Reviewed-by: dholmes, rbackman Contributed-by: David Simms ! src/share/vm/oops/cpCache.hpp Changeset: ee9e76adced3 Author: rbackman Date: 2013-07-15 12:06 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ee9e76adced3 Merge Changeset: 33c52908bcdb Author: dholmes Date: 2013-07-15 23:23 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/33c52908bcdb 8015759: hotspot changes needed to compile with Visual Studio 2012 Reviewed-by: anthony, dholmes, dcubed Contributed-by: Tim Bell ! make/windows/makefiles/compile.make ! make/windows/makefiles/sanity.make ! make/windows/makefiles/vm.make ! src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp Changeset: 39deebbc90b3 Author: mgerdin Date: 2013-07-16 07:33 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/39deebbc90b3 6671508: JNI GetPrimitiveArrayCritical should not be callable on object arrays Summary: Checked JNI now reports error for Get/ReleasePrimitiveArrayCritical on object arrays Reviewed-by: dholmes, acorn Contributed-by: david.simms at oracle.com ! src/share/vm/prims/jniCheck.cpp Changeset: e619a2766bcc Author: rbackman Date: 2013-06-12 11:17 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e619a2766bcc 8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' Reviewed-by: jrose, kvn, mgronlun ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 732af649bc3a Author: ccheung Date: 2013-07-17 12:22 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/732af649bc3a 8017498: JVM crashes when native code calls sigaction(sig) where sig>=0x20 Summary: Added (sig < MAXSIGNUM) check in jsig.c Reviewed-by: dholmes, acorn ! src/os/linux/vm/jsig.c + test/runtime/jsig/Test8017498.sh + test/runtime/jsig/TestJNI.c + test/runtime/jsig/TestJNI.java Changeset: 825e6cb66923 Author: jiangli Date: 2013-07-17 18:06 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/825e6cb66923 8020309: Eliminate InstanceKlass::_cached_class_file_len. Summary: Use JvmtiCachedClassFileData. Reviewed-by: iklam, sspitsyn, dcubed ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: 6388dbc4b7ca Author: jiangli Date: 2013-07-17 17:14 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6388dbc4b7ca Merge Changeset: c29568b733d2 Author: dholmes Date: 2013-07-18 06:47 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c29568b733d2 8020697: jniCheck.cpp:check_is_obj_array asserts on TypeArrayKlass::cast(aOop->klass()) Reviewed-by: dcubed, fparain, dholmes Contributed-by: David Simms ! src/share/vm/prims/jniCheck.cpp Changeset: 5e3b6f79d280 Author: rbackman Date: 2013-07-17 13:48 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5e3b6f79d280 8020701: Avoid crashes in WatcherThread Reviewed-by: acorn, dcubed, dsimms ! src/os/posix/vm/os_posix.cpp ! src/os/posix/vm/os_posix.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 248c459b2b75 Author: dcubed Date: 2013-07-18 12:05 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/248c459b2b75 Merge ! src/share/vm/services/memTracker.cpp Changeset: af21010d1062 Author: dcubed Date: 2013-07-18 12:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/af21010d1062 Merge ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/runtime/os.hpp Changeset: 02d7aa1456c9 Author: ccheung Date: 2013-07-18 14:57 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/02d7aa1456c9 8004872: Early loading of HashMap and StringValue under -XX:+AggressiveOpts can be removed Summary: this fix also removes the -XX:+UseStringCache option Reviewed-by: dholmes, acorn, iklam ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp Changeset: 383a5e21cc2d Author: minqi Date: 2013-07-18 18:00 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/383a5e21cc2d Merge Changeset: 060ae9b7ffea Author: mgronlun Date: 2013-07-19 17:56 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/060ae9b7ffea 8020547: Event based tracing needs a UNICODE string type Reviewed-by: egahlin, rbackman, dcubed, brutisso, acorn ! src/share/vm/trace/traceDataTypes.hpp ! src/share/vm/trace/tracetypes.xml ! src/share/vm/trace/xinclude.mod Changeset: 4614a598dae1 Author: minqi Date: 2013-07-19 08:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4614a598dae1 8016538: volatile double access via Unsafe.cpp is not atomic Summary: volatile jdouble load/store is not atomic, fix by using of existing volatile jlong operations which are atomic for jdouble. Reviewed-by: kvn, vladidan, jrose Contributed-by: david.holmes at oracle.com ! src/os_cpu/bsd_x86/vm/orderAccess_bsd_x86.inline.hpp ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp Changeset: 55a61ceb2fe7 Author: minqi Date: 2013-07-19 11:17 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/55a61ceb2fe7 Merge Changeset: 16511b7e3d35 Author: emc Date: 2013-07-22 17:57 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/16511b7e3d35 8019632: Method parameters are not copied in clone_with_new_data Summary: Add code to copy method parameters data in clone_with_new_data Reviewed-by: coleenp, sspitsyn ! src/share/vm/oops/method.cpp Changeset: 72727c4b6dec Author: ccheung Date: 2013-07-19 14:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/72727c4b6dec 8020791: [TESTBUG] runtime/jsig/Test8017498.sh failed to compile native code Summary: Added -DLINUX to the gcc command and improved the .sh script Reviewed-by: dcubed, dholmes, minqi ! test/runtime/jsig/Test8017498.sh ! test/runtime/jsig/TestJNI.c Changeset: 5165d659cebd Author: minqi Date: 2013-07-22 22:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5165d659cebd Merge Changeset: c0f353803b47 Author: minqi Date: 2013-07-23 12:50 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c0f353803b47 Merge Changeset: c90c698831d7 Author: kvn Date: 2013-07-12 14:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c90c698831d7 8020215: Different execution plan when using JIT vs interpreter Summary: fix bytecode analyzer Reviewed-by: twisti ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp + test/compiler/EscapeAnalysis/Test8020215.java Changeset: fcf521c3fbc6 Author: kvn Date: 2013-07-12 14:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/fcf521c3fbc6 8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier() Summary: generate one "fat" membar instead of set of barriers for volitile store Reviewed-by: roland ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/parse3.cpp + test/compiler/membars/DekkerTest.java Changeset: 34ce0b5acb81 Author: morris Date: 2013-07-15 06:27 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/34ce0b5acb81 Merge Changeset: 0f57ccdb9084 Author: kvn Date: 2013-07-15 10:28 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0f57ccdb9084 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls Summary: remove StubRoutines::x86::_mxcsr_std and use StubRoutines::_mxcsr_std Reviewed-by: jrose ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp + test/compiler/cpuflags/RestoreMXCSR.java Changeset: 46a90f83df31 Author: morris Date: 2013-07-19 13:59 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/46a90f83df31 Merge ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 6efedc114807 Author: morris Date: 2013-07-24 13:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6efedc114807 Merge Changeset: 01aa164323fa Author: dholmes Date: 2013-07-24 19:23 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/01aa164323fa 8020799: Allow customization of hotspot source directories and files Reviewed-by: kvn, dlong ! make/linux/makefiles/vm.make Changeset: a4b9a8ec8f4a Author: jiangli Date: 2013-07-25 18:12 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a4b9a8ec8f4a Merge Changeset: 46487ba40ff2 Author: amurillo Date: 2013-07-26 03:48 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/46487ba40ff2 Merge Changeset: f6921c876db1 Author: amurillo Date: 2013-07-26 03:48 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f6921c876db1 Added tag hs25-b43 for changeset 46487ba40ff2 ! .hgtags Changeset: 7c9885d23744 Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7c9885d23744 Added tag jdk8-b101 for changeset f6921c876db1 ! .hgtags Changeset: e84845884c85 Author: amurillo Date: 2013-07-26 04:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e84845884c85 8021566: new hotspot build - hs25-b44 Reviewed-by: jcoomes ! make/hotspot_version Changeset: d90d1b96b65b Author: kvn Date: 2013-07-26 12:37 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d90d1b96b65b 8008938: TieredCompilation should be default Summary: switch on TieredCompilation by default Reviewed-by: twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 1b6395189726 Author: minqi Date: 2013-07-19 14:43 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1b6395189726 8012263: ciReplay: gracefully exit & report meaningful error when replay data parsing fails Summary: find_method could return NULL so need explicitly check if there is error after parse_method, exit on error to avoid crash. Reviewed-by: kvn, twisti Contributed-by: yumin.qi at oracle.com ! src/share/vm/ci/ciReplay.cpp Changeset: 5ad7f8179bf7 Author: minqi Date: 2013-07-24 08:04 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5ad7f8179bf7 Merge Changeset: b6baf306e698 Author: fparain Date: 2013-07-26 05:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b6baf306e698 Merge Changeset: 83ca9dc4564d Author: fparain Date: 2013-07-26 15:24 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/83ca9dc4564d 8019845: Memory leak during class redefinition Reviewed-by: acorn, jmasa, coleenp, dcubed, mgerdin ! src/share/vm/memory/metaspace.cpp Changeset: f9ee986a9fea Author: ccheung Date: 2013-07-30 14:14 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases Summary: Added checking for gcc and simplified the sig_handler() in the test case Reviewed-by: dcubed, coleenp, minqi, dlong ! test/runtime/6929067/Test6929067.sh ! test/runtime/7107135/Test7107135.sh ! test/runtime/jsig/Test8017498.sh ! test/runtime/jsig/TestJNI.c Changeset: 0f98cc013b21 Author: fparain Date: 2013-07-31 08:28 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0f98cc013b21 Merge Changeset: c65045599519 Author: dholmes Date: 2013-07-25 21:05 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c65045599519 8021314: minimal1.make needs to force off components not supported by the minimal VM Reviewed-by: coleenp, bpittore ! make/bsd/makefiles/minimal1.make ! make/linux/makefiles/minimal1.make Changeset: 078e5eb2e52e Author: clucasius Date: 2013-07-27 17:23 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/078e5eb2e52e Merge Changeset: da839a3c5735 Author: dholmes Date: 2013-07-31 19:05 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/da839a3c5735 Merge Changeset: e3c8767c5cf8 Author: tschatzl Date: 2013-07-24 10:07 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e3c8767c5cf8 8020123: Test gc/g1/TestPrintRegionRememberedSetInfo.java fails with "test result: Error. No action after @build" Summary: Remove the @build tag and replace it by a @run tag so that the test gets executed Reviewed-by: brutisso, mgerdin ! test/gc/g1/TestPrintRegionRememberedSetInfo.java Changeset: 7b06ae405d7b Author: jmasa Date: 2013-07-23 09:49 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7b06ae405d7b 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses Reviewed-by: rasbold, tschatzl, jmasa Contributed-by: yamauchi at google.com ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/runtime/globals.hpp Changeset: fb7010c7c011 Author: jmasa Date: 2013-07-25 07:02 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/fb7010c7c011 Merge Changeset: ca9dedeebdec Author: jmasa Date: 2013-07-25 11:07 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ca9dedeebdec 6412968: CMS Long initial mark pauses Reviewed-by: rasbold, tschatzl, jmasa Contributed-by: yamauchi at google.com ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/runtime/globals.hpp Changeset: 8796fd3ac898 Author: tamao Date: 2013-07-26 13:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/8796fd3ac898 Merge ! src/share/vm/runtime/globals.hpp Changeset: 313227279a05 Author: brutisso Date: 2013-08-01 07:03 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/313227279a05 8021967: Deprecate -XX:DefaultMaxRAMFraction Reviewed-by: tschatzl, jmasa, kvn, tamao ! src/share/vm/runtime/arguments.cpp + test/gc/startup_warnings/TestDefaultMaxRAMFraction.java Changeset: dae8324fc7d1 Author: brutisso Date: 2013-08-01 09:35 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/dae8324fc7d1 8021879: G1: G1HeapRegionSize flag value not updated correctly Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/heapRegion.cpp + test/gc/arguments/TestG1HeapRegionSize.java Changeset: 8d4ff57af591 Author: brutisso Date: 2013-08-01 17:29 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/8d4ff57af591 8022051: G1: Remove some unused G1 flags Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 69d0dbb53c78 Author: tamao Date: 2013-08-01 17:17 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/69d0dbb53c78 Merge Changeset: 530fe88b3b2c Author: amurillo Date: 2013-08-02 02:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/530fe88b3b2c Merge Changeset: c4697c1c4484 Author: amurillo Date: 2013-08-02 02:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c4697c1c4484 Added tag hs25-b44 for changeset 530fe88b3b2c ! .hgtags Changeset: 2065e1e3eded Author: wmdietl Date: 2013-08-06 20:38 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2065e1e3eded Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From charlie.wang at oracle.com Tue Aug 6 20:49:07 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Wed, 07 Aug 2013 11:49:07 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <51FC46F5.7010101@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> Message-ID: <5201C3B3.3080708@oracle.com> Alex, Thank you for the careful checking. You can add/remove/change annotationCombinations in AnnotationTest, as long as the string are legal annotations. And as to the other comments, I've updated my code. Please take a look again. http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ - Charlie On 2013/8/3 7:55, Alex Buckley wrote: > Hi Charlie, > > This is much more understandable with the *.txt files, but still seems > brittle. What would happen if you added a new String to > annotationCombinations in AnnotationTest, or changed an existing > String? Helper.Declaration is very precise about how many annotations > are used. > > Also: > > - Some source files like TestCaseGenerator.java have text before the > license comment, which I'm pretty sure is a no-no. > > - The introductory comment in each *Test class refers to > annotationCombinations, but it would help to say > AnnotationTest.annotationCombinations. > > - Sometimes the TestCase enum is private for no reason. > > - Many checkResult methods have code which could be shared. > > - The GenTestCode methods are strange. Each has to step through the > TestCase values very carefully, and it's weird to see an enhanced-for > loop with a counter variable (i). You should pass any values needed by > TestCase.genTestCase to the constructor of the enum constant. > > Alex > > On 7/31/2013 8:03 PM, Charlie Wang wrote: >> Hi Alex, >> I've put a *.txt file for each of the tests. >> Also there has been some update on the code: >> 1. final fiels declaration, >> 2. extraction of the field "lhm" into TestCaseGenerator, >> 3. removal of some redundant code, >> 4. replace StringBuffer with StringBuilder because synchronization is >> implemented outside, >> 5. removal of some unused imports, >> 6. extraction of common parts into methods. >> >> Here's the test: >> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >> Sorry for the long gap since your last review comments. Tried to make >> some big improvements on the code. >> >> >> >> Thanks, >> Charlie >> >> On 2013/6/20 7:21, Alex Buckley wrote: >>> - Please provide a text file for the generated code of each >>> java/lang/* test. >>> >>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>> should be called DeclarationGenerator. That's what it generates: >>> declarations of classes, interfaces, fields, etc which are gathered up >>> by the test case generators. Helper.SrcType should be called >>> Helper.Declaration. The name of an enum type should describe what kind >>> of things are represented by the enum constants, which here means >>> declarations (of classes, interfaces, fields, etc). And you have a >>> method called "genTestCode" in Helper as well as a method called >>> "GenTestCode" in each test file (e.g. >>> ClassGetAnnotatedInterfaceTest.java). >>> >>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>> the declaration of an annotation type (to be part of a test case) >>> _and_ an annotation (to be applied wherever #ANNO appears in the >>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>> >>> - There is too much duplication in the java/lang/* classes, and >>> generally too much use of static fields. These classes should each be >>> a subclass of an abstract class AnnotationTest, which declares test() >>> and the bulk of the code in checkResult(). AnnotationTest should have >>> a variable "annotationCombinations" (not "annoComb") to enumerate the >>> annotations to be applied. >>> >>> - Raw type Map in signature of Helper#genTestCode. >>> >>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >>> >>> - @author should be a full name, not a first name. >>> >>> Alex >>> >>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>> Hi, >>>> Please review type annotation reflection test. Updated >>>> according to >>>> Alex's comments. >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>> >>>> Here's test result: >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>> >>>> >>>> >>>> Regards, >>>> Charlie >>>> >>>> >>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>> Did you see my last review email? >>>>> >>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>> >>>>> >>>>> >>>>> >>>>> The webrev appears unchanged since the last time you sent its URL. >>>>> Not >>>>> sure what to say about the text file showing test runs... >>>>> >>>>> Alex >>>>> >>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>> Hi, >>>>>> Please review type annotation reflection test. >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>> >>>>>> Here's test result: >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>> >>>>>> >>>>>> Regards, >>>>>> Charlie >>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>> Hi, >>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>> Please >>>>>>> review. >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Charlie >>>>>>> >>>>>>> >>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>> Hi Charlie, >>>>>>>> >>>>>>>> First, I think there is some clever stuff going on here, but it's >>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>> comments >>>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>>> Helper.SrcType supports that with search-and-replace on keys like >>>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>>> looking for paragraphs that can be added to your code's javadoc >>>>>>>> and >>>>>>>> be useful to someone in ten years time. >>>>>>>> >>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>> constant >>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>> >>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>> should be >>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be PACKAGE_ANNOTATION_1. >>>>>>>> And >>>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>>> >>>>>>>> Alex >>>>>>>> >>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>> Hi, >>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>> according to >>>>>>>>> comments. If OK, I will update the rest of the tests and publish >>>>>>>>> for >>>>>>>>> review. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Charlie >>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>> annotation >>>>>>>>>>> types into TestUtil, so that any individual test will primarily >>>>>>>>>>> be a >>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>> >>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>> providers >>>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>>> determines which values should pass the tests and which values >>>>>>>>>>> should >>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>> values of >>>>>>>>>>> annotations which are expected to appear at various locations - >>>>>>>>>>> this >>>>>>>>>>> is output data, not input data. >>>>>>>>>>> >>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>> annotations in >>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>> indexing of >>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>> excessive >>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>> >>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>> stateless >>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>> trouble, >>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>> >>>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>>> on the >>>>>>>>>>> core reflection API: >>>>>>>>>>> >>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>> directly, by >>>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>>> >>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>> tests in >>>>>>>>>> the JDK repository. For some recently-written small examples see >>>>>>>>>> >>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Second, embrace combinatorial testing rather than declaring a >>>>>>>>>>> bunch >>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>>> various >>>>>>>>>>> locations. >>>>>>>>>>> >>>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>>> these >>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve and >>>>>>>>>>> Matherey to get background. To be clear, I will not sign off >>>>>>>>>>> the >>>>>>>>>>> type >>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>> >>>>>>>>>> I concur that using combinatorial tests is appropriate for this >>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>> both the >>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>> computed >>>>>>>>>> answer is consistent with the expected one. The regression tests >>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>> generated >>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>> >>>>>>>>>> HTH, >>>>>>>>>> >>>>>>>>>> -Joe >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Alex >>>>>>>>>>> >>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>> OK, thanks. >>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract the >>>>>>>>>>>> common >>>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>> two of >>>>>>>>>>>> the >>>>>>>>>>>> updated files (attached files) for review so I can get a quick >>>>>>>>>>>> response. >>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>> possible. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Charlie >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>>> it is >>>>>>>>>>>>> easy >>>>>>>>>>>>> to navigate. The problem is the body of the test() method in >>>>>>>>>>>>> each >>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>> annotations, >>>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>>> every >>>>>>>>>>>>> other >>>>>>>>>>>>> test() method. >>>>>>>>>>>>> >>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>> Please >>>>>>>>>>>>> add >>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>> provider >>>>>>>>>>>>> represents. >>>>>>>>>>>>> >>>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>>> short >>>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>>> looked at >>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>> have to >>>>>>>>>>>>> look at >>>>>>>>>>>>> everything again. >>>>>>>>>>>>> >>>>>>>>>>>>> Alex >>>>>>>>>>>>> >>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>> would >>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>> solve >>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>> problems. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>> Please provide comments as soon as possible now that >>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>> >> From charlie.wang at oracle.com Tue Aug 6 20:49:28 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Wed, 07 Aug 2013 11:49:28 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <51FC46F5.7010101@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> Message-ID: <5201C3C8.4000601@oracle.com> Alex, Thank you for the careful checking. You can add/remove/change annotationCombinations in AnnotationTest, as long as the strings are legal annotations. And as to the other comments, I've updated my code. Please take a look again. http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ - Charlie On 2013/8/3 7:55, Alex Buckley wrote: > Hi Charlie, > > This is much more understandable with the *.txt files, but still seems > brittle. What would happen if you added a new String to > annotationCombinations in AnnotationTest, or changed an existing > String? Helper.Declaration is very precise about how many annotations > are used. > > Also: > > - Some source files like TestCaseGenerator.java have text before the > license comment, which I'm pretty sure is a no-no. > > - The introductory comment in each *Test class refers to > annotationCombinations, but it would help to say > AnnotationTest.annotationCombinations. > > - Sometimes the TestCase enum is private for no reason. > > - Many checkResult methods have code which could be shared. > > - The GenTestCode methods are strange. Each has to step through the > TestCase values very carefully, and it's weird to see an enhanced-for > loop with a counter variable (i). You should pass any values needed by > TestCase.genTestCase to the constructor of the enum constant. > > Alex > > On 7/31/2013 8:03 PM, Charlie Wang wrote: >> Hi Alex, >> I've put a *.txt file for each of the tests. >> Also there has been some update on the code: >> 1. final fiels declaration, >> 2. extraction of the field "lhm" into TestCaseGenerator, >> 3. removal of some redundant code, >> 4. replace StringBuffer with StringBuilder because synchronization is >> implemented outside, >> 5. removal of some unused imports, >> 6. extraction of common parts into methods. >> >> Here's the test: >> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >> Sorry for the long gap since your last review comments. Tried to make >> some big improvements on the code. >> >> >> >> Thanks, >> Charlie >> >> On 2013/6/20 7:21, Alex Buckley wrote: >>> - Please provide a text file for the generated code of each >>> java/lang/* test. >>> >>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>> should be called DeclarationGenerator. That's what it generates: >>> declarations of classes, interfaces, fields, etc which are gathered up >>> by the test case generators. Helper.SrcType should be called >>> Helper.Declaration. The name of an enum type should describe what kind >>> of things are represented by the enum constants, which here means >>> declarations (of classes, interfaces, fields, etc). And you have a >>> method called "genTestCode" in Helper as well as a method called >>> "GenTestCode" in each test file (e.g. >>> ClassGetAnnotatedInterfaceTest.java). >>> >>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>> the declaration of an annotation type (to be part of a test case) >>> _and_ an annotation (to be applied wherever #ANNO appears in the >>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>> >>> - There is too much duplication in the java/lang/* classes, and >>> generally too much use of static fields. These classes should each be >>> a subclass of an abstract class AnnotationTest, which declares test() >>> and the bulk of the code in checkResult(). AnnotationTest should have >>> a variable "annotationCombinations" (not "annoComb") to enumerate the >>> annotations to be applied. >>> >>> - Raw type Map in signature of Helper#genTestCode. >>> >>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >>> >>> - @author should be a full name, not a first name. >>> >>> Alex >>> >>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>> Hi, >>>> Please review type annotation reflection test. Updated >>>> according to >>>> Alex's comments. >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>> >>>> Here's test result: >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>> >>>> >>>> >>>> Regards, >>>> Charlie >>>> >>>> >>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>> Did you see my last review email? >>>>> >>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>> >>>>> >>>>> >>>>> >>>>> The webrev appears unchanged since the last time you sent its URL. >>>>> Not >>>>> sure what to say about the text file showing test runs... >>>>> >>>>> Alex >>>>> >>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>> Hi, >>>>>> Please review type annotation reflection test. >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>> >>>>>> Here's test result: >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>> >>>>>> >>>>>> Regards, >>>>>> Charlie >>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>> Hi, >>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>> Please >>>>>>> review. >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Charlie >>>>>>> >>>>>>> >>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>> Hi Charlie, >>>>>>>> >>>>>>>> First, I think there is some clever stuff going on here, but it's >>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>> comments >>>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>>> Helper.SrcType supports that with search-and-replace on keys like >>>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>>> looking for paragraphs that can be added to your code's javadoc >>>>>>>> and >>>>>>>> be useful to someone in ten years time. >>>>>>>> >>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>> constant >>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>> >>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>> should be >>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be PACKAGE_ANNOTATION_1. >>>>>>>> And >>>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>>> >>>>>>>> Alex >>>>>>>> >>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>> Hi, >>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>> according to >>>>>>>>> comments. If OK, I will update the rest of the tests and publish >>>>>>>>> for >>>>>>>>> review. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Charlie >>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>> annotation >>>>>>>>>>> types into TestUtil, so that any individual test will primarily >>>>>>>>>>> be a >>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>> >>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>> providers >>>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>>> determines which values should pass the tests and which values >>>>>>>>>>> should >>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>> values of >>>>>>>>>>> annotations which are expected to appear at various locations - >>>>>>>>>>> this >>>>>>>>>>> is output data, not input data. >>>>>>>>>>> >>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>> annotations in >>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>> indexing of >>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>> excessive >>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>> >>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>> stateless >>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>> trouble, >>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>> >>>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>>> on the >>>>>>>>>>> core reflection API: >>>>>>>>>>> >>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>> directly, by >>>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>>> >>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>> tests in >>>>>>>>>> the JDK repository. For some recently-written small examples see >>>>>>>>>> >>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - Second, embrace combinatorial testing rather than declaring a >>>>>>>>>>> bunch >>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>>> various >>>>>>>>>>> locations. >>>>>>>>>>> >>>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>>> these >>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve and >>>>>>>>>>> Matherey to get background. To be clear, I will not sign off >>>>>>>>>>> the >>>>>>>>>>> type >>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>> >>>>>>>>>> I concur that using combinatorial tests is appropriate for this >>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>> both the >>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>> computed >>>>>>>>>> answer is consistent with the expected one. The regression tests >>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>> generated >>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>> >>>>>>>>>> HTH, >>>>>>>>>> >>>>>>>>>> -Joe >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Alex >>>>>>>>>>> >>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>> OK, thanks. >>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract the >>>>>>>>>>>> common >>>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>> two of >>>>>>>>>>>> the >>>>>>>>>>>> updated files (attached files) for review so I can get a quick >>>>>>>>>>>> response. >>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>> possible. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Charlie >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>>> it is >>>>>>>>>>>>> easy >>>>>>>>>>>>> to navigate. The problem is the body of the test() method in >>>>>>>>>>>>> each >>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>> annotations, >>>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>>> every >>>>>>>>>>>>> other >>>>>>>>>>>>> test() method. >>>>>>>>>>>>> >>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>> Please >>>>>>>>>>>>> add >>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>> provider >>>>>>>>>>>>> represents. >>>>>>>>>>>>> >>>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>>> short >>>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>>> looked at >>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>> have to >>>>>>>>>>>>> look at >>>>>>>>>>>>> everything again. >>>>>>>>>>>>> >>>>>>>>>>>>> Alex >>>>>>>>>>>>> >>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>> would >>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>> solve >>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>> problems. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>> Please provide comments as soon as possible now that >>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>> >> From wdietl at gmail.com Tue Aug 6 20:36:10 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:36:10 +0000 Subject: hg: type-annotations/type-annotations/corba: 4 new changesets Message-ID: <20130807033615.0413B4864C@hg.openjdk.java.net> Changeset: cc11a0efb4f9 Author: aefimov Date: 2013-08-01 14:59 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/cc11a0efb4f9 8015987: The corba repo contains unneeded .sjava files Reviewed-by: alanb, chegar, coffeys - src/share/classes/com/sun/corba/se/impl/copyobject/JavaInputStream.sjava - src/share/classes/com/sun/corba/se/impl/copyobject/JavaOutputStream.sjava - src/share/classes/com/sun/corba/se/impl/interceptors/ThreadCurrentStack.sjava - src/share/classes/com/sun/corba/se/impl/orbutil/DefineWrapper.sjava - src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl_save.sjava - src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLTypesUtil_save.sjava - src/share/classes/com/sun/corba/se/impl/protocol/oldlocal/LocalClientRequestImpl.sjava - src/share/classes/com/sun/corba/se/impl/protocol/oldlocal/LocalClientResponseImpl.sjava - src/share/classes/com/sun/corba/se/impl/protocol/oldlocal/LocalServerRequestImpl.sjava - src/share/classes/com/sun/corba/se/impl/protocol/oldlocal/LocalServerResponseImpl.sjava - src/share/classes/com/sun/corba/se/impl/transport/BufferConnectionImpl.sjava Changeset: 528c7e76eaee Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/528c7e76eaee Added tag jdk8-b101 for changeset a013024b0747 ! .hgtags Changeset: 342a954b68f3 Author: lana Date: 2013-08-06 16:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/342a954b68f3 Merge Changeset: c73368fd5cf4 Author: wmdietl Date: 2013-08-06 20:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/c73368fd5cf4 Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Tue Aug 6 20:37:36 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 07 Aug 2013 03:37:36 +0000 Subject: hg: type-annotations/type-annotations/jdk: 65 new changesets Message-ID: <20130807035132.C3E5C48652@hg.openjdk.java.net> Changeset: c49b538ef054 Author: chegar Date: 2013-08-01 12:38 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c49b538ef054 8022061: More ProblemList.txt updates (7/2013) Reviewed-by: alanb, psandoz ! test/ProblemList.txt Changeset: 36f4cf8872f3 Author: igerasim Date: 2013-07-30 21:11 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/36f4cf8872f3 7192942: (coll) Inefficient calculation of power of two in HashMap Reviewed-by: mduigou ! src/share/classes/java/util/HashMap.java Changeset: 54329c24c2f4 Author: igerasim Date: 2013-07-29 12:35 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/54329c24c2f4 8020669: (fs) Files.readAllBytes() does not read any data when Files.size() is 0 Reviewed-by: alanb, chegar, martin, rriggs ! src/share/classes/java/nio/file/Files.java ! test/java/nio/file/Files/BytesAndLines.java Changeset: d6de149b9f20 Author: xuelei Date: 2013-08-01 07:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d6de149b9f20 7127524: P11TlsPrfGenerator has anonymous inner class with serialVersionUID Reviewed-by: vinnie ! src/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java Changeset: cd13a4a45a37 Author: chegar Date: 2013-08-01 16:53 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cd13a4a45a37 8022087: Fix doclint issues in j.u.Deque & Queue Reviewed-by: chegar, darcy Contributed-by: Doug Lea
! src/share/classes/java/util/Deque.java ! src/share/classes/java/util/Queue.java Changeset: 0be7839d4599 Author: psandoz Date: 2013-08-01 15:28 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0be7839d4599 8020016: Numerous splitereator impls do not throw NPE for null Consumers Reviewed-by: mduigou, alanb, henryjen ! src/share/classes/java/util/stream/SpinedBuffer.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! src/share/classes/java/util/stream/Streams.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java Changeset: 29f153e11683 Author: weijun Date: 2013-08-02 08:59 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/29f153e11683 8021789: jarsigner parses alias as command line option (depending on locale) Reviewed-by: vinnie ! src/share/classes/sun/security/tools/jarsigner/Main.java + test/sun/security/tools/jarsigner/collator.sh Changeset: 40221b09812f Author: uta Date: 2013-08-02 13:16 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/40221b09812f 8020191: System.getProperty("os.name") returns "Windows NT (unknown)" on Windows 8.1 Reviewed-by: alanb, khazra, chegar ! src/windows/native/java/lang/java_props_md.c ! src/windows/resource/java.manifest Changeset: 60c275e56a69 Author: chegar Date: 2013-08-02 11:25 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/60c275e56a69 8022121: Remove superfluous @test tag from SpliteratorTraversingAndSplittingTest Reviewed-by: psandoz ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java Changeset: 6ec910ff3ea1 Author: chegar Date: 2013-08-02 14:29 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6ec910ff3ea1 8020291: j.u.c.CompletionStage 8020435: CompletableFuture/Basic.java fails on single core machine Reviewed-by: chegar, psandoz Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/CompletableFuture.java + src/share/classes/java/util/concurrent/CompletionStage.java ! test/ProblemList.txt ! test/java/util/concurrent/CompletableFuture/Basic.java Changeset: 42b786f2fb99 Author: mullan Date: 2013-08-02 08:30 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/42b786f2fb99 8001319: Add SecurityPermission "insertProvider" target name Reviewed-by: vinnie ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java + test/java/security/Security/AddProvider.java + test/java/security/Security/AddProvider.policy.1 + test/java/security/Security/AddProvider.policy.2 + test/java/security/Security/AddProvider.policy.3 Changeset: 7bbc6c2351d7 Author: mullan Date: 2013-08-02 08:37 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7bbc6c2351d7 Merge - src/share/classes/java/net/package.html - src/share/classes/java/util/stream/StreamBuilder.java - src/share/classes/javax/security/auth/callback/package.html - src/share/classes/javax/security/auth/kerberos/package.html - src/share/classes/javax/security/auth/login/package.html - src/share/classes/javax/security/auth/package.html - src/share/classes/javax/security/auth/spi/package.html - src/share/classes/javax/security/auth/x500/package.html - src/share/classes/javax/security/cert/package.html - src/share/classes/javax/security/sasl/package.html - test/java/util/Collections/EmptySortedSet.java Changeset: 0a778e487a73 Author: mullan Date: 2013-08-02 09:38 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0a778e487a73 Merge Changeset: 33617583c545 Author: bpb Date: 2013-07-31 10:53 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/33617583c545 6476168: (fmt) Inconsistency formatting subnormal doubles with hexadecimal conversion Summary: Update specification to match implementation. Reviewed-by: darcy Contributed-by: Brian Burkhalter ! src/share/classes/java/util/Formatter.java ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicDouble.java Changeset: 883cc296ec89 Author: bchristi Date: 2013-08-02 15:30 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/883cc296ec89 8011194: Apps launched via double-clicked .jars have file.encoding value of US-ASCII on Mac OS X Summary: On Mac, default to UTF-8 if no environmental hints are available Reviewed-by: naoto, ddehaven ! src/solaris/native/java/lang/java_props_md.c + test/java/lang/System/MacEncoding/ExpectedEncoding.java + test/java/lang/System/MacEncoding/MacJNUEncoding.sh + test/java/lang/System/MacEncoding/TestFileEncoding.java - test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java - test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh Changeset: dd1040690e31 Author: bpb Date: 2013-08-02 11:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/dd1040690e31 8022094: BigDecimal/CompareToTests and BigInteger/CompareToTests are incorrect Summary: Fail test if errors; fix test values; port BigDecimal version to BigInteger Reviewed-by: smarks, alanb Contributed-by: Brian Burkhalter ! test/java/math/BigDecimal/CompareToTests.java ! test/java/math/BigInteger/CompareToTests.java Changeset: 80da091343af Author: darcy Date: 2013-08-05 07:50 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/80da091343af 8022190: Fix varargs lint warnings in the JDK Reviewed-by: alanb, lancea, alexsch ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java ! src/share/classes/sun/swing/AccumulativeRunnable.java Changeset: 87367a1c7f76 Author: sundar Date: 2013-08-05 21:31 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/87367a1c7f76 8016531: jconsole-plugin script demo does not work with nashorn Reviewed-by: lagergren, hannesw Contributed-by: rieberandreas at gmail.com ! src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java ! src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js ! src/share/demo/scripting/jconsole-plugin/src/scripts/invoke.js ! src/share/demo/scripting/jconsole-plugin/src/scripts/jstack.js ! src/share/demo/scripting/jconsole-plugin/src/scripts/jtop.js ! src/share/demo/scripting/jconsole-plugin/src/scripts/sysprops.js ! src/share/sample/scripting/scriptpad/README.txt ! src/share/sample/scripting/scriptpad/src/resources/conc.js ! src/share/sample/scripting/scriptpad/src/resources/mm.js Changeset: 31759750ff63 Author: smarks Date: 2013-08-05 19:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/31759750ff63 8020854: change RMI javadocs to specify that remote objects are exported to the wildcard address Reviewed-by: rgallard, alanb ! src/share/classes/java/rmi/server/RMISocketFactory.java ! src/share/classes/java/rmi/server/UnicastRemoteObject.java Changeset: fce446b29577 Author: dsamersoff Date: 2013-08-06 14:04 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/fce446b29577 8011038: sourceObj validation during desereliazation of RelationNotification should be relaxed Summary: sourceObj could be set to null by setSource() relax a validation of deserialized object. Reviewed-by: sjiang, skoivu, dfuchs ! src/share/classes/javax/management/relation/RelationNotification.java Changeset: 6773af0dda02 Author: chegar Date: 2013-08-06 15:35 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6773af0dda02 8022344: Additional debug info for test/java/net/NetworkInterface/IndexTest.java Reviewed-by: michaelm, alanb ! test/java/net/NetworkInterface/IndexTest.java Changeset: 1f4af3e0447e Author: mullan Date: 2013-08-06 08:31 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1f4af3e0447e 8022120: JCK test api/javax_xml/crypto/dsig/TransformService/index_ParamMethods fails Summary: TransformService.init and marshalParams must throw NullPointerException when parent parameter is null Reviewed-by: xuelei ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java + test/javax/xml/crypto/dsig/TransformService/NullParent.java Changeset: ba634b53f53a Author: mullan Date: 2013-08-06 08:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ba634b53f53a Merge Changeset: cd0ea5563523 Author: jfranck Date: 2013-08-06 18:54 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cd0ea5563523 7184826: (reflect) Add support for Project Lambda concepts in core reflection Reviewed-by: darcy, jfranck Contributed-by: Amy Lu + test/java/lang/reflect/DefaultStaticTest/DefaultStaticInvokeTest.java + test/java/lang/reflect/DefaultStaticTest/DefaultStaticTestData.java + test/java/lang/reflect/DefaultStaticTest/helper/Declared.java + test/java/lang/reflect/DefaultStaticTest/helper/Mod.java ! test/java/lang/reflect/Method/DefaultMethodModeling.java ! test/java/lang/reflect/Method/IsDefaultTest.java Changeset: 98643f3ddf40 Author: darcy Date: 2013-08-06 13:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/98643f3ddf40 8022174: Fix doclint warnings in javax.sound 8022404: Fix doclint issues in java.applet Reviewed-by: prr ! src/share/classes/java/applet/AppletContext.java ! src/share/classes/javax/sound/midi/MetaMessage.java ! src/share/classes/javax/sound/midi/MidiDevice.java ! src/share/classes/javax/sound/midi/MidiDeviceReceiver.java ! src/share/classes/javax/sound/midi/MidiDeviceTransmitter.java ! src/share/classes/javax/sound/midi/MidiFileFormat.java ! src/share/classes/javax/sound/midi/MidiMessage.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/midi/ShortMessage.java ! src/share/classes/javax/sound/midi/Synthesizer.java ! src/share/classes/javax/sound/midi/SysexMessage.java ! src/share/classes/javax/sound/midi/Track.java ! src/share/classes/javax/sound/sampled/AudioFileFormat.java ! src/share/classes/javax/sound/sampled/AudioFormat.java ! src/share/classes/javax/sound/sampled/AudioSystem.java ! src/share/classes/javax/sound/sampled/BooleanControl.java ! src/share/classes/javax/sound/sampled/Mixer.java ! src/share/classes/javax/sound/sampled/spi/FormatConversionProvider.java Changeset: 12c1b78acf9a Author: lagergren Date: 2013-08-06 12:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/12c1b78acf9a 8022412: Fixed warnings in java.util root, except for HashMap Reviewed-by: mduigou, darcy Contributed-by: marcus.lagergren at oracle.com ! src/share/classes/java/util/ArrayPrefixHelpers.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/Comparators.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/WeakHashMap.java Changeset: 8112076ae424 Author: juh Date: 2013-08-06 13:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8112076ae424 8022439: Fix lint warnings in sun.security.ec Reviewed-by: darcy ! src/share/classes/sun/security/ec/ECDSASignature.java Changeset: 69cfd941aec2 Author: juh Date: 2013-08-06 14:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/69cfd941aec2 8022443: Fix lint warnings in sun.security.pkcs12 Reviewed-by: darcy ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 31e923842d49 Author: smarks Date: 2013-08-06 14:24 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/31e923842d49 8022440: suppress deprecation warnings in sun.rmi Reviewed-by: mduigou ! src/share/classes/sun/rmi/runtime/Log.java ! src/share/classes/sun/rmi/server/ActivatableRef.java ! src/share/classes/sun/rmi/server/Dispatcher.java ! src/share/classes/sun/rmi/server/LoaderHandler.java ! src/share/classes/sun/rmi/server/UnicastRef.java ! src/share/classes/sun/rmi/server/UnicastServerRef.java ! src/share/classes/sun/rmi/server/Util.java ! src/share/classes/sun/rmi/transport/DGCImpl.java ! src/share/classes/sun/rmi/transport/StreamRemoteCall.java ! src/share/classes/sun/rmi/transport/Transport.java ! src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java ! src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java ! src/share/classes/sun/rmi/transport/tcp/TCPTransport.java Changeset: 4b8b811059db Author: dxu Date: 2013-08-06 14:33 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4b8b811059db 8022410: Fix Javac Warnings in com.sun.security.auth Package Reviewed-by: darcy ! src/share/classes/com/sun/security/auth/PolicyFile.java ! src/share/classes/com/sun/security/auth/SubjectCodeSource.java Changeset: d5694d78ebc6 Author: darcy Date: 2013-08-06 16:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d5694d78ebc6 8022406: Fix doclint issues in java.beans Reviewed-by: prr ! src/share/classes/java/beans/AppletInitializer.java ! src/share/classes/java/beans/Beans.java ! src/share/classes/java/beans/ConstructorProperties.java ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/EventHandler.java ! src/share/classes/java/beans/Expression.java ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/PersistenceDelegate.java ! src/share/classes/java/beans/PropertyChangeSupport.java ! src/share/classes/java/beans/PropertyDescriptor.java ! src/share/classes/java/beans/Transient.java ! src/share/classes/java/beans/VetoableChangeSupport.java ! src/share/classes/java/beans/beancontext/BeanContext.java ! src/share/classes/java/beans/beancontext/BeanContextChild.java ! src/share/classes/java/beans/beancontext/BeanContextChildSupport.java ! src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServices.java ! src/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/share/classes/java/beans/beancontext/BeanContextSupport.java Changeset: 939c3be6cc86 Author: briangoetz Date: 2013-06-28 16:26 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/939c3be6cc86 8015318: Extend Collector with 'finish' operation Reviewed-by: mduigou Contributed-by: brian.goetz at oracle.com ! src/share/classes/java/util/DoubleSummaryStatistics.java ! src/share/classes/java/util/IntSummaryStatistics.java ! src/share/classes/java/util/LongSummaryStatistics.java ! src/share/classes/java/util/StringJoiner.java ! src/share/classes/java/util/stream/Collector.java ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/DelegatingStream.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/ReduceOps.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/java/util/stream/package-info.java ! test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java ! test/jdk/lambda/MethodReferenceTestInstanceMethod.java ! test/jdk/lambda/separate/TestHarness.java Changeset: 6cc8c2ad9804 Author: darcy Date: 2013-08-06 16:45 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6cc8c2ad9804 8022453: Fix doclint issues in javax.accessibility Reviewed-by: prr ! src/share/classes/javax/accessibility/Accessible.java ! src/share/classes/javax/accessibility/AccessibleBundle.java ! src/share/classes/javax/accessibility/AccessibleExtendedTable.java ! src/share/classes/javax/accessibility/AccessibleRelationSet.java ! src/share/classes/javax/accessibility/AccessibleTable.java ! src/share/classes/javax/accessibility/AccessibleTableModelChange.java ! src/share/classes/javax/accessibility/AccessibleTextSequence.java ! src/share/classes/javax/accessibility/AccessibleValue.java Changeset: b52a2ecdb803 Author: cl Date: 2013-08-01 04:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b52a2ecdb803 Added tag jdk8-b101 for changeset 690161232823 ! .hgtags Changeset: 2978c0a543ed Author: prr Date: 2013-07-22 12:52 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2978c0a543ed 7196866: CTW fails on all Solaris platforms Reviewed-by: prr, jrose, twisti, kvn ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/java2d/x11/XRBackendNative.c Changeset: 784589c7bc55 Author: vadim Date: 2013-07-24 13:38 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/784589c7bc55 8008782: NPE in TrueTypeGlyphMapper Reviewed-by: bae, prr ! src/share/classes/sun/font/TrueTypeFont.java Changeset: db2e3a686cf3 Author: jchen Date: 2013-07-24 12:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/db2e3a686cf3 8011709: [parfait] False positive: memory leak in jdk/src/share/native/sun/font/layout/CanonShaping.cpp Reviewed-by: jgodinez, prr ! src/share/native/sun/font/layout/CanonShaping.cpp Changeset: c2e27e7a42ae Author: jchen Date: 2013-07-24 13:05 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c2e27e7a42ae 8005126: [parfait] #418 - #428 XRBackendNative.c Integer overflow Reviewed-by: prr, vadim ! src/solaris/native/sun/java2d/x11/XRBackendNative.c Changeset: 833f05116f7b Author: bae Date: 2013-07-25 17:14 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/833f05116f7b 8019201: Regression: java.awt.image.ConvolveOp throws java.awt.image.ImagingOpException Reviewed-by: prr ! src/share/native/sun/awt/medialib/awt_ImagingLib.c + test/sun/awt/image/ImagingLib/SamePackingTypeTest.java Changeset: a8b9df782017 Author: serb Date: 2013-07-26 21:18 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a8b9df782017 7190349: [macosx] Text (Label) is incorrectly drawn with a rotated g2d 8013569: [macosx] JLabel preferred size incorrect on retina displays with non-default font size Reviewed-by: prr ! src/macosx/classes/sun/font/CStrike.java ! src/macosx/native/sun/font/AWTStrike.h ! src/macosx/native/sun/font/AWTStrike.m ! src/macosx/native/sun/font/CGGlyphImages.m + test/java/awt/Graphics2D/DrawString/DrawRotatedString.java + test/java/awt/Graphics2D/IncorrectTextSize/IncorrectTextSize.java Changeset: 467a0c21790b Author: jgodinez Date: 2013-07-26 15:08 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/467a0c21790b 8020208: NullPointerException at sun.print.Win32PrintService.getMediaPrintables Reviewed-by: jchen, prr ! src/windows/classes/sun/print/Win32PrintService.java Changeset: 56c6f9a9653d Author: jgodinez Date: 2013-07-26 15:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/56c6f9a9653d 8016343: [macosx] Print job goes to default printer regardless of chosen printer Reviewed-by: jchen, prr ! src/share/classes/sun/print/PSPrinterJob.java ! src/solaris/classes/sun/print/IPPPrintService.java ! src/solaris/classes/sun/print/UnixPrintJob.java ! test/javax/print/DialogMargins.java Changeset: 1c48544c3da9 Author: lana Date: 2013-07-26 15:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1c48544c3da9 Merge - src/share/classes/com/sun/org/apache/xml/internal/security/resource/log4j.properties - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHereContext.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathAPIHolder.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathFuncHereAPI.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFuncHereAPI.java - src/share/classes/java/util/stream/StreamBuilder.java - src/share/classes/javax/security/auth/callback/package.html - src/share/classes/javax/security/auth/kerberos/package.html - src/share/classes/javax/security/auth/login/package.html - src/share/classes/javax/security/auth/package.html - src/share/classes/javax/security/auth/spi/package.html - src/share/classes/javax/security/auth/x500/package.html - src/share/classes/javax/security/cert/package.html - src/share/classes/javax/security/sasl/package.html - test/java/util/Collections/EmptySortedSet.java Changeset: 921338e44ba7 Author: lana Date: 2013-07-26 17:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/921338e44ba7 Merge Changeset: 046025f78ea8 Author: jgodinez Date: 2013-07-30 13:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/046025f78ea8 8021835: Fix for 8016343 will not compile on Windows. Reviewed-by: jchen, prr ! src/share/classes/sun/print/PSPrinterJob.java Changeset: 7f0e569c5a66 Author: bae Date: 2013-07-31 13:11 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7f0e569c5a66 8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances Reviewed-by: prr, flar ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c + test/javax/imageio/plugins/jpeg/JpegWriterLeakTest.java Changeset: 607ad960fe24 Author: malenkov Date: 2013-07-22 15:36 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/607ad960fe24 8019975: closed/javax/swing/JFileChooser/4966171/bug4966171.java throws java.io.NotSerializableException: javax.swing.plaf.basic.BasicFileChooserUI$AcceptAllFileFilter Reviewed-by: alexsch ! src/share/classes/javax/swing/JFileChooser.java Changeset: 3cbe376233a9 Author: malenkov Date: 2013-07-22 20:33 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3cbe376233a9 8015926: NPE when using SynthTreeUI's expandPath() Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java + test/javax/swing/plaf/synth/Test8015926.java Changeset: bdad697c03aa Author: pchelko Date: 2013-07-23 13:09 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bdad697c03aa 7184951: [macosx] Exception at java.awt.datatransfer on headless mode (only in GUI session) Reviewed-by: art, anthony ! src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Changeset: 99ee6ddab113 Author: serb Date: 2013-07-24 17:14 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/99ee6ddab113 8017189: [macosx] AWT program menu disabled on Mac Reviewed-by: leonidr, anthony ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.h ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CMenuBar.m Changeset: 7bd6eda2d217 Author: leonidr Date: 2013-07-26 16:22 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7bd6eda2d217 8007267: [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working Reviewed-by: anthony, serb ! src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java ! src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CMenuItem.m Changeset: 65c90209edbb Author: lana Date: 2013-07-26 15:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/65c90209edbb Merge - src/share/classes/com/sun/org/apache/xml/internal/security/resource/log4j.properties - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHereContext.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathAPIHolder.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathFuncHereAPI.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFuncHereAPI.java - src/share/classes/java/util/stream/StreamBuilder.java - src/share/classes/javax/security/auth/callback/package.html - src/share/classes/javax/security/auth/kerberos/package.html - src/share/classes/javax/security/auth/login/package.html - src/share/classes/javax/security/auth/package.html - src/share/classes/javax/security/auth/spi/package.html - src/share/classes/javax/security/auth/x500/package.html - src/share/classes/javax/security/cert/package.html - src/share/classes/javax/security/sasl/package.html - test/java/util/Collections/EmptySortedSet.java Changeset: 37016eaea5d2 Author: serb Date: 2013-07-29 16:57 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/37016eaea5d2 6230360: Spelling mistake in documentation for AWT: 1.4, 1.5, 1.6, 1.7 Reviewed-by: malenkov, art ! src/share/classes/java/awt/AWTException.java Changeset: bf80c2965a84 Author: malenkov Date: 2013-07-29 18:48 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bf80c2965a84 8010782: clean up source files containing carriage return characters Reviewed-by: alexsch, art ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth.properties Changeset: 1e482f58c747 Author: ant Date: 2013-07-30 16:15 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1e482f58c747 8020927: JLightweightFrame API should export layout properties change notifications Reviewed-by: anthony ! src/share/classes/sun/swing/JLightweightFrame.java ! src/share/classes/sun/swing/LightweightContent.java Changeset: 336a94dbecb5 Author: malenkov Date: 2013-07-30 17:46 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/336a94dbecb5 8015300: JComboBox text sometimes become selected, sometimes not (Windows LAF) Reviewed-by: alexsch, serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java + test/javax/swing/JComboBox/8015300/Test8015300.java Changeset: 726ac8f75b54 Author: lana Date: 2013-07-31 12:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/726ac8f75b54 Merge Changeset: 0741b19835b0 Author: lana Date: 2013-07-31 13:02 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0741b19835b0 Merge - src/share/classes/java/net/package.html Changeset: 8ed8e2b4b90e Author: lana Date: 2013-08-06 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8ed8e2b4b90e Merge Changeset: 2bc9ce1aade5 Author: lana Date: 2013-08-06 17:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2bc9ce1aade5 Merge Changeset: 7ab5f19a9a31 Author: lana Date: 2013-08-06 17:13 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7ab5f19a9a31 Merge Changeset: e303c228bf31 Author: henryjen Date: 2013-08-06 17:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e303c228bf31 8022446: Fix serial warnings in java.util.stream Reviewed-by: darcy ! src/share/classes/java/util/stream/AbstractShortCircuitTask.java ! src/share/classes/java/util/stream/AbstractTask.java ! src/share/classes/java/util/stream/FindOps.java ! src/share/classes/java/util/stream/ForEachOps.java ! src/share/classes/java/util/stream/MatchOps.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/ReduceOps.java ! src/share/classes/java/util/stream/SliceOps.java Changeset: 1d21ff5c2b3f Author: dxu Date: 2013-08-06 18:16 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1d21ff5c2b3f 8022478: Fix Warnings In sun.net.www.protocol.http Package Reviewed-by: darcy ! src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java Changeset: e117fcdd2176 Author: mduigou Date: 2013-08-06 18:18 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e117fcdd2176 8022476: cleanup some raw types and unchecked warnings in java.util.stream Reviewed-by: darcy Contributed-by: mike.duigou at oracle.com, henry.jen at oracle.com ! src/share/classes/java/util/Optional.java ! src/share/classes/java/util/stream/AbstractPipeline.java ! src/share/classes/java/util/stream/AbstractShortCircuitTask.java ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/ReduceOps.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/Sink.java ! src/share/classes/java/util/stream/SortedOps.java ! src/share/classes/java/util/stream/StreamSpliterators.java Changeset: 183cd8626df0 Author: wmdietl Date: 2013-08-06 20:37 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/183cd8626df0 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags From alex.buckley at oracle.com Wed Aug 7 10:01:14 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 07 Aug 2013 10:01:14 -0700 Subject: Review request for type annotation reflection test In-Reply-To: <5201C3B3.3080708@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> Message-ID: <52027D5A.6030701@oracle.com> - AnnotationTest line 49 is: // index number for test class names public static int i = 0; That just doesn't smell right., - Still some blank lines before licenses. - GenTestCode is now much much simpler! Could it be pulled up into AnnotationTest, then overridden in the various *Test classes (calling super() then doing additional work) where necessary? - checkResult methods all have similar debugPrint calls which should be extracted into a Helper method. ("falty" is spelled wrong.) Alex On 8/6/2013 8:49 PM, Charlie Wang wrote: > Alex, > Thank you for the careful checking. You can add/remove/change > annotationCombinations in AnnotationTest, as long as the string are > legal annotations. And as to the other comments, I've updated my code. > Please take a look again. > > http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ > > > > - Charlie > > On 2013/8/3 7:55, Alex Buckley wrote: >> Hi Charlie, >> >> This is much more understandable with the *.txt files, but still seems >> brittle. What would happen if you added a new String to >> annotationCombinations in AnnotationTest, or changed an existing >> String? Helper.Declaration is very precise about how many annotations >> are used. >> >> Also: >> >> - Some source files like TestCaseGenerator.java have text before the >> license comment, which I'm pretty sure is a no-no. >> >> - The introductory comment in each *Test class refers to >> annotationCombinations, but it would help to say >> AnnotationTest.annotationCombinations. >> >> - Sometimes the TestCase enum is private for no reason. >> >> - Many checkResult methods have code which could be shared. >> >> - The GenTestCode methods are strange. Each has to step through the >> TestCase values very carefully, and it's weird to see an enhanced-for >> loop with a counter variable (i). You should pass any values needed by >> TestCase.genTestCase to the constructor of the enum constant. >> >> Alex >> >> On 7/31/2013 8:03 PM, Charlie Wang wrote: >>> Hi Alex, >>> I've put a *.txt file for each of the tests. >>> Also there has been some update on the code: >>> 1. final fiels declaration, >>> 2. extraction of the field "lhm" into TestCaseGenerator, >>> 3. removal of some redundant code, >>> 4. replace StringBuffer with StringBuilder because synchronization is >>> implemented outside, >>> 5. removal of some unused imports, >>> 6. extraction of common parts into methods. >>> >>> Here's the test: >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>> Sorry for the long gap since your last review comments. Tried to make >>> some big improvements on the code. >>> >>> >>> >>> Thanks, >>> Charlie >>> >>> On 2013/6/20 7:21, Alex Buckley wrote: >>>> - Please provide a text file for the generated code of each >>>> java/lang/* test. >>>> >>>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>>> should be called DeclarationGenerator. That's what it generates: >>>> declarations of classes, interfaces, fields, etc which are gathered up >>>> by the test case generators. Helper.SrcType should be called >>>> Helper.Declaration. The name of an enum type should describe what kind >>>> of things are represented by the enum constants, which here means >>>> declarations (of classes, interfaces, fields, etc). And you have a >>>> method called "genTestCode" in Helper as well as a method called >>>> "GenTestCode" in each test file (e.g. >>>> ClassGetAnnotatedInterfaceTest.java). >>>> >>>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>>> the declaration of an annotation type (to be part of a test case) >>>> _and_ an annotation (to be applied wherever #ANNO appears in the >>>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>>> >>>> - There is too much duplication in the java/lang/* classes, and >>>> generally too much use of static fields. These classes should each be >>>> a subclass of an abstract class AnnotationTest, which declares test() >>>> and the bulk of the code in checkResult(). AnnotationTest should have >>>> a variable "annotationCombinations" (not "annoComb") to enumerate the >>>> annotations to be applied. >>>> >>>> - Raw type Map in signature of Helper#genTestCode. >>>> >>>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>>> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >>>> >>>> - @author should be a full name, not a first name. >>>> >>>> Alex >>>> >>>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>>> Hi, >>>>> Please review type annotation reflection test. Updated >>>>> according to >>>>> Alex's comments. >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>> >>>>> Here's test result: >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>> >>>>> >>>>> >>>>> Regards, >>>>> Charlie >>>>> >>>>> >>>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>>> Did you see my last review email? >>>>>> >>>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> The webrev appears unchanged since the last time you sent its URL. >>>>>> Not >>>>>> sure what to say about the text file showing test runs... >>>>>> >>>>>> Alex >>>>>> >>>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>>> Hi, >>>>>>> Please review type annotation reflection test. >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>> >>>>>>> Here's test result: >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Charlie >>>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>>> Hi, >>>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>>> Please >>>>>>>> review. >>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Charlie >>>>>>>> >>>>>>>> >>>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>>> Hi Charlie, >>>>>>>>> >>>>>>>>> First, I think there is some clever stuff going on here, but it's >>>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>>> comments >>>>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>>>> Helper.SrcType supports that with search-and-replace on keys like >>>>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>>>> looking for paragraphs that can be added to your code's javadoc >>>>>>>>> and >>>>>>>>> be useful to someone in ten years time. >>>>>>>>> >>>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>>> constant >>>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>>> >>>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>>> should be >>>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be PACKAGE_ANNOTATION_1. >>>>>>>>> And >>>>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>>>> >>>>>>>>> Alex >>>>>>>>> >>>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>>> Hi, >>>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>>> according to >>>>>>>>>> comments. If OK, I will update the rest of the tests and publish >>>>>>>>>> for >>>>>>>>>> review. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Charlie >>>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>>> annotation >>>>>>>>>>>> types into TestUtil, so that any individual test will primarily >>>>>>>>>>>> be a >>>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>>> >>>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>>> providers >>>>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>>>> determines which values should pass the tests and which values >>>>>>>>>>>> should >>>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>>> values of >>>>>>>>>>>> annotations which are expected to appear at various locations - >>>>>>>>>>>> this >>>>>>>>>>>> is output data, not input data. >>>>>>>>>>>> >>>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>>> annotations in >>>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>>> indexing of >>>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>>> excessive >>>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>>> >>>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>>> stateless >>>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>>> trouble, >>>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>>> >>>>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>>>> on the >>>>>>>>>>>> core reflection API: >>>>>>>>>>>> >>>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>>> directly, by >>>>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>>>> >>>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>>> tests in >>>>>>>>>>> the JDK repository. For some recently-written small examples see >>>>>>>>>>> >>>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> - Second, embrace combinatorial testing rather than declaring a >>>>>>>>>>>> bunch >>>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>>>> various >>>>>>>>>>>> locations. >>>>>>>>>>>> >>>>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>>>> these >>>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve and >>>>>>>>>>>> Matherey to get background. To be clear, I will not sign off >>>>>>>>>>>> the >>>>>>>>>>>> type >>>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>>> >>>>>>>>>>> I concur that using combinatorial tests is appropriate for this >>>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>>> both the >>>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>>> computed >>>>>>>>>>> answer is consistent with the expected one. The regression tests >>>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>>> generated >>>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>>> >>>>>>>>>>> HTH, >>>>>>>>>>> >>>>>>>>>>> -Joe >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Alex >>>>>>>>>>>> >>>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>>> OK, thanks. >>>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract the >>>>>>>>>>>>> common >>>>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>>> two of >>>>>>>>>>>>> the >>>>>>>>>>>>> updated files (attached files) for review so I can get a quick >>>>>>>>>>>>> response. >>>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>>> possible. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Charlie >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>>>> it is >>>>>>>>>>>>>> easy >>>>>>>>>>>>>> to navigate. The problem is the body of the test() method in >>>>>>>>>>>>>> each >>>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>>> annotations, >>>>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>>>> every >>>>>>>>>>>>>> other >>>>>>>>>>>>>> test() method. >>>>>>>>>>>>>> >>>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>>> Please >>>>>>>>>>>>>> add >>>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>>> provider >>>>>>>>>>>>>> represents. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>>>> short >>>>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>>>> looked at >>>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>>> have to >>>>>>>>>>>>>> look at >>>>>>>>>>>>>> everything again. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Alex >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>>> would >>>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>>> solve >>>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>>> problems. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>>> Please provide comments as soon as possible now that >>>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> >>> > From wdietl at gmail.com Wed Aug 7 17:43:28 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 08 Aug 2013 00:43:28 +0000 Subject: hg: type-annotations/type-annotations/langtools: 5 new changesets Message-ID: <20130808004355.82E3C486B5@hg.openjdk.java.net> Changeset: f3deeccbf4cf Author: vromero Date: 2013-08-07 10:41 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f3deeccbf4cf 8020997: TreeMaker.AnnotationBuilder creates broken element literals with repeating annotations Reviewed-by: jjg, jfranck ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/tools/javac/T8020997/CannotCompileRepeatedAnnoTest.java Changeset: c7dcf899ffff Author: vromero Date: 2013-08-07 11:04 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/c7dcf899ffff 8008274: javac should not reference/use sample code Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/Main.java Changeset: 8c55df2442c1 Author: bpatel Date: 2013-08-07 15:00 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8c55df2442c1 7198274: RFE : Javadoc Accessibility : Use CSS styles rather than or tags Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java ! test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testInterface/TestInterface.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java ! test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java ! test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Changeset: 33294f02c9a5 Author: bpatel Date: 2013-08-07 16:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/33294f02c9a5 4749567: stddoclet: Add CSS style for setting header/footer to be italic Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css + test/com/sun/javadoc/testOptions/TestOptions.java + test/com/sun/javadoc/testOptions/pkg/Foo.java Changeset: f696a108a0cf Author: wmdietl Date: 2013-08-07 17:43 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f696a108a0cf Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java From wdietl at gmail.com Wed Aug 7 17:41:05 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 08 Aug 2013 00:41:05 +0000 Subject: hg: type-annotations/type-annotations/jdk: 7 new changesets Message-ID: <20130808004437.46383486B6@hg.openjdk.java.net> Changeset: 906dd23334c1 Author: weijun Date: 2013-08-07 19:06 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/906dd23334c1 7151062: [macosx] SCDynamicStore prints error messages to stderr Reviewed-by: xuelei ! src/macosx/native/java/util/SCDynamicStoreConfig.m Changeset: 99f4319763a9 Author: sundar Date: 2013-08-07 18:16 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/99f4319763a9 8022483: Nashorn compatibility issues in jhat's OQL feature Reviewed-by: lagergren, attila, hannesw ! src/share/classes/com/sun/tools/hat/resources/hat.js ! src/share/classes/com/sun/tools/hat/resources/oqlhelp.html Changeset: 8c7cf4926157 Author: xuelei Date: 2013-08-07 06:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8c7cf4926157 8013809: deadlock in SSLSocketImpl between between write and close Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: c1f129f62f36 Author: lagergren Date: 2013-08-07 08:08 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c1f129f62f36 8022454: Fixed various serializations and deprecation warnings in java.util, java.net and sun.tools Reviewed-by: darcy Contributed-by: marcus.lagergren at oracle.com ! src/share/classes/java/net/SocketAddress.java ! src/share/classes/java/util/logging/XMLFormatter.java ! src/share/classes/sun/tools/jar/JarException.java Changeset: d1c82d5bee3f Author: dxu Date: 2013-08-07 12:13 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d1c82d5bee3f 8022554: Fix Warnings in sun.invoke.anon Package Reviewed-by: darcy, mduigou, lancea ! src/share/classes/sun/invoke/anon/ConstantPoolPatch.java Changeset: 8c50c27418d3 Author: smarks Date: 2013-08-07 16:29 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8c50c27418d3 8022479: clean up warnings from sun.tools.asm Reviewed-by: lancea, darcy ! src/share/classes/sun/tools/asm/Assembler.java ! src/share/classes/sun/tools/asm/ConstantPool.java ! src/share/classes/sun/tools/asm/Instruction.java ! src/share/classes/sun/tools/asm/SwitchData.java ! src/share/classes/sun/tools/asm/TryData.java Changeset: cb19c4aa3413 Author: wmdietl Date: 2013-08-07 17:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cb19c4aa3413 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From charlie.wang at oracle.com Thu Aug 8 00:28:01 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Thu, 08 Aug 2013 15:28:01 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <52027D5A.6030701@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> Message-ID: <52034881.1000108@oracle.com> Alex, Thanks for the quick reply. The index number i is just a unique suffix appended on the class, which is temporarily created for test. I don't think it is a problem. But for easier understanding, I've change its name to clsIdx. And as to the other comments, I've updated my code accordingly. Please take a look again. http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ - Charlie On 2013/8/8 1:01, Alex Buckley wrote: > - AnnotationTest line 49 is: > // index number for test class names > public static int i = 0; > That just doesn't smell right., > > - Still some blank lines before licenses. > > - GenTestCode is now much much simpler! Could it be pulled up into > AnnotationTest, then overridden in the various *Test classes (calling > super() then doing additional work) where necessary? > > - checkResult methods all have similar debugPrint calls which should > be extracted into a Helper method. ("falty" is spelled wrong.) > > Alex > > On 8/6/2013 8:49 PM, Charlie Wang wrote: >> Alex, >> Thank you for the careful checking. You can add/remove/change >> annotationCombinations in AnnotationTest, as long as the string are >> legal annotations. And as to the other comments, I've updated my code. >> Please take a look again. >> >> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >> >> >> >> - Charlie >> >> On 2013/8/3 7:55, Alex Buckley wrote: >>> Hi Charlie, >>> >>> This is much more understandable with the *.txt files, but still seems >>> brittle. What would happen if you added a new String to >>> annotationCombinations in AnnotationTest, or changed an existing >>> String? Helper.Declaration is very precise about how many annotations >>> are used. >>> >>> Also: >>> >>> - Some source files like TestCaseGenerator.java have text before the >>> license comment, which I'm pretty sure is a no-no. >>> >>> - The introductory comment in each *Test class refers to >>> annotationCombinations, but it would help to say >>> AnnotationTest.annotationCombinations. >>> >>> - Sometimes the TestCase enum is private for no reason. >>> >>> - Many checkResult methods have code which could be shared. >>> >>> - The GenTestCode methods are strange. Each has to step through the >>> TestCase values very carefully, and it's weird to see an enhanced-for >>> loop with a counter variable (i). You should pass any values needed by >>> TestCase.genTestCase to the constructor of the enum constant. >>> >>> Alex >>> >>> On 7/31/2013 8:03 PM, Charlie Wang wrote: >>>> Hi Alex, >>>> I've put a *.txt file for each of the tests. >>>> Also there has been some update on the code: >>>> 1. final fiels declaration, >>>> 2. extraction of the field "lhm" into TestCaseGenerator, >>>> 3. removal of some redundant code, >>>> 4. replace StringBuffer with StringBuilder because synchronization is >>>> implemented outside, >>>> 5. removal of some unused imports, >>>> 6. extraction of common parts into methods. >>>> >>>> Here's the test: >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>> Sorry for the long gap since your last review comments. Tried to make >>>> some big improvements on the code. >>>> >>>> >>>> >>>> Thanks, >>>> Charlie >>>> >>>> On 2013/6/20 7:21, Alex Buckley wrote: >>>>> - Please provide a text file for the generated code of each >>>>> java/lang/* test. >>>>> >>>>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>>>> should be called DeclarationGenerator. That's what it generates: >>>>> declarations of classes, interfaces, fields, etc which are >>>>> gathered up >>>>> by the test case generators. Helper.SrcType should be called >>>>> Helper.Declaration. The name of an enum type should describe what >>>>> kind >>>>> of things are represented by the enum constants, which here means >>>>> declarations (of classes, interfaces, fields, etc). And you have a >>>>> method called "genTestCode" in Helper as well as a method called >>>>> "GenTestCode" in each test file (e.g. >>>>> ClassGetAnnotatedInterfaceTest.java). >>>>> >>>>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>>>> the declaration of an annotation type (to be part of a test case) >>>>> _and_ an annotation (to be applied wherever #ANNO appears in the >>>>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>>>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>>>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>>>> >>>>> - There is too much duplication in the java/lang/* classes, and >>>>> generally too much use of static fields. These classes should each be >>>>> a subclass of an abstract class AnnotationTest, which declares test() >>>>> and the bulk of the code in checkResult(). AnnotationTest should have >>>>> a variable "annotationCombinations" (not "annoComb") to enumerate the >>>>> annotations to be applied. >>>>> >>>>> - Raw type Map in signature of Helper#genTestCode. >>>>> >>>>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>>>> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >>>>> >>>>> - @author should be a full name, not a first name. >>>>> >>>>> Alex >>>>> >>>>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>>>> Hi, >>>>>> Please review type annotation reflection test. Updated >>>>>> according to >>>>>> Alex's comments. >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>> >>>>>> Here's test result: >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>> >>>>>> >>>>>> >>>>>> Regards, >>>>>> Charlie >>>>>> >>>>>> >>>>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>>>> Did you see my last review email? >>>>>>> >>>>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> The webrev appears unchanged since the last time you sent its URL. >>>>>>> Not >>>>>>> sure what to say about the text file showing test runs... >>>>>>> >>>>>>> Alex >>>>>>> >>>>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>>>> Hi, >>>>>>>> Please review type annotation reflection test. >>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>> >>>>>>>> Here's test result: >>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Charlie >>>>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>>>> Hi, >>>>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>>>> Please >>>>>>>>> review. >>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Charlie >>>>>>>>> >>>>>>>>> >>>>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>>>> Hi Charlie, >>>>>>>>>> >>>>>>>>>> First, I think there is some clever stuff going on here, but >>>>>>>>>> it's >>>>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>>>> comments >>>>>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>>>>> Helper.SrcType supports that with search-and-replace on keys >>>>>>>>>> like >>>>>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>>>>> looking for paragraphs that can be added to your code's javadoc >>>>>>>>>> and >>>>>>>>>> be useful to someone in ten years time. >>>>>>>>>> >>>>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>>>> constant >>>>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>>>> >>>>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>>>> should be >>>>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be >>>>>>>>>> PACKAGE_ANNOTATION_1. >>>>>>>>>> And >>>>>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>>>>> >>>>>>>>>> Alex >>>>>>>>>> >>>>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>>>> according to >>>>>>>>>>> comments. If OK, I will update the rest of the tests and >>>>>>>>>>> publish >>>>>>>>>>> for >>>>>>>>>>> review. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Charlie >>>>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>>>> Hello, >>>>>>>>>>>> >>>>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>>>> annotation >>>>>>>>>>>>> types into TestUtil, so that any individual test will >>>>>>>>>>>>> primarily >>>>>>>>>>>>> be a >>>>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>>>> >>>>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>>>> providers >>>>>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>>>>> determines which values should pass the tests and which >>>>>>>>>>>>> values >>>>>>>>>>>>> should >>>>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>>>> values of >>>>>>>>>>>>> annotations which are expected to appear at various >>>>>>>>>>>>> locations - >>>>>>>>>>>>> this >>>>>>>>>>>>> is output data, not input data. >>>>>>>>>>>>> >>>>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>>>> annotations in >>>>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>>>> indexing of >>>>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>>>> excessive >>>>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>>>> >>>>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>>>> stateless >>>>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>>>> trouble, >>>>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>>>> >>>>>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>>>>> on the >>>>>>>>>>>>> core reflection API: >>>>>>>>>>>>> >>>>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>>>> directly, by >>>>>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>>>>> >>>>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>>>> tests in >>>>>>>>>>>> the JDK repository. For some recently-written small >>>>>>>>>>>> examples see >>>>>>>>>>>> >>>>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> - Second, embrace combinatorial testing rather than >>>>>>>>>>>>> declaring a >>>>>>>>>>>>> bunch >>>>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>>>>> various >>>>>>>>>>>>> locations. >>>>>>>>>>>>> >>>>>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>>>>> these >>>>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve >>>>>>>>>>>>> and >>>>>>>>>>>>> Matherey to get background. To be clear, I will not sign off >>>>>>>>>>>>> the >>>>>>>>>>>>> type >>>>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>>>> >>>>>>>>>>>> I concur that using combinatorial tests is appropriate for >>>>>>>>>>>> this >>>>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>>>> both the >>>>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>>>> computed >>>>>>>>>>>> answer is consistent with the expected one. The regression >>>>>>>>>>>> tests >>>>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>>>> generated >>>>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>>>> >>>>>>>>>>>> HTH, >>>>>>>>>>>> >>>>>>>>>>>> -Joe >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Alex >>>>>>>>>>>>> >>>>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>>>> OK, thanks. >>>>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract >>>>>>>>>>>>>> the >>>>>>>>>>>>>> common >>>>>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>>>> two of >>>>>>>>>>>>>> the >>>>>>>>>>>>>> updated files (attached files) for review so I can get a >>>>>>>>>>>>>> quick >>>>>>>>>>>>>> response. >>>>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>>>> possible. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>>>>> it is >>>>>>>>>>>>>>> easy >>>>>>>>>>>>>>> to navigate. The problem is the body of the test() >>>>>>>>>>>>>>> method in >>>>>>>>>>>>>>> each >>>>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>>>> annotations, >>>>>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>>>>> every >>>>>>>>>>>>>>> other >>>>>>>>>>>>>>> test() method. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>>>> Please >>>>>>>>>>>>>>> add >>>>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>>>> provider >>>>>>>>>>>>>>> represents. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>>>>> short >>>>>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>>>>> looked at >>>>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>>>> have to >>>>>>>>>>>>>>> look at >>>>>>>>>>>>>>> everything again. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>>>> would >>>>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>>>> solve >>>>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>>>> problems. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>>>> Please provide comments as soon as possible now that >>>>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>>> >> From alex.buckley at oracle.com Thu Aug 8 10:05:52 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 08 Aug 2013 10:05:52 -0700 Subject: Review request for type annotation reflection test In-Reply-To: <52034881.1000108@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> Message-ID: <5203CFF0.80707@oracle.com> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was objecting to. It was the fact that you're relying on a mutable public static variable at all. - GenTestCode should take Class, so you don't need to cast to TestCaseGenerator in GenTestCode. (Same comment for AnnotationTest.compileCode). - AnnotationTest.testInput is a Map but I'm sure you can do better than Object for keys.' - ExecutableGetAnnotatedParameterTypesTest.testInput hides AnnotationTest.testInput, but swaps the order of the type arguments! Map is either wrong, or should not use Object. Alex On 8/8/2013 12:28 AM, Charlie Wang wrote: > Alex, > Thanks for the quick reply. The index number i is just a unique > suffix appended on the class, which is temporarily created for test. I > don't think it is a problem. But for easier understanding, I've change > its name to clsIdx. And as to the other comments, I've updated my code > accordingly. Please take a look again. > http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ > > > > > > - Charlie > > > On 2013/8/8 1:01, Alex Buckley wrote: >> - AnnotationTest line 49 is: >> // index number for test class names >> public static int i = 0; >> That just doesn't smell right., >> >> - Still some blank lines before licenses. >> >> - GenTestCode is now much much simpler! Could it be pulled up into >> AnnotationTest, then overridden in the various *Test classes (calling >> super() then doing additional work) where necessary? >> >> - checkResult methods all have similar debugPrint calls which should >> be extracted into a Helper method. ("falty" is spelled wrong.) >> >> Alex >> >> On 8/6/2013 8:49 PM, Charlie Wang wrote: >>> Alex, >>> Thank you for the careful checking. You can add/remove/change >>> annotationCombinations in AnnotationTest, as long as the string are >>> legal annotations. And as to the other comments, I've updated my code. >>> Please take a look again. >>> >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>> >>> >>> >>> - Charlie >>> >>> On 2013/8/3 7:55, Alex Buckley wrote: >>>> Hi Charlie, >>>> >>>> This is much more understandable with the *.txt files, but still seems >>>> brittle. What would happen if you added a new String to >>>> annotationCombinations in AnnotationTest, or changed an existing >>>> String? Helper.Declaration is very precise about how many annotations >>>> are used. >>>> >>>> Also: >>>> >>>> - Some source files like TestCaseGenerator.java have text before the >>>> license comment, which I'm pretty sure is a no-no. >>>> >>>> - The introductory comment in each *Test class refers to >>>> annotationCombinations, but it would help to say >>>> AnnotationTest.annotationCombinations. >>>> >>>> - Sometimes the TestCase enum is private for no reason. >>>> >>>> - Many checkResult methods have code which could be shared. >>>> >>>> - The GenTestCode methods are strange. Each has to step through the >>>> TestCase values very carefully, and it's weird to see an enhanced-for >>>> loop with a counter variable (i). You should pass any values needed by >>>> TestCase.genTestCase to the constructor of the enum constant. >>>> >>>> Alex >>>> >>>> On 7/31/2013 8:03 PM, Charlie Wang wrote: >>>>> Hi Alex, >>>>> I've put a *.txt file for each of the tests. >>>>> Also there has been some update on the code: >>>>> 1. final fiels declaration, >>>>> 2. extraction of the field "lhm" into TestCaseGenerator, >>>>> 3. removal of some redundant code, >>>>> 4. replace StringBuffer with StringBuilder because synchronization is >>>>> implemented outside, >>>>> 5. removal of some unused imports, >>>>> 6. extraction of common parts into methods. >>>>> >>>>> Here's the test: >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>> Sorry for the long gap since your last review comments. Tried to make >>>>> some big improvements on the code. >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> Charlie >>>>> >>>>> On 2013/6/20 7:21, Alex Buckley wrote: >>>>>> - Please provide a text file for the generated code of each >>>>>> java/lang/* test. >>>>>> >>>>>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>>>>> should be called DeclarationGenerator. That's what it generates: >>>>>> declarations of classes, interfaces, fields, etc which are >>>>>> gathered up >>>>>> by the test case generators. Helper.SrcType should be called >>>>>> Helper.Declaration. The name of an enum type should describe what >>>>>> kind >>>>>> of things are represented by the enum constants, which here means >>>>>> declarations (of classes, interfaces, fields, etc). And you have a >>>>>> method called "genTestCode" in Helper as well as a method called >>>>>> "GenTestCode" in each test file (e.g. >>>>>> ClassGetAnnotatedInterfaceTest.java). >>>>>> >>>>>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>>>>> the declaration of an annotation type (to be part of a test case) >>>>>> _and_ an annotation (to be applied wherever #ANNO appears in the >>>>>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>>>>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>>>>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>>>>> >>>>>> - There is too much duplication in the java/lang/* classes, and >>>>>> generally too much use of static fields. These classes should each be >>>>>> a subclass of an abstract class AnnotationTest, which declares test() >>>>>> and the bulk of the code in checkResult(). AnnotationTest should have >>>>>> a variable "annotationCombinations" (not "annoComb") to enumerate the >>>>>> annotations to be applied. >>>>>> >>>>>> - Raw type Map in signature of Helper#genTestCode. >>>>>> >>>>>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>>>>> ClassGetAnnotatedSuperClassTest should be Superclass not SuperClass. >>>>>> >>>>>> - @author should be a full name, not a first name. >>>>>> >>>>>> Alex >>>>>> >>>>>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>>>>> Hi, >>>>>>> Please review type annotation reflection test. Updated >>>>>>> according to >>>>>>> Alex's comments. >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>> >>>>>>> Here's test result: >>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>> >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Charlie >>>>>>> >>>>>>> >>>>>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>>>>> Did you see my last review email? >>>>>>>> >>>>>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> The webrev appears unchanged since the last time you sent its URL. >>>>>>>> Not >>>>>>>> sure what to say about the text file showing test runs... >>>>>>>> >>>>>>>> Alex >>>>>>>> >>>>>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>>>>> Hi, >>>>>>>>> Please review type annotation reflection test. >>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>>> >>>>>>>>> Here's test result: >>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Charlie >>>>>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>>>>> Hi, >>>>>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>>>>> Please >>>>>>>>>> review. >>>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Charlie >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>>>>> Hi Charlie, >>>>>>>>>>> >>>>>>>>>>> First, I think there is some clever stuff going on here, but >>>>>>>>>>> it's >>>>>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>>>>> comments >>>>>>>>>>> like "// input should be like ["@A() @B()", "@C() @D()"...]" in >>>>>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum type >>>>>>>>>>> looks like a good place to start. Then, I would like to know how >>>>>>>>>>> Helper.SrcType supports that with search-and-replace on keys >>>>>>>>>>> like >>>>>>>>>>> #ANNO. To be clear, I'm not looking for three bullet points; I'm >>>>>>>>>>> looking for paragraphs that can be added to your code's javadoc >>>>>>>>>>> and >>>>>>>>>>> be useful to someone in ten years time. >>>>>>>>>>> >>>>>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>>>>> Helper.SrcType, you should introduce an interface with a getSrc >>>>>>>>>>> method and have it be implemented by the SrcType enum type. You >>>>>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>>>>> constant >>>>>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>>>>> >>>>>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>>>>> should be >>>>>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 should be >>>>>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be >>>>>>>>>>> PACKAGE_ANNOTATION_1. >>>>>>>>>>> And >>>>>>>>>>> so on. Rigor really matters when dealing with the Java language. >>>>>>>>>>> >>>>>>>>>>> Alex >>>>>>>>>>> >>>>>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>>>>> Hi, >>>>>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>>>>> according to >>>>>>>>>>>> comments. If OK, I will update the rest of the tests and >>>>>>>>>>>> publish >>>>>>>>>>>> for >>>>>>>>>>>> review. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Charlie >>>>>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>>>>> Hello, >>>>>>>>>>>>> >>>>>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>>>>> annotation >>>>>>>>>>>>>> types into TestUtil, so that any individual test will >>>>>>>>>>>>>> primarily >>>>>>>>>>>>>> be a >>>>>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>>>>> providers >>>>>>>>>>>>>> are intended to enumerate input values for tests; other code >>>>>>>>>>>>>> determines which values should pass the tests and which >>>>>>>>>>>>>> values >>>>>>>>>>>>>> should >>>>>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>>>>> values of >>>>>>>>>>>>>> annotations which are expected to appear at various >>>>>>>>>>>>>> locations - >>>>>>>>>>>>>> this >>>>>>>>>>>>>> is output data, not input data. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>>>>> annotations in >>>>>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>>>>> indexing of >>>>>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>>>>> excessive >>>>>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>>>>> >>>>>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>>>>> stateless >>>>>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>>>>> trouble, >>>>>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Charlie, there are two techniques you should adopt for tests >>>>>>>>>>>>>> on the >>>>>>>>>>>>>> core reflection API: >>>>>>>>>>>>>> >>>>>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>>>>> directly, by >>>>>>>>>>>>>> annotating the AnnotationTypeTestXX declarations themselves. >>>>>>>>>>>>> >>>>>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>>>>> tests in >>>>>>>>>>>>> the JDK repository. For some recently-written small >>>>>>>>>>>>> examples see >>>>>>>>>>>>> >>>>>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> - Second, embrace combinatorial testing rather than >>>>>>>>>>>>>> declaring a >>>>>>>>>>>>>> bunch >>>>>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type annotations in >>>>>>>>>>>>>> various >>>>>>>>>>>>>> locations. >>>>>>>>>>>>>> >>>>>>>>>>>>>> The core reflection tests for repeating annotations use both >>>>>>>>>>>>>> these >>>>>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve >>>>>>>>>>>>>> and >>>>>>>>>>>>>> Matherey to get background. To be clear, I will not sign off >>>>>>>>>>>>>> the >>>>>>>>>>>>>> type >>>>>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>>>>> >>>>>>>>>>>>> I concur that using combinatorial tests is appropriate for >>>>>>>>>>>>> this >>>>>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>>>>> both the >>>>>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>>>>> computed >>>>>>>>>>>>> answer is consistent with the expected one. The regression >>>>>>>>>>>>> tests >>>>>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>>>>> generated >>>>>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>>>>> >>>>>>>>>>>>> HTH, >>>>>>>>>>>>> >>>>>>>>>>>>> -Joe >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Alex >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>>>>> OK, thanks. >>>>>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> common >>>>>>>>>>>>>>> part and put them in it. And Add comments on data provider. >>>>>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>>>>> two of >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> updated files (attached files) for review so I can get a >>>>>>>>>>>>>>> quick >>>>>>>>>>>>>>> response. >>>>>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>>>>> possible. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>>>>> Please keep one source file per tested API method, because >>>>>>>>>>>>>>>> it is >>>>>>>>>>>>>>>> easy >>>>>>>>>>>>>>>> to navigate. The problem is the body of the test() >>>>>>>>>>>>>>>> method in >>>>>>>>>>>>>>>> each >>>>>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>>>>> annotations, >>>>>>>>>>>>>>>> rather that repeating more or less the same 'for' loops as >>>>>>>>>>>>>>>> every >>>>>>>>>>>>>>>> other >>>>>>>>>>>>>>>> test() method. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>>>>> Please >>>>>>>>>>>>>>>> add >>>>>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>>>>> provider >>>>>>>>>>>>>>>> represents. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Finally, when you make a "little update", you should give a >>>>>>>>>>>>>>>> short >>>>>>>>>>>>>>>> description of what has changed. If you don't, someone who >>>>>>>>>>>>>>>> looked at >>>>>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>>>>> have to >>>>>>>>>>>>>>>> look at >>>>>>>>>>>>>>>> everything again. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>>>>> would >>>>>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>>>>> solve >>>>>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>>>>> problems. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>>>>> Please provide comments as soon as possible now that >>>>>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>> >>> > From steve.sides at oracle.com Thu Aug 8 17:48:32 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 08 Aug 2013 17:48:32 -0700 Subject: review request for 8010225 test in typeAnnotations/failures do not test TYPE_USE Message-ID: <52043C60.8020501@oracle.com> Some changes for JDK-8010225 : test in typeAnnotations/failures do not test TYPE_USE Bug: http://bugs.sun.com/view_bug.do?bug_id=8010225 webrev: http://cr.openjdk.java.net/~ssides/8010225/ This fix is for tl/langtools but since it's all type-annotations test I've posted it here. -steve From wdietl at gmail.com Thu Aug 8 17:58:34 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 8 Aug 2013 17:58:34 -0700 Subject: review request for 8010225 test in typeAnnotations/failures do not test TYPE_USE In-Reply-To: <52043C60.8020501@oracle.com> References: <52043C60.8020501@oracle.com> Message-ID: Hi Steve, the bug report suggests "We should test for failure for both regular and type annotations of (some of) the above." But now the tests are only for TYPE_USE. Are all the cases for "normal" annotations already covered elsewhere? What about TYPE_PARAMETER, the other addition from JSR 308? cu, WMD. On Thu, Aug 8, 2013 at 5:48 PM, Steve Sides wrote: > Some changes for JDK-8010225 : test in typeAnnotations/failures do not test > TYPE_USE > Bug: http://bugs.sun.com/view_bug.do?bug_id=8010225 > webrev: http://cr.openjdk.java.net/~ssides/8010225/ > > This fix is for tl/langtools but since it's all type-annotations test I've > posted it here. > > -steve -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Fri Aug 9 16:06:23 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 09 Aug 2013 23:06:23 +0000 Subject: hg: type-annotations/type-annotations/jdk: 14 new changesets Message-ID: <20130809231124.DB13A48779@hg.openjdk.java.net> Changeset: 0beaa65c90c8 Author: okutsu Date: 2013-08-08 13:51 +0900 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0beaa65c90c8 8015986: Incorrect Localization of HijrahChronology Reviewed-by: naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/CalendarType.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! test/java/time/test/java/time/format/TestNonIsoFormatter.java Changeset: 2c4f1081a0fa Author: uta Date: 2013-08-08 09:16 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2c4f1081a0fa 7147084: (process) appA hangs when read output stream of appB which starts appC that runs forever Reviewed-by: alanb, robm, martin ! src/windows/classes/java/lang/ProcessImpl.java ! src/windows/native/java/lang/ProcessImpl_md.c + test/java/lang/ProcessBuilder/InheritIOEHandle.java + test/java/lang/ProcessBuilder/SiblingIOEHandle.java Changeset: b7d594716f86 Author: weijun Date: 2013-08-08 21:13 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b7d594716f86 8016594: Native Windows ccache still reads DES tickets Reviewed-by: dsamersoff, xuelei ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/native/sun/security/krb5/nativeccache.c ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: a388263a7287 Author: sherman Date: 2013-08-08 12:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a388263a7287 8015666: test/tools/pack200/TimeStamp.java failing Summary: to keep the default behavior of ZOS unchanged, if ze extra time not explicitly set Reviewed-by: alanb, ksrini ! src/share/classes/java/util/zip/ZipConstants.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/ZipUtils.java ! test/ProblemList.txt ! test/java/util/zip/TestExtraTime.java ! test/tools/pack200/TimeStamp.java Changeset: 67edbf7e6b26 Author: juh Date: 2013-08-08 17:06 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/67edbf7e6b26 8022461: Fix lint warnings in sun.security.{provider,rsa,x509} Reviewed-by: darcy, weijun, xuelei, mullan ! src/share/classes/sun/security/provider/DSAPublicKey.java ! src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/share/classes/sun/security/rsa/RSASignature.java ! src/share/classes/sun/security/x509/AlgIdDSA.java ! src/share/classes/sun/security/x509/X509Key.java Changeset: 758e3117899c Author: weijun Date: 2013-08-09 11:41 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/758e3117899c 8021788: JarInputStream doesn't provide certificates for some file under META-INF Reviewed-by: chegar, sherman ! src/share/classes/java/util/jar/JarVerifier.java + test/java/util/jar/JarInputStream/ExtraFileInMetaInf.java Changeset: 54f0ccdd9ad7 Author: sherman Date: 2013-08-08 23:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/54f0ccdd9ad7 6614237: missing codepage Cp290 at java runtime Summary: to add charset Cp290 and Cp300 Reviewed-by: okutsu + make/tools/CharsetMapping/IBM290.c2b + make/tools/CharsetMapping/IBM290.map + make/tools/CharsetMapping/IBM300.c2b + make/tools/CharsetMapping/IBM300.map ! make/tools/CharsetMapping/dbcs ! make/tools/CharsetMapping/extsbcs ! make/tools/src/build/tools/charsetmapping/DBCS.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Changeset: c29ca19cb816 Author: psandoz Date: 2013-08-09 11:44 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c29ca19cb816 8022326: Spliterator for values of j.u.c.ConcurrentSkipListMap does not report ORDERED Reviewed-by: martin, chegar ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! test/java/util/Spliterator/SpliteratorCharacteristics.java Changeset: 84004d0e3fdd Author: chegar Date: 2013-08-09 13:50 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/84004d0e3fdd 8022661: InetAddress.writeObject() performs flush() on object output stream Reviewed-by: michaelm, alanb ! src/share/classes/java/net/InetAddress.java Changeset: ce1c874903cb Author: dl Date: 2013-08-09 17:56 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ce1c874903cb 8022724: lint warnings in j.u.concurrent packages Reviewed-by: chegar, lancea, darcy ! src/share/classes/java/util/concurrent/CompletableFuture.java ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java Changeset: 03822f2389bf Author: dxu Date: 2013-08-09 10:55 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/03822f2389bf 8021977: Opening a file using java.io can throw IOException on Windows Summary: Remove IOException related error-handling code for backward compatibility Reviewed-by: alanb, lancea, mr ! src/windows/native/java/io/io_util_md.c Changeset: a7c341f30747 Author: sherman Date: 2013-08-09 12:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a7c341f30747 8020054: (tz) Support tzdata2013d Summary: update the jdk8 tz data to version 2013d Reviewed-by: coffeys, peytoia ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/antarctica ! make/sun/javazic/tzdata/asia ! make/sun/javazic/tzdata/australasia ! make/sun/javazic/tzdata/backward ! make/sun/javazic/tzdata/etcetera ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/factory ! make/sun/javazic/tzdata/iso3166.tab ! make/sun/javazic/tzdata/leapseconds ! make/sun/javazic/tzdata/northamerica ! make/sun/javazic/tzdata/pacificnew ! make/sun/javazic/tzdata/solar87 ! make/sun/javazic/tzdata/solar88 ! make/sun/javazic/tzdata/solar89 ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/systemv ! make/sun/javazic/tzdata/zone.tab ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/etcetera ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/factory ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/pacificnew ! test/sun/util/calendar/zi/tzdata/solar87 ! test/sun/util/calendar/zi/tzdata/solar88 ! test/sun/util/calendar/zi/tzdata/solar89 ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/systemv ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 8f01ccb0c981 Author: joehw Date: 2013-08-09 12:53 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8f01ccb0c981 8022548: SPECJVM2008 has errors introduced in 7u40-b34 Reviewed-by: chegar, lancea + test/javax/xml/jaxp/parsers/8022548/JDK8022548.xml + test/javax/xml/jaxp/parsers/8022548/JDK8022548.xsl + test/javax/xml/jaxp/parsers/8022548/TestBase.java + test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java Changeset: 73664388b229 Author: wmdietl Date: 2013-08-09 16:06 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/73664388b229 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Fri Aug 9 16:13:55 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 09 Aug 2013 23:13:55 +0000 Subject: hg: type-annotations/type-annotations/nashorn: 3 new changesets Message-ID: <20130809231400.244DA4877A@hg.openjdk.java.net> Changeset: 9a3e3bb30db3 Author: attila Date: 2013-08-07 16:38 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/9a3e3bb30db3 8022509: Various Dynalink security enhancements Reviewed-by: jlaskey, hannesw ! src/jdk/internal/dynalink/ChainedCallSite.java ! src/jdk/internal/dynalink/DynamicLinkerFactory.java ! src/jdk/internal/dynalink/beans/ClassString.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java - src/jdk/internal/dynalink/support/Backport.java ! src/jdk/internal/dynalink/support/ClassMap.java ! src/jdk/internal/dynalink/support/Guards.java ! src/jdk/internal/dynalink/support/Lookup.java ! src/jdk/internal/dynalink/support/TypeConverterFactory.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java Changeset: dd79c04ef7df Author: sundar Date: 2013-08-08 16:38 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/dd79c04ef7df 8022524: Memory leaks in nashorn sources and tests found by jhat analysis Reviewed-by: attila, hannesw ! make/project.properties ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/ListAdapter.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! test/script/basic/JDK-8020357.js ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 0d7484bf8597 Author: sundar Date: 2013-08-08 18:19 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/0d7484bf8597 Merge - src/jdk/internal/dynalink/support/Backport.java From wdietl at gmail.com Fri Aug 9 16:16:21 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 09 Aug 2013 23:16:21 +0000 Subject: hg: type-annotations/type-annotations/langtools: 3 new changesets Message-ID: <20130809231638.7D5F44877B@hg.openjdk.java.net> Changeset: b8610a65fbf9 Author: vromero Date: 2013-08-08 11:49 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b8610a65fbf9 8019486: javac, generates erroneous LVT for a test case with lambda code Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/T8019486/WrongLVTForLambdaTest.java Changeset: d601238641e6 Author: ksrini Date: 2013-08-09 15:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d601238641e6 8022161: javac Null Pointer Exception in Enter.visitTopLevel Reviewed-by: jjg, vromero, jlahoda ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! test/tools/javac/TestPkgInfo.java Changeset: 879bf88a2da2 Author: wmdietl Date: 2013-08-09 16:16 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/879bf88a2da2 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java From wdietl at gmail.com Fri Aug 9 16:17:23 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 09 Aug 2013 23:17:23 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 2 new changesets Message-ID: <20130809231732.69BAD4877C@hg.openjdk.java.net> Changeset: 4e23bc205d9d Author: joehw Date: 2013-08-09 12:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/4e23bc205d9d 8022548: SPECJVM2008 has errors introduced in 7u40-b34 Reviewed-by: chegar, lancea ! src/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java ! src/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java ! src/com/sun/org/apache/xerces/internal/parsers/SAXParser.java Changeset: 453c1000a7bd Author: wmdietl Date: 2013-08-09 16:17 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/453c1000a7bd Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp From wdietl at gmail.com Fri Aug 16 18:37:43 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:37:43 +0000 Subject: hg: type-annotations/type-annotations/langtools: 19 new changesets Message-ID: <20130817013844.5D8FA4895D@hg.openjdk.java.net> Changeset: 0d9bc764cac7 Author: vromero Date: 2013-08-10 13:27 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0d9bc764cac7 8009640: -profile does not work when -bootclasspath specified Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties + test/tools/javac/T8009640/CheckRejectProfileBCPOptionsIfUsedTogetherTest.java Changeset: 8f282dc58dfc Author: vromero Date: 2013-08-10 16:26 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8f282dc58dfc 8022622: javac, two tests are failing with compile time error after class Collector was modified Reviewed-by: mcimadamore ! test/tools/javac/lambda/TargetType59.java ! test/tools/javac/lambda/TargetType62.java Changeset: aa6c6f8b5622 Author: vromero Date: 2013-08-10 16:29 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/aa6c6f8b5622 6983297: methods missing from NewArrayTree Reviewed-by: jjg ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! test/tools/javac/tree/SourceTreeScannerTest.java Changeset: f7f271bd74a2 Author: mcimadamore Date: 2013-08-12 17:25 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f7f271bd74a2 6537020: JCK tests: a compile-time error should be given in case of ambiguously imported fields (types, methods) Summary: Hiding check does not support interface multiple inheritance Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Scope.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/4980495/static/Test.out ! test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java ! test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java ! test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java + test/tools/javac/staticImport/6537020/T6537020.java + test/tools/javac/staticImport/6537020/T6537020.out Changeset: af80273f630a Author: mcimadamore Date: 2013-08-12 17:28 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/af80273f630a 8021567: Javac doesn't report \"java: reference to method is ambiguous\" any more Summary: Javac incorrectly forgets about constant folding results within lambdas Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/8021567/T8021567.java + test/tools/javac/lambda/8021567/T8021567.out + test/tools/javac/lambda/8021567/T8021567b.java Changeset: 6718df4cd616 Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/6718df4cd616 Added tag jdk8-b102 for changeset 453a305e1165 ! .hgtags Changeset: 76cfe7c61f25 Author: lana Date: 2013-08-13 10:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/76cfe7c61f25 Merge Changeset: 32b6a99cc74e Author: lana Date: 2013-08-13 18:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/32b6a99cc74e Merge Changeset: 0ad781399706 Author: vromero Date: 2013-08-14 10:53 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0ad781399706 8013394: compile of iterator use fails with error \"defined in an inaccessible class or interface\" Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/T8013394/CompileErrorWithIteratorTest.java Changeset: 3ab468194f11 Author: ksrini Date: 2013-08-14 07:07 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/3ab468194f11 8007517: DefaultMethodRegressionTests.java fail in TL Reviewed-by: jjg, vromero - test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java Changeset: 14faef2b51eb Author: jjg Date: 2013-08-14 16:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/14faef2b51eb 8017191: Javadoc is confused by @link to imported classes outside of the set of generated packages Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java + test/com/sun/javadoc/testSeeTag/TestSeeTag.java + test/com/sun/javadoc/testSeeTag/pkg/Test.java Changeset: fac0d1bb87f2 Author: ksrini Date: 2013-08-14 18:58 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/fac0d1bb87f2 6840442: JavaCompiler.getTask() has incomplete specification for IllegalArgumentException Reviewed-by: jjg ! src/share/classes/javax/tools/JavaCompiler.java Changeset: 3d4f0fa2ad05 Author: bpatel Date: 2013-08-14 21:44 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/3d4f0fa2ad05 8016921: Change the profiles table on overview-summary.html page to a list Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! test/com/sun/javadoc/testProfiles/TestProfiles.java Changeset: 71b0089b146f Author: erikj Date: 2013-08-15 17:24 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/71b0089b146f 8015145: Smartjavac needs more flexibility with linking to sources Reviewed-by: jjg, ohrstrom ! src/share/classes/com/sun/tools/sjavac/JavacState.java ! src/share/classes/com/sun/tools/sjavac/Main.java ! test/tools/sjavac/SJavac.java Changeset: a6378c19836b Author: vromero Date: 2013-08-16 10:32 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/a6378c19836b 8022053: javac generates unverifiable initializer for nested subclass of local class Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/T8022053/UnverifiableInitForNestedLocalClassTest.java Changeset: ec77c7b46c37 Author: jlahoda Date: 2013-08-15 22:33 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/ec77c7b46c37 8015809: More user friendly compile-time errors for uncaught exceptions in lambda expression Summary: Producing individual errors for uncaught undeclared exceptions inside lambda expressions, rather than one error for the whole lambda Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java - test/tools/javac/diags/examples/IncompatibleThrownTypesInLambda.java + test/tools/javac/lambda/ExceptionsInLambda.java + test/tools/javac/lambda/ExceptionsInLambda.out ! test/tools/javac/lambda/TargetType21.out Changeset: f657d400c736 Author: jlahoda Date: 2013-08-15 22:36 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f657d400c736 8022508: javac crashes if the generics arity of a base class is wrong Reviewed-by: mcimadamore, vromero ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/generics/8016640/T8016640.java Changeset: 4300c2f5fb1b Author: erikj Date: 2013-08-16 16:00 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/4300c2f5fb1b 8023146: Sjavac test failes in langtools nightly Reviewed-by: mcimadamore, jfranck ! test/tools/sjavac/SJavac.java Changeset: 1f7305c0ba4c Author: wmdietl Date: 2013-08-17 03:36 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1f7305c0ba4c Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Type.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/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java From wdietl at gmail.com Fri Aug 16 18:38:48 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:38:48 +0000 Subject: hg: type-annotations/type-annotations/corba: 3 new changesets Message-ID: <20130817013854.1951E4895E@hg.openjdk.java.net> Changeset: f8ed09af1df6 Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/f8ed09af1df6 Added tag jdk8-b102 for changeset 528c7e76eaee ! .hgtags Changeset: 49c4a777fdfd Author: lana Date: 2013-08-13 10:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/49c4a777fdfd Merge Changeset: 858a89cf6661 Author: wmdietl Date: 2013-08-17 03:38 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/858a89cf6661 Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Fri Aug 16 18:39:09 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:39:09 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 2 new changesets Message-ID: <20130817013919.0978A4895F@hg.openjdk.java.net> Changeset: 6cdc6ed98780 Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/6cdc6ed98780 Added tag jdk8-b102 for changeset 988a5f2ac559 ! .hgtags Changeset: 991213f0c108 Author: wmdietl Date: 2013-08-17 03:39 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/991213f0c108 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Fri Aug 16 18:39:43 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:39:43 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 3 new changesets Message-ID: <20130817013958.A556E48960@hg.openjdk.java.net> Changeset: b1ceab582fc6 Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/b1ceab582fc6 Added tag jdk8-b102 for changeset 7cffafa606e9 ! .hgtags Changeset: 9800647936dd Author: lana Date: 2013-08-13 18:28 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/9800647936dd Merge Changeset: 6c79dd448414 Author: wmdietl Date: 2013-08-17 03:39 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/6c79dd448414 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Fri Aug 16 18:42:19 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:42:19 +0000 Subject: hg: type-annotations/type-annotations/nashorn: 12 new changesets Message-ID: <20130817014232.ED2C948962@hg.openjdk.java.net> Changeset: 14ea21d58f83 Author: jlaskey Date: 2013-08-08 11:20 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/14ea21d58f83 Merge - src/jdk/internal/dynalink/support/Backport.java Changeset: 47e2b609fe31 Author: sundar Date: 2013-08-09 20:48 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/47e2b609fe31 8022707: Revisit all doPrivileged blocks Reviewed-by: jlaskey, hannesw ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/linker/ClassAndLoader.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/ReflectionCheckLinker.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java Changeset: 01304b0550fb Author: sundar Date: 2013-08-12 14:43 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/01304b0550fb 8022782: publicLookup access failures in ScriptObject, ScriptFunction and ScriptFunction Reviewed-by: lagergren, attila, hannesw ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java Changeset: 3c13fba4d727 Author: attila Date: 2013-08-12 12:46 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/3c13fba4d727 8022789: Revisit doPrivileged blocks in Dynalink Reviewed-by: lagergren, sundar ! src/jdk/internal/dynalink/DynamicLinkerFactory.java + src/jdk/internal/dynalink/support/ClassLoaderGetterContextProvider.java ! src/jdk/internal/dynalink/support/ClassMap.java ! src/jdk/internal/dynalink/support/TypeConverterFactory.java Changeset: 0bbaa0ac36ab Author: sundar Date: 2013-08-12 16:52 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/0bbaa0ac36ab 8022614: Please exclude test test/script/trusted/JDK-8020809.js from Nashorn code coverage run Reviewed-by: jlaskey, lagergren ! exclude/exclude_list_cc.txt Changeset: 03ba1cd734c0 Author: hannesw Date: 2013-08-12 13:31 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/03ba1cd734c0 8022731: NativeArguments has wrong implementation of isMapped() Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeArguments.java + test/script/basic/JDK-8022731.js + test/script/basic/JDK-8022731.js.EXPECTED Changeset: 821b605c7046 Author: sundar Date: 2013-08-12 17:08 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/821b605c7046 8022615: [nightly] Two nashorn print tests fail in nightly builds on Windows Reviewed-by: lagergren, jlaskey ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: f2e1673db03b Author: sundar Date: 2013-08-12 18:16 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/f2e1673db03b 8022598: Object.getPrototypeOf should return null for host objects rather than throwing TypeError Reviewed-by: lagergren, jlaskey, attila, hannesw ! src/jdk/nashorn/internal/objects/NativeObject.java + test/script/basic/JDK-8022598.js Changeset: a0807e889be3 Author: sundar Date: 2013-08-12 20:37 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/a0807e889be3 Merge Changeset: 795cff5c1b5c Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/795cff5c1b5c Added tag jdk8-b102 for changeset e966ff0a3ffe ! .hgtags Changeset: 414203de4374 Author: lana Date: 2013-08-13 10:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/414203de4374 Merge Changeset: 8ecf68b292d0 Author: lana Date: 2013-08-13 18:34 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/8ecf68b292d0 Merge From wdietl at gmail.com Fri Aug 16 18:40:40 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:40:40 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 26 new changesets Message-ID: <20130817014147.06A3E48961@hg.openjdk.java.net> Changeset: b9a927798f12 Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b9a927798f12 Added tag jdk8-b102 for changeset c4697c1c4484 ! .hgtags Changeset: 79ce055063e9 Author: amurillo Date: 2013-08-02 03:06 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/79ce055063e9 8022124: new hotspot build - hs25-b45 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 9bd314787fad Author: mseledtsov Date: 2013-08-01 22:15 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output Summary: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output Reviewed-by: kvn, ctornqvi, dholmes + test/testlibrary/OutputAnalyzerReportingTest.java ! test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: c01913206da5 Author: ctornqvi Date: 2013-08-01 22:20 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c01913206da5 8014294: Assert in ThreadTimesClosure::do_thread() due to use of naked oop instead of handle Summary: Assert in ThreadTimesClosure::do_thread() due to use of naked oop instead of handle Reviewed-by: coleenp, sspitsyn ! src/share/vm/services/management.cpp Changeset: 81e0f17ade64 Author: ctornqvi Date: 2013-08-01 22:25 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/81e0f17ade64 8009407: runtime/8000968/Test8000968.sh has incorrect check for proper config Summary: runtime/8000968/Test8000968.sh has incorrect check for proper config Reviewed-by: coleenp, mseledtsov, sspitsyn, hseigel - test/runtime/8000968/Test8000968.sh + test/runtime/CompressedOops/CompressedKlassPointerAndOops.java Changeset: 32e3bada0978 Author: kevinw Date: 2013-08-02 12:26 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/32e3bada0978 8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() Reviewed-by: mgerdin, fparain, dcubed ! src/share/vm/services/gcNotifier.cpp Changeset: dee4c330acd4 Author: dcubed Date: 2013-08-02 08:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/dee4c330acd4 Merge - test/runtime/8000968/Test8000968.sh Changeset: fa57c8104b76 Author: ctornqvi Date: 2013-08-02 18:12 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/fa57c8104b76 8009585: test/runtime/7196045 times out Summary: test/runtime/7196045 times out Reviewed-by: dholmes, mseledtsov - test/runtime/7196045/Test7196045.java + test/runtime/InternalApi/ThreadCpuTimesDeadlock.java Changeset: 0f209afdfcf8 Author: ctornqvi Date: 2013-08-02 18:26 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0f209afdfcf8 Merge Changeset: d02de8cac823 Author: ctornqvi Date: 2013-08-02 22:34 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d02de8cac823 Merge - test/runtime/7196045/Test7196045.java Changeset: e0379d5ba5d2 Author: kevinw Date: 2013-08-05 10:27 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e0379d5ba5d2 8021444: SA: ClassDump.run() should not ignore existing ClassFilter. Reviewed-by: minqi, poonam ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java Changeset: b67604b59546 Author: hseigel Date: 2013-08-04 16:30 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b67604b59546 7073961: [TESTBUG] closed/runtime/4845371/DBB.java failed on solaris 10 X65 Summary: Added a x86 64-bit Solaris shared library and rewrote test in Java Reviewed-by: dholmes, ctornqvi ! test/testlibrary/com/oracle/java/testlibrary/Platform.java Changeset: 9064e3a19525 Author: hseigel Date: 2013-08-05 08:55 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/9064e3a19525 Merge - test/runtime/7196045/Test7196045.java - test/runtime/8000968/Test8000968.sh Changeset: 22a5aff0df0b Author: dsamersoff Date: 2013-08-06 14:28 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/22a5aff0df0b 8019396: SA-JDI OSThread class initialization throws an exception Summary: Method sun.jvm.hotspot.runtime.OSThread.initialize throws a sun.jvm.hotspot.types.WrongTypeException Reviewed-by: dholmes, mgerdin ! agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java Changeset: cd25d3be91c5 Author: vladidan Date: 2013-08-06 20:01 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/cd25d3be91c5 8012144: multiple SIGSEGVs fails on staxf Summary: Forward port of 7u change to add additional fence() on RMO platforms, with a load_acquire on all platforms Reviewed-by: dholmes, kvn ! src/share/vm/utilities/taskqueue.hpp Changeset: f5bed20f2492 Author: dholmes Date: 2013-08-08 08:29 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f5bed20f2492 Merge Changeset: 79a5283f4595 Author: iignatyev Date: 2013-07-29 11:54 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/79a5283f4595 8021120: TieredCompilation can be enabled even if TIERED is undefined Reviewed-by: kvn, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: 8d77d02828d9 Author: twisti Date: 2013-07-29 16:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/8d77d02828d9 8016474: Crash in sun.reflect.UnsafeObjectFieldAccessorImpl.get Summary: C1's GetUnsafeObject G1 pre-barrier uses the wrong type to read the klass pointer. Reviewed-by: iveresov, kvn ! src/share/vm/c1/c1_LIRGenerator.cpp + test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java Changeset: 446cb5d25d03 Author: anoll Date: 2013-08-01 16:01 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/446cb5d25d03 8020531: Test compiler/codecache/CheckUpperLimit.java fails when memory limited Summary: Removed part of the test that required the VM to start up with -XX:ReservedCodeCacheSize=2048m Reviewed-by: kvn, rbackman ! test/compiler/codecache/CheckUpperLimit.java Changeset: 6e04c193845f Author: anoll Date: 2013-08-02 10:20 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6e04c193845f 8021301: better event messages Summary: made event messages better readable Reviewed-by: kvn, rbackman ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/utilities/exceptions.cpp Changeset: 5e0b3d7df485 Author: rbackman Date: 2013-08-05 17:15 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5e0b3d7df485 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 71526a36ebb4 Author: twisti Date: 2013-08-05 15:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/71526a36ebb4 8022029: GetUnsafeObjectG1PreBarrier fails on 32-bit with: Unrecognized VM option 'ObjectAlignmentInBytes=32' Reviewed-by: kvn ! test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java Changeset: dadf62510ae4 Author: rbackman Date: 2013-08-08 23:49 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/dadf62510ae4 Merge Changeset: 7f55137d6aa8 Author: amurillo Date: 2013-08-09 01:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7f55137d6aa8 Merge - test/runtime/7196045/Test7196045.java - test/runtime/8000968/Test8000968.sh Changeset: 6f9be7f87b96 Author: amurillo Date: 2013-08-09 01:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6f9be7f87b96 Added tag hs25-b45 for changeset 7f55137d6aa8 ! .hgtags Changeset: 71dc72120215 Author: wmdietl Date: 2013-08-17 03:40 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/71dc72120215 Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Fri Aug 16 18:38:18 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:38:18 +0000 Subject: hg: type-annotations/type-annotations: 2 new changesets Message-ID: <20130817013820.244964895B@hg.openjdk.java.net> Changeset: b7e64be81c8a Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/b7e64be81c8a Added tag jdk8-b102 for changeset 5eb3c1dc348f ! .hgtags Changeset: a01bbd8e4432 Author: wmdietl Date: 2013-08-17 03:38 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/a01bbd8e4432 Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Fri Aug 16 18:40:04 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 17 Aug 2013 01:40:04 +0000 Subject: hg: type-annotations/type-annotations/jdk: 65 new changesets Message-ID: <20130817015410.99D9F48963@hg.openjdk.java.net> Changeset: ea4f4164422e Author: xuelei Date: 2013-08-11 18:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ea4f4164422e 8022487: DEREncodedKeyValue.supportedKeyTypes should be private Reviewed-by: mullan ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java Changeset: ffacf3e7a130 Author: mullan Date: 2013-08-12 09:03 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ffacf3e7a130 8016848: javax_security/auth/login tests fail in compact 1 and 2 profiles Summary: Change the default value of the "login.configuration.provider" security property to sun.security.provider.ConfigFile Reviewed-by: xuelei ! src/share/classes/com/sun/security/auth/login/ConfigFile.java ! src/share/classes/javax/security/auth/login/Configuration.java + src/share/classes/sun/security/provider/ConfigFile.java - src/share/classes/sun/security/provider/ConfigSpiFile.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: d73fbf005f5f Author: mullan Date: 2013-08-12 09:29 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d73fbf005f5f Merge - src/share/classes/java/net/package.html - test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java - test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh Changeset: 70c8f4a4b8d6 Author: vromero Date: 2013-08-12 17:40 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/70c8f4a4b8d6 8015780: java/lang/reflect/Method/GenericStringTest.java failing Reviewed-by: darcy, jfranck ! test/ProblemList.txt ! test/java/lang/reflect/Method/GenericStringTest.java Changeset: 7758bcf0ab6b Author: henryjen Date: 2013-08-12 12:11 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7758bcf0ab6b 8022749: Convert junit tests to testng in test/java/lang/invoke Reviewed-by: mduigou, alanb Contributed-by: Mani Sarkar ! test/java/lang/invoke/AccessControlTest.java ! test/java/lang/invoke/ClassValueTest.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java ! test/java/lang/invoke/MethodTypeTest.java ! test/java/lang/invoke/PermuteArgsTest.java ! test/java/lang/invoke/ThrowExceptionsTest.java Changeset: cc64a05836a7 Author: lancea Date: 2013-08-12 16:09 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cc64a05836a7 8022753: SQLXML javadoc example typo Reviewed-by: alanb, mchung ! src/share/classes/java/sql/SQLXML.java Changeset: 5b14d702b0b8 Author: ascarpino Date: 2013-08-12 11:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5b14d702b0b8 8020081: Cipher with OAEPPadding and OAEPParameterSpec can't be created Reviewed-by: mullan ! src/share/classes/com/sun/crypto/provider/SunJCE.java + test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java Changeset: 818c3f82269c Author: vinnie Date: 2013-08-13 14:15 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/818c3f82269c 8013170: Spec for PBEParameterSpec does not specify behavior when paramSpec is null Reviewed-by: mullan ! src/share/classes/javax/crypto/spec/PBEParameterSpec.java Changeset: 26753a05859a Author: vinnie Date: 2013-08-13 14:18 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/26753a05859a Merge Changeset: 834faf2081b3 Author: bpb Date: 2013-08-12 16:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/834faf2081b3 8022180: BigInteger Burnikel-Ziegler quotient and remainder calculation assumes quotient parameter is zero Summary: Clear the quotient in divideAndRemainderBurnikelZiegler() if the divisor is larger than the dividend. Reviewed-by: alanb, bpb Contributed-by: Timothy Buktu ! src/share/classes/java/math/MutableBigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 18e15d92610b Author: chegar Date: 2013-08-13 14:57 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/18e15d92610b 8022779: ProblemList.txt updates (8/2013) Summary: Update ProblemList and remove AggressiveOpts MOAT test run Reviewed-by: chegar, alanb Contributed-by: Amy Lu ! test/ProblemList.txt ! test/java/util/Collection/MOAT.java Changeset: 78c102c3eefc Author: dfuchs Date: 2013-08-13 16:00 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/78c102c3eefc 8019948: java/util/logging/bundlesearch/ResourceBundleSearchTest.java is failing intermittently Reviewed-by: mchung, dholmes ! test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java Changeset: 412b2f0950a9 Author: mullan Date: 2013-08-13 10:06 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/412b2f0950a9 8022897: Add test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java to ProblemList Reviewed-by: vinnie, chegar ! test/ProblemList.txt Changeset: 19133b3af95f Author: mullan Date: 2013-08-13 10:07 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/19133b3af95f Merge ! test/ProblemList.txt Changeset: cd9379e348d0 Author: darcy Date: 2013-08-13 10:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cd9379e348d0 8022959: Fix new doclint issues in java.util.zip Reviewed-by: chegar ! src/share/classes/java/util/zip/ZipEntry.java Changeset: a4b0be7341ef Author: robm Date: 2013-08-13 19:10 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a4b0be7341ef 5049299: (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion Reviewed-by: alanb, dholmes, martin, erikj, coffeys ! make/java/java/Exportedfiles.gmk ! make/java/java/Makefile ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! src/solaris/classes/java/lang/UNIXProcess.java.bsd ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/native/java/lang/UNIXProcess_md.c + src/solaris/native/java/lang/childproc.c + src/solaris/native/java/lang/childproc.h + src/solaris/native/java/lang/jspawnhelper.c ! test/java/lang/ProcessBuilder/Basic.java Changeset: e057cddf0d6c Author: cl Date: 2013-08-08 10:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e057cddf0d6c Added tag jdk8-b102 for changeset 8ed8e2b4b90e ! .hgtags Changeset: 1c6bfb303ffc Author: prr Date: 2013-08-06 13:38 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1c6bfb303ffc 8022175: Fix doclint warnings in javax.print Reviewed-by: darcy ! src/share/classes/javax/print/DocFlavor.java ! src/share/classes/javax/print/MultiDocPrintJob.java ! src/share/classes/javax/print/PrintService.java ! src/share/classes/javax/print/ServiceUI.java ! src/share/classes/javax/print/ServiceUIFactory.java ! src/share/classes/javax/print/attribute/AttributeSet.java ! src/share/classes/javax/print/attribute/DateTimeSyntax.java ! src/share/classes/javax/print/attribute/DocAttributeSet.java ! src/share/classes/javax/print/attribute/EnumSyntax.java ! src/share/classes/javax/print/attribute/HashAttributeSet.java ! src/share/classes/javax/print/attribute/IntegerSyntax.java ! src/share/classes/javax/print/attribute/PrintJobAttributeSet.java ! src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java ! src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java ! src/share/classes/javax/print/attribute/ResolutionSyntax.java ! src/share/classes/javax/print/attribute/Size2DSyntax.java ! src/share/classes/javax/print/attribute/standard/Chromaticity.java ! src/share/classes/javax/print/attribute/standard/Compression.java ! src/share/classes/javax/print/attribute/standard/Finishings.java ! src/share/classes/javax/print/attribute/standard/JobKOctets.java ! src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java ! src/share/classes/javax/print/attribute/standard/MediaSize.java ! src/share/classes/javax/print/attribute/standard/PresentationDirection.java ! src/share/classes/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java ! src/share/classes/javax/print/attribute/standard/PrinterResolution.java Changeset: c3b91dc2504a Author: jgodinez Date: 2013-08-06 14:22 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c3b91dc2504a 8021583: test/javax/print/autosense/PrintAutoSenseData.java throwing NPE Reviewed-by: jchen, prr ! src/solaris/classes/sun/print/UnixPrintJob.java ! src/windows/classes/sun/print/Win32PrintJob.java ! test/javax/print/attribute/autosense/PrintAutoSenseData.java + test/javax/print/attribute/autosense/sample.txt Changeset: fe04f40cf469 Author: prr Date: 2013-08-06 17:11 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/fe04f40cf469 8022455: Fix doclint warnings in javax.imageio Reviewed-by: darcy ! src/share/classes/javax/imageio/ImageIO.java ! src/share/classes/javax/imageio/ImageReadParam.java ! src/share/classes/javax/imageio/ImageReader.java ! src/share/classes/javax/imageio/ImageTypeSpecifier.java ! src/share/classes/javax/imageio/ImageWriteParam.java ! src/share/classes/javax/imageio/ImageWriter.java ! src/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java ! src/share/classes/javax/imageio/plugins/bmp/BMPImageWriteParam.java ! src/share/classes/javax/imageio/plugins/jpeg/JPEGImageReadParam.java ! src/share/classes/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java ! src/share/classes/javax/imageio/spi/ImageReaderSpi.java ! src/share/classes/javax/imageio/spi/ImageWriterSpi.java ! src/share/classes/javax/imageio/spi/ServiceRegistry.java ! src/share/classes/javax/imageio/stream/ImageInputStream.java ! src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java ! src/share/classes/javax/imageio/stream/ImageOutputStream.java Changeset: c827ad8c1101 Author: prr Date: 2013-08-06 17:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c827ad8c1101 8022447: Fix doclint warnings in java.awt.image Reviewed-by: darcy ! src/share/classes/java/awt/image/BufferStrategy.java ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/classes/java/awt/image/ByteLookupTable.java ! src/share/classes/java/awt/image/ColorModel.java ! src/share/classes/java/awt/image/DirectColorModel.java ! src/share/classes/java/awt/image/ImageProducer.java ! src/share/classes/java/awt/image/IndexColorModel.java ! src/share/classes/java/awt/image/MemoryImageSource.java ! src/share/classes/java/awt/image/MultiPixelPackedSampleModel.java ! src/share/classes/java/awt/image/PixelGrabber.java ! src/share/classes/java/awt/image/RGBImageFilter.java ! src/share/classes/java/awt/image/ShortLookupTable.java ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/share/classes/java/awt/image/WritableRaster.java Changeset: 9314c199003d Author: lana Date: 2013-08-06 22:47 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9314c199003d Merge - src/share/classes/java/net/package.html Changeset: ab64c138d5bd Author: prr Date: 2013-08-07 18:24 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ab64c138d5bd 8014883: java.awt.container.add(component comp object constraints) doesn't work as expected on some linux platforms Reviewed-by: jgodinez ! makefiles/CompileNativeLibraries.gmk ! src/solaris/native/sun/java2d/x11/XRBackendNative.c Changeset: 645a37a3559f Author: leonidr Date: 2013-08-01 01:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/645a37a3559f 8021815: Add regression test for JDK-8007267 Reviewed-by: serb + test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java Changeset: 495ca130cbde Author: alexsch Date: 2013-08-01 17:09 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/495ca130cbde 7161568: [macosx] api/javax_swing/JTabbedPane/index2.html#varios fails Reviewed-by: malenkov, serb ! src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java + test/javax/swing/JTabbedPane/4361477/bug4361477.java + test/javax/swing/JTabbedPane/6495408/bug6495408.java + test/javax/swing/JTabbedPane/7161568/bug7161568.java Changeset: e76b1568d002 Author: leonidr Date: 2013-08-02 15:42 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e76b1568d002 8021381: JavaFX scene included in Swing JDialog not starting from Web Start Reviewed-by: art, dcherepanov ! src/share/classes/sun/awt/AppContext.java Changeset: 07abddc1d7f2 Author: leonidr Date: 2013-08-06 17:07 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/07abddc1d7f2 8022247: java/awt/EventDispatchThread/LoopRobustness/LoopRobustness throws NPE Reviewed-by: art ! test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java Changeset: 27d1bdf2f7d9 Author: mcherkas Date: 2013-08-06 17:29 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/27d1bdf2f7d9 8016833: Underlines and strikethrough not rendering correctly Reviewed-by: alexsch, serb Contributed-by: anton.nashatyrev at oracle.com ! src/share/classes/javax/swing/text/GlyphView.java + test/javax/swing/text/StyledEditorKit/8016833/bug8016833.java Changeset: f8ed88f5ed87 Author: alexsch Date: 2013-08-07 18:32 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f8ed88f5ed87 8022532: [parfait] Potential memory leak in gtk2_interface.c Reviewed-by: art, serb ! src/solaris/native/sun/awt/gtk2_interface.c Changeset: 7706a622d35f Author: alexsch Date: 2013-08-07 18:58 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7706a622d35f 8013849: Awt assert on Hashtable.cpp:124 Reviewed-by: serb ! src/windows/native/sun/windows/awt_Component.cpp + test/java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java Changeset: f70492d969e7 Author: serb Date: 2013-08-07 19:57 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f70492d969e7 7124339: [macosx] setIconImage is not endlessly tolerant to the broken image-arguments Reviewed-by: alexsch, leonidr ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: 540192229a69 Author: art Date: 2013-08-07 21:31 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/540192229a69 6551589: ContainerListener Documentation may be incorrect Reviewed-by: serb ! src/share/classes/java/awt/event/ContainerListener.java Changeset: 9bcc3f2af980 Author: lana Date: 2013-08-07 12:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9bcc3f2af980 Merge - src/share/classes/java/net/package.html Changeset: e193c4ad940a Author: lana Date: 2013-08-07 19:52 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e193c4ad940a Merge Changeset: 23e68a8e4b91 Author: lana Date: 2013-08-07 19:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/23e68a8e4b91 Merge - test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java - test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh Changeset: e0f6039c0290 Author: lana Date: 2013-08-13 10:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e0f6039c0290 Merge Changeset: 18ce880b5fb4 Author: lana Date: 2013-08-13 18:33 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/18ce880b5fb4 Merge ! makefiles/CompileNativeLibraries.gmk Changeset: cb74d71fd02f Author: hseigel Date: 2013-08-13 10:56 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cb74d71fd02f 8022259: MakeClasslist is buggy and its README is out of date. Summary: Fixed bug in FOR loop and updated comments and README Reviewed-by: dholmes, alanb ! make/tools/sharing/README.txt ! make/tools/src/build/tools/makeclasslist/MakeClasslist.java Changeset: f9cf6ecf596c Author: coleenp Date: 2013-08-14 10:14 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f9cf6ecf596c Merge Changeset: bc3cafb17c09 Author: ksrini Date: 2013-08-14 08:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bc3cafb17c09 8022547: [verifier] move DefaultMethodRegressionTests.java to jdk Reviewed-by: acorn + test/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java + test/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java Changeset: 444a7edcf367 Author: darcy Date: 2013-08-14 11:26 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/444a7edcf367 8022990: Fix dep_ann lint warnings in swing code Reviewed-by: alexsch ! src/share/classes/com/sun/java/swing/Painter.java ! src/share/classes/com/sun/java/swing/plaf/nimbus/AbstractRegionPainter.java ! src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java Changeset: c138d1b608e0 Author: sherman Date: 2013-08-14 11:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c138d1b608e0 8022178: System.console() throws IOE on some Windows Summary: to remove the IOE throwing code Reviewed-by: alanb ! src/windows/native/java/io/Console_md.c Changeset: 17dfbb3f60d3 Author: bpb Date: 2013-08-12 10:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/17dfbb3f60d3 8022109: Evaluate adding incrementExact, decrementExact, negateExact to java.lang.Math Summary: Add the methods for parameter types int and long. Reviewed-by: mduigou Contributed-by: Brian Burkhalter ! src/share/classes/java/lang/Math.java ! test/java/lang/Math/ExactArithTests.java Changeset: f8af3499c1fb Author: wetmore Date: 2013-08-14 19:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f8af3499c1fb 8023075: JDK-5049299 has broken old make in jdk8 Reviewed-by: katleman ! make/java/java/Makefile Changeset: 2f6523abab08 Author: yhuang Date: 2013-08-14 22:49 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2f6523abab08 8021121: ISO 4217 Amendment Number 156 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/sun/util/resources/lv/CurrencyNames_lv_LV.properties ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 5ff3b55df2d4 Author: alanb Date: 2013-08-15 11:54 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5ff3b55df2d4 8022921: Remove experimental Profile attribute Reviewed-by: mchung, chegar ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/jar/Attributes.java ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java - src/share/classes/java/util/jar/UnsupportedProfileException.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/misc/JavaUtilJarAccess.java ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/misc/Version.java.template ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar.properties - test/java/net/URLClassLoader/profiles/Basic.java - test/java/net/URLClassLoader/profiles/Lib.java - test/java/net/URLClassLoader/profiles/basic.sh - test/tools/jar/AddAndUpdateProfile.java - test/tools/launcher/profiles/Basic.java - test/tools/launcher/profiles/Logging.java - test/tools/launcher/profiles/Main.java - test/tools/launcher/profiles/VersionCheck.java Changeset: b7b0beef5ded Author: alanb Date: 2013-08-15 13:42 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b7b0beef5ded 8015765: TEST_BUG: java/nio/channels/ServerSocketChannel/AdaptServerSocket.java failing intermittently Reviewed-by: chegar, dholmes, alanb Contributed-by: yiming.wang at oracle.com ! test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java Changeset: 7d7d553a8c61 Author: igerasim Date: 2013-08-13 13:04 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7d7d553a8c61 8022584: Memory leak in some NetworkInterface methods Reviewed-by: alanb, dholmes, chegar, michaelm ! src/solaris/native/java/net/NetworkInterface.c + test/java/net/NetworkInterface/MemLeakTest.java Changeset: 3223342fb76e Author: dl Date: 2013-08-15 15:01 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3223342fb76e 8023103: FJ parallelism zero 8020537: java/util/concurrent/forkjoin/ThrowingRunnable.java Reviewed-by: chegar, mduigou, alanb ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: b07b19182e40 Author: dl Date: 2013-08-15 15:04 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b07b19182e40 8023104: ConcurrentHashMap typo Reviewed-by: chegar, mduigou ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: e7137695dce3 Author: chegar Date: 2013-08-15 15:16 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e7137695dce3 8022126: Remove throws SocketException from DatagramPacket constructors accepting SocketAddress Reviewed-by: smarks, alanb, michaelm, darcy ! src/share/classes/java/net/DatagramPacket.java Changeset: 6c307b4d0dd8 Author: sherman Date: 2013-08-15 10:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6c307b4d0dd8 7154662: {CRC32, Adler32}.update(byte[] b, int off, int len): undocumented ArrayIndexOutOfBoundsException Summary: to add the throws clause Reviewed-by: alanb, chegar ! src/share/classes/java/util/zip/Adler32.java ! src/share/classes/java/util/zip/CRC32.java Changeset: b4645069238a Author: vinnie Date: 2013-08-15 19:49 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b4645069238a 8023108: Remove ShortRSAKey1024.sh from ProblemList.txt Reviewed-by: mullan ! test/ProblemList.txt Changeset: 3211caab58ba Author: vinnie Date: 2013-08-15 19:56 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3211caab58ba Merge Changeset: 5bb196aa183c Author: dxu Date: 2013-08-15 12:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5bb196aa183c 4858457: File.getCanonicalPath() throws IOException when invoked with "nul" (win) Reviewed-by: alanb ! src/windows/native/java/io/canonicalize_md.c ! test/java/io/File/WinDeviceName.java Changeset: 0d27309a87e0 Author: dxu Date: 2013-08-15 14:11 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0d27309a87e0 8017109: Cleanup overrides warning in src/solaris/classes/sun/print/AttributeClass.java Reviewed-by: jgodinez ! src/solaris/classes/sun/print/AttributeClass.java Changeset: 5649837a4cfa Author: briangoetz Date: 2013-08-12 12:06 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5649837a4cfa 8019401: Collectors.collectingAndThen Reviewed-by: mduigou Contributed-by: brian.goetz at oracle.com ! src/share/classes/java/util/stream/Collectors.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java Changeset: 5fe19566b6f0 Author: psandoz Date: 2013-08-16 12:29 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5fe19566b6f0 8023150: java/util/stream tests no longer compiling following JDK-8019401 Reviewed-by: alanb ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java Changeset: 2eebaff52a94 Author: psandoz Date: 2013-08-16 12:46 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2eebaff52a94 8012940: More than 50 tests failed in Serialization/DeSerialization testing (test-mangled) Reviewed-by: ksrini + test/java/util/stream/bootlib/java/util/stream/LambdaTestMode.java ! test/java/util/stream/bootlib/java/util/stream/StreamTestDataProvider.java Changeset: 02ce5a0e4b98 Author: psandoz Date: 2013-08-16 12:46 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/02ce5a0e4b98 8022898: java/util/Spliterator/SpliteratorCollisions.java fails in HashableIntSpliteratorWithNull data provider Reviewed-by: henryjen, alanb, rriggs ! test/java/util/Spliterator/SpliteratorCollisions.java Changeset: 737b6c298d81 Author: psandoz Date: 2013-08-13 11:16 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/737b6c298d81 8022797: Clarify spliterator characteristics for collections containing no elements Reviewed-by: alanb, mduigou ! src/share/classes/java/util/Collection.java Changeset: 53819fd0ab61 Author: rriggs Date: 2013-08-16 11:28 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/53819fd0ab61 8022770: java/time/tck/java/time/chrono/TCKChronology.java start failing 8022766: java/time/test/java/time/chrono/TestUmmAlQuraChronology.java failed. Summary: TCKChronology: corrected display name to match update from JDK-8015986 Reviewed-by: alanb ! test/java/time/tck/java/time/chrono/TCKChronology.java ! test/java/time/test/java/time/chrono/TestUmmAlQuraChronology.java Changeset: d7fc4e149bb8 Author: rriggs Date: 2013-08-16 11:11 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d7fc4e149bb8 8022193: java/time/test/java/util/TestFormatter.java failed in th locale. Summary: Tests corrected to use fixed locale and not dependent on the environment Reviewed-by: sherman ! src/share/classes/java/util/Formatter.java ! test/java/time/test/java/util/TestFormatter.java Changeset: acaa256e3f7c Author: rriggs Date: 2013-08-16 13:58 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/acaa256e3f7c 8019185: Inconsistency between JapaneseEra start dates and java.util.JapaneseImperialDate Summary: align Meiji start date with lib/calendar.properties to avoid any confusion Reviewed-by: sherman ! src/share/classes/java/time/chrono/JapaneseEra.java Changeset: 75338d883c54 Author: wmdietl Date: 2013-08-17 03:39 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/75338d883c54 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags From charlie.wang at oracle.com Tue Aug 20 01:56:13 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Tue, 20 Aug 2013 16:56:13 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <5203CFF0.80707@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> Message-ID: <52132F2D.80402@oracle.com> Hi Alex, I used testInput.size() instead of static int clsIdx as suffix this time. And other update according to your comments. Here's the link. Please review again. http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ - Charlie On 2013/8/9 1:05, Alex Buckley wrote: > - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was > objecting to. It was the fact that you're relying on a mutable public > static variable at all. > > - GenTestCode should take Class, so you > don't need to cast to TestCaseGenerator in GenTestCode. (Same comment > for AnnotationTest.compileCode). > > - AnnotationTest.testInput is a Map but I'm sure you > can do better than Object for keys.' > > - ExecutableGetAnnotatedParameterTypesTest.testInput hides > AnnotationTest.testInput, but swaps the order of the type arguments! > Map is either wrong, or should not use Object. > > Alex > > On 8/8/2013 12:28 AM, Charlie Wang wrote: >> Alex, >> Thanks for the quick reply. The index number i is just a unique >> suffix appended on the class, which is temporarily created for test. I >> don't think it is a problem. But for easier understanding, I've change >> its name to clsIdx. And as to the other comments, I've updated my code >> accordingly. Please take a look again. >> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >> >> >> >> >> >> - Charlie >> >> >> On 2013/8/8 1:01, Alex Buckley wrote: >>> - AnnotationTest line 49 is: >>> // index number for test class names >>> public static int i = 0; >>> That just doesn't smell right., >>> >>> - Still some blank lines before licenses. >>> >>> - GenTestCode is now much much simpler! Could it be pulled up into >>> AnnotationTest, then overridden in the various *Test classes (calling >>> super() then doing additional work) where necessary? >>> >>> - checkResult methods all have similar debugPrint calls which should >>> be extracted into a Helper method. ("falty" is spelled wrong.) >>> >>> Alex >>> >>> On 8/6/2013 8:49 PM, Charlie Wang wrote: >>>> Alex, >>>> Thank you for the careful checking. You can add/remove/change >>>> annotationCombinations in AnnotationTest, as long as the string are >>>> legal annotations. And as to the other comments, I've updated my code. >>>> Please take a look again. >>>> >>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>> >>>> >>>> >>>> - Charlie >>>> >>>> On 2013/8/3 7:55, Alex Buckley wrote: >>>>> Hi Charlie, >>>>> >>>>> This is much more understandable with the *.txt files, but still >>>>> seems >>>>> brittle. What would happen if you added a new String to >>>>> annotationCombinations in AnnotationTest, or changed an existing >>>>> String? Helper.Declaration is very precise about how many annotations >>>>> are used. >>>>> >>>>> Also: >>>>> >>>>> - Some source files like TestCaseGenerator.java have text before the >>>>> license comment, which I'm pretty sure is a no-no. >>>>> >>>>> - The introductory comment in each *Test class refers to >>>>> annotationCombinations, but it would help to say >>>>> AnnotationTest.annotationCombinations. >>>>> >>>>> - Sometimes the TestCase enum is private for no reason. >>>>> >>>>> - Many checkResult methods have code which could be shared. >>>>> >>>>> - The GenTestCode methods are strange. Each has to step through the >>>>> TestCase values very carefully, and it's weird to see an enhanced-for >>>>> loop with a counter variable (i). You should pass any values >>>>> needed by >>>>> TestCase.genTestCase to the constructor of the enum constant. >>>>> >>>>> Alex >>>>> >>>>> On 7/31/2013 8:03 PM, Charlie Wang wrote: >>>>>> Hi Alex, >>>>>> I've put a *.txt file for each of the tests. >>>>>> Also there has been some update on the code: >>>>>> 1. final fiels declaration, >>>>>> 2. extraction of the field "lhm" into TestCaseGenerator, >>>>>> 3. removal of some redundant code, >>>>>> 4. replace StringBuffer with StringBuilder because >>>>>> synchronization is >>>>>> implemented outside, >>>>>> 5. removal of some unused imports, >>>>>> 6. extraction of common parts into methods. >>>>>> >>>>>> Here's the test: >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>> Sorry for the long gap since your last review comments. Tried to >>>>>> make >>>>>> some big improvements on the code. >>>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Charlie >>>>>> >>>>>> On 2013/6/20 7:21, Alex Buckley wrote: >>>>>>> - Please provide a text file for the generated code of each >>>>>>> java/lang/* test. >>>>>>> >>>>>>> - Two kinds of TestXYZGenerator is confusing. TestSourceGenerator >>>>>>> should be called DeclarationGenerator. That's what it generates: >>>>>>> declarations of classes, interfaces, fields, etc which are >>>>>>> gathered up >>>>>>> by the test case generators. Helper.SrcType should be called >>>>>>> Helper.Declaration. The name of an enum type should describe what >>>>>>> kind >>>>>>> of things are represented by the enum constants, which here means >>>>>>> declarations (of classes, interfaces, fields, etc). And you have a >>>>>>> method called "genTestCode" in Helper as well as a method called >>>>>>> "GenTestCode" in each test file (e.g. >>>>>>> ClassGetAnnotatedInterfaceTest.java). >>>>>>> >>>>>>> - It is extremely subtle that TYPE_ANNOTATION_1/2/3 represents both >>>>>>> the declaration of an annotation type (to be part of a test case) >>>>>>> _and_ an annotation (to be applied wherever #ANNO appears in the >>>>>>> declaration under test). Please rename TYPE_ANNOTATION_1/2/3 to >>>>>>> ANNOTATION_TYPE_1/2/3 (and, TYPE_ANNOTATION_CONTAINER_1/2/3 to >>>>>>> CONTAINING_ANNOTATION_TYPE_1/2/3). >>>>>>> >>>>>>> - There is too much duplication in the java/lang/* classes, and >>>>>>> generally too much use of static fields. These classes should >>>>>>> each be >>>>>>> a subclass of an abstract class AnnotationTest, which declares >>>>>>> test() >>>>>>> and the bulk of the code in checkResult(). AnnotationTest should >>>>>>> have >>>>>>> a variable "annotationCombinations" (not "annoComb") to >>>>>>> enumerate the >>>>>>> annotations to be applied. >>>>>>> >>>>>>> - Raw type Map in signature of Helper#genTestCode. >>>>>>> >>>>>>> - ClassGetAnnotatedInterfaceTest -> missing an 's' after Interface. >>>>>>> ClassGetAnnotatedSuperClassTest should be Superclass not >>>>>>> SuperClass. >>>>>>> >>>>>>> - @author should be a full name, not a first name. >>>>>>> >>>>>>> Alex >>>>>>> >>>>>>> On 6/19/2013 1:04 AM, Charlie Wang wrote: >>>>>>>> Hi, >>>>>>>> Please review type annotation reflection test. Updated >>>>>>>> according to >>>>>>>> Alex's comments. >>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>> >>>>>>>> Here's test result: >>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Charlie >>>>>>>> >>>>>>>> >>>>>>>> On 2013/6/19 5:56, Alex Buckley wrote: >>>>>>>>> Did you see my last review email? >>>>>>>>> >>>>>>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001066.html >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> The webrev appears unchanged since the last time you sent its >>>>>>>>> URL. >>>>>>>>> Not >>>>>>>>> sure what to say about the text file showing test runs... >>>>>>>>> >>>>>>>>> Alex >>>>>>>>> >>>>>>>>> On 6/17/2013 7:51 PM, Charlie Wang wrote: >>>>>>>>>> Hi, >>>>>>>>>> Please review type annotation reflection test. >>>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Here's test result: >>>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/1.txt >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Charlie >>>>>>>>>> On 2013/6/13 10:41, Charlie Wang wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> Updated all the tests according to comments. Here's webrev. >>>>>>>>>>> Please >>>>>>>>>>> review. >>>>>>>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation/webrev/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Charlie >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 2013/6/4 5:52, Alex Buckley wrote: >>>>>>>>>>>> Hi Charlie, >>>>>>>>>>>> >>>>>>>>>>>> First, I think there is some clever stuff going on here, but >>>>>>>>>>>> it's >>>>>>>>>>>> hard to figure out what it is. It's not enough to sprinkle >>>>>>>>>>>> comments >>>>>>>>>>>> like "// input should be like ["@A() @B()", "@C() >>>>>>>>>>>> @D()"...]" in >>>>>>>>>>>> SrcType. I would like an explanation of what a test case like >>>>>>>>>>>> ClsGetAnnotatedInterTest is trying to do. The TestCase enum >>>>>>>>>>>> type >>>>>>>>>>>> looks like a good place to start. Then, I would like to >>>>>>>>>>>> know how >>>>>>>>>>>> Helper.SrcType supports that with search-and-replace on keys >>>>>>>>>>>> like >>>>>>>>>>>> #ANNO. To be clear, I'm not looking for three bullet >>>>>>>>>>>> points; I'm >>>>>>>>>>>> looking for paragraphs that can be added to your code's >>>>>>>>>>>> javadoc >>>>>>>>>>>> and >>>>>>>>>>>> be useful to someone in ten years time. >>>>>>>>>>>> >>>>>>>>>>>> Second, in the interest of increasing the abstraction of >>>>>>>>>>>> Helper.SrcType, you should introduce an interface with a >>>>>>>>>>>> getSrc >>>>>>>>>>>> method and have it be implemented by the SrcType enum type. >>>>>>>>>>>> You >>>>>>>>>>>> should also remove duplicated code throughout SrcType's enum >>>>>>>>>>>> constant >>>>>>>>>>>> bodies (e.g. the code for "// get @anno for [#ANNO1] ..."). >>>>>>>>>>>> >>>>>>>>>>>> Third, please don't shorten terms which are part of the Java >>>>>>>>>>>> language. METHODHEAD should be METHOD_HEADER. METHODPARAM >>>>>>>>>>>> should be >>>>>>>>>>>> METHOD_PARAMETER. Inter should be Interface. TYPEANNO1 >>>>>>>>>>>> should be >>>>>>>>>>>> TYPE_ANNOTATION_1. PKGANNOTATION1 should be >>>>>>>>>>>> PACKAGE_ANNOTATION_1. >>>>>>>>>>>> And >>>>>>>>>>>> so on. Rigor really matters when dealing with the Java >>>>>>>>>>>> language. >>>>>>>>>>>> >>>>>>>>>>>> Alex >>>>>>>>>>>> >>>>>>>>>>>> On 6/2/2013 11:39 PM, Charlie Wang wrote: >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> Please review attached 2 files, which I've changed >>>>>>>>>>>>> according to >>>>>>>>>>>>> comments. If OK, I will update the rest of the tests and >>>>>>>>>>>>> publish >>>>>>>>>>>>> for >>>>>>>>>>>>> review. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> Charlie >>>>>>>>>>>>> On 2013/5/22 9:55, Joseph Darcy wrote: >>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 5/21/2013 6:37 PM, Alex Buckley wrote: >>>>>>>>>>>>>>> I see you have extracted the validation logic and common >>>>>>>>>>>>>>> annotation >>>>>>>>>>>>>>> types into TestUtil, so that any individual test will >>>>>>>>>>>>>>> primarily >>>>>>>>>>>>>>> be a >>>>>>>>>>>>>>> data provider + test cases. However: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 1. Jon is our resident TestNG expert and he says that data >>>>>>>>>>>>>>> providers >>>>>>>>>>>>>>> are intended to enumerate input values for tests; other >>>>>>>>>>>>>>> code >>>>>>>>>>>>>>> determines which values should pass the tests and which >>>>>>>>>>>>>>> values >>>>>>>>>>>>>>> should >>>>>>>>>>>>>>> fail. But your data provider encodes the types and element >>>>>>>>>>>>>>> values of >>>>>>>>>>>>>>> annotations which are expected to appear at various >>>>>>>>>>>>>>> locations - >>>>>>>>>>>>>>> this >>>>>>>>>>>>>>> is output data, not input data. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 2. There is basically no abstraction over the expected >>>>>>>>>>>>>>> annotations in >>>>>>>>>>>>>>> the data provider. It's just a bunch of Object[][] values. >>>>>>>>>>>>>>> Consequently, TestUtil is very brittle. There is weird >>>>>>>>>>>>>>> indexing of >>>>>>>>>>>>>>> arrays - [i * 2 + 1] and [j / 2] all over the place - and >>>>>>>>>>>>>>> excessive >>>>>>>>>>>>>>> knowledge of specific test cases: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> catch (NoSuchMethodException e) { >>>>>>>>>>>>>>> //expected exception for TypeAnno3 >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 3. I'm suspicious of static methods in TestUtil. They are >>>>>>>>>>>>>>> stateless >>>>>>>>>>>>>>> at present, but if they ever share state then you'll be in >>>>>>>>>>>>>>> trouble, >>>>>>>>>>>>>>> especially with the instance methods in GetAnnotated*Test. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Charlie, there are two techniques you should adopt for >>>>>>>>>>>>>>> tests >>>>>>>>>>>>>>> on the >>>>>>>>>>>>>>> core reflection API: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> - First, encode expected values of type annotations more >>>>>>>>>>>>>>> directly, by >>>>>>>>>>>>>>> annotating the AnnotationTypeTestXX declarations >>>>>>>>>>>>>>> themselves. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Note that this technique is used in various other regression >>>>>>>>>>>>>> tests in >>>>>>>>>>>>>> the JDK repository. For some recently-written small >>>>>>>>>>>>>> examples see >>>>>>>>>>>>>> >>>>>>>>>>>>>> test/java/lang/reflect/Parameter/WithoutParameters.java >>>>>>>>>>>>>> test/java/lang/reflect/Method/DefaultMethodModeling.java.html >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> - Second, embrace combinatorial testing rather than >>>>>>>>>>>>>>> declaring a >>>>>>>>>>>>>>> bunch >>>>>>>>>>>>>>> of ad-hoc AnnotationTypeTestXX types with type >>>>>>>>>>>>>>> annotations in >>>>>>>>>>>>>>> various >>>>>>>>>>>>>>> locations. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The core reflection tests for repeating annotations use >>>>>>>>>>>>>>> both >>>>>>>>>>>>>>> these >>>>>>>>>>>>>>> techniques. Please look at item 2 of >>>>>>>>>>>>>>> http://wiki.se.oracle.com/display/JPG/Repeating+Annotation+Test+Plan#RepeatingAnnotationTestPlan-1.Featurecases >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> - apologies for non-Oracle readers. Please talk with Steve >>>>>>>>>>>>>>> and >>>>>>>>>>>>>>> Matherey to get background. To be clear, I will not sign >>>>>>>>>>>>>>> off >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> type >>>>>>>>>>>>>>> annotations reflection tests in their present form. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I concur that using combinatorial tests is appropriate for >>>>>>>>>>>>>> this >>>>>>>>>>>>>> domain. The basic approach is to programatically generate >>>>>>>>>>>>>> both the >>>>>>>>>>>>>> expected result and the code to test and verify that the >>>>>>>>>>>>>> computed >>>>>>>>>>>>>> answer is consistent with the expected one. The regression >>>>>>>>>>>>>> tests >>>>>>>>>>>>>> currently in JDK 8 have code that allows source code to be >>>>>>>>>>>>>> generated >>>>>>>>>>>>>> at runtime, loading in by a class loader, and then run. >>>>>>>>>>>>>> >>>>>>>>>>>>>> HTH, >>>>>>>>>>>>>> >>>>>>>>>>>>>> -Joe >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 5/21/2013 2:29 PM, Charlie Wang wrote: >>>>>>>>>>>>>>>> OK, thanks. >>>>>>>>>>>>>>>> I will create a TestUtil.java (as attached file). Extract >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>> common >>>>>>>>>>>>>>>> part and put them in it. And Add comments on data >>>>>>>>>>>>>>>> provider. >>>>>>>>>>>>>>>> I'm on a very tight schedule, so this time I just send out >>>>>>>>>>>>>>>> two of >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>> updated files (attached files) for review so I can get a >>>>>>>>>>>>>>>> quick >>>>>>>>>>>>>>>> response. >>>>>>>>>>>>>>>> If it is OK, I will use it as a template on other tests. >>>>>>>>>>>>>>>> Please take a look and send me your comments as soon as >>>>>>>>>>>>>>>> possible. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 2013/5/22 2:24, Alex Buckley wrote: >>>>>>>>>>>>>>>>> Please keep one source file per tested API method, >>>>>>>>>>>>>>>>> because >>>>>>>>>>>>>>>>> it is >>>>>>>>>>>>>>>>> easy >>>>>>>>>>>>>>>>> to navigate. The problem is the body of the test() >>>>>>>>>>>>>>>>> method in >>>>>>>>>>>>>>>>> each >>>>>>>>>>>>>>>>> source file. It should call utility methods to inspect >>>>>>>>>>>>>>>>> annotations, >>>>>>>>>>>>>>>>> rather that repeating more or less the same 'for' >>>>>>>>>>>>>>>>> loops as >>>>>>>>>>>>>>>>> every >>>>>>>>>>>>>>>>> other >>>>>>>>>>>>>>>>> test() method. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> As for data providers, I believe they are a TestNG thing. >>>>>>>>>>>>>>>>> Please >>>>>>>>>>>>>>>>> add >>>>>>>>>>>>>>>>> comments to each source file to describe what the data >>>>>>>>>>>>>>>>> provider >>>>>>>>>>>>>>>>> represents. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Finally, when you make a "little update", you should >>>>>>>>>>>>>>>>> give a >>>>>>>>>>>>>>>>> short >>>>>>>>>>>>>>>>> description of what has changed. If you don't, someone >>>>>>>>>>>>>>>>> who >>>>>>>>>>>>>>>>> looked at >>>>>>>>>>>>>>>>> the previous version has no idea what changed and will >>>>>>>>>>>>>>>>> have to >>>>>>>>>>>>>>>>> look at >>>>>>>>>>>>>>>>> everything again. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 5/21/2013 3:10 AM, Charlie Wang wrote: >>>>>>>>>>>>>>>>>> Yes, that make sense. What do you think if I combine the >>>>>>>>>>>>>>>>>> tests? It >>>>>>>>>>>>>>>>>> would >>>>>>>>>>>>>>>>>> then have 1 unified data provider and test method, thus >>>>>>>>>>>>>>>>>> solve >>>>>>>>>>>>>>>>>> the 2 >>>>>>>>>>>>>>>>>> problems. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>> On 2013/5/21 14:56, Werner Dietl wrote: >>>>>>>>>>>>>>>>>>> I agree with Alex's first two comments. The code >>>>>>>>>>>>>>>>>>> duplication >>>>>>>>>>>>>>>>>>> for the >>>>>>>>>>>>>>>>>>> test logic and all the different annotation types seems >>>>>>>>>>>>>>>>>>> hard to >>>>>>>>>>>>>>>>>>> maintain and update. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> cu, WMD. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Mon, May 20, 2013 at 7:56 PM, Charlie Wang >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>>> Here's the latest one with a little update: >>>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.03/ >>>>>>>>>>>>>>>>>>>> Please provide comments as soon as possible now >>>>>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>>>>> due >>>>>>>>>>>>>>>>>>>> date is >>>>>>>>>>>>>>>>>>>> approaching. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On 2013/5/19 14:10, Charlie Wang wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>>> Here's test for core reflection support of >>>>>>>>>>>>>>>>>>>> type-annotations >>>>>>>>>>>>>>>>>>>> JDK-8013497. >>>>>>>>>>>>>>>>>>>> Please take a look. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~ssides/8013497/webrev.02/ >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>>> Charlie >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> >> From jonathan.gibbons at oracle.com Wed Aug 21 15:08:35 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 21 Aug 2013 15:08:35 -0700 Subject: new tests in type-annotations repo Message-ID: <52153A63.7060209@oracle.com> I'm trying to merge type-annotations up into tl. I see two new tests, which are failing: A langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java A langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java Is this to be expected? What is the status of these tests? -- Jon From steve.sides at oracle.com Wed Aug 21 16:52:49 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 21 Aug 2013 16:52:49 -0700 Subject: new tests in type-annotations repo In-Reply-To: <52153A63.7060209@oracle.com> References: <52153A63.7060209@oracle.com> Message-ID: <521552D1.5000405@oracle.com> On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: > I'm trying to merge type-annotations up into tl. > > I see two new tests, which are failing: > > A > langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java > A > langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java > > Is this to be expected? What is the status of these tests? > > -- Jon These both are failing in nightlies and have open bugs(JDK-8015323 and JDK-8022901 respectively) and fail as reported. Neither has ever passed(since 6/14 and 7/16). -steve From steve.sides at oracle.com Wed Aug 21 17:01:34 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 21 Aug 2013 17:01:34 -0700 Subject: new tests in type-annotations repo In-Reply-To: <521552D1.5000405@oracle.com> References: <52153A63.7060209@oracle.com> <521552D1.5000405@oracle.com> Message-ID: <521554DE.8090306@oracle.com> On 8/21/2013 4:52 PM, Steve Sides wrote: > On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: >> I'm trying to merge type-annotations up into tl. >> >> I see two new tests, which are failing: >> >> A >> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >> A >> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >> >> Is this to be expected? What is the status of these tests? >> >> -- Jon > These both are failing in nightlies and have open bugs(JDK-8015323 and > JDK-8022901 respectively) and fail as reported. > Neither has ever passed(since 6/14 and 7/16). > > -steve "nightlies" as in nightly testing of builds from type-annotations repository. From jonathan.gibbons at oracle.com Wed Aug 21 17:21:06 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 21 Aug 2013 17:21:06 -0700 Subject: new tests in type-annotations repo In-Reply-To: <521552D1.5000405@oracle.com> References: <52153A63.7060209@oracle.com> <521552D1.5000405@oracle.com> Message-ID: <52155972.1080707@oracle.com> On 08/21/2013 04:52 PM, Steve Sides wrote: > On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: >> I'm trying to merge type-annotations up into tl. >> >> I see two new tests, which are failing: >> >> A >> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >> A >> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >> >> Is this to be expected? What is the status of these tests? >> >> -- Jon > These both are failing in nightlies and have open bugs(JDK-8015323 and > JDK-8022901 respectively) and fail as reported. > Neither has ever passed(since 6/14 and 7/16). > > -steve Steve, Thanks for the update. I guess we need to start focussing on test failures in the type-annotations repo, which is similar (but not the same) as the set of tests ignored in tl/langtools. Is there any easy way to identify the set of tests failing in the type-annotations forest? -- Jon From steve.sides at oracle.com Wed Aug 21 17:51:35 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 21 Aug 2013 17:51:35 -0700 Subject: new tests in type-annotations repo In-Reply-To: <52155972.1080707@oracle.com> References: <52153A63.7060209@oracle.com> <521552D1.5000405@oracle.com> <52155972.1080707@oracle.com> Message-ID: <52156097.9080607@oracle.com> On 8/21/2013 5:21 PM, Jonathan Gibbons wrote: > On 08/21/2013 04:52 PM, Steve Sides wrote: >> On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: >>> I'm trying to merge type-annotations up into tl. >>> >>> I see two new tests, which are failing: >>> >>> A >>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>> A >>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>> >>> Is this to be expected? What is the status of these tests? >>> >>> -- Jon >> These both are failing in nightlies and have open bugs(JDK-8015323 >> and JDK-8022901 respectively) and fail as reported. >> Neither has ever passed(since 6/14 and 7/16). >> >> -steve > > Steve, > > Thanks for the update. I guess we need to start focussing on test > failures in the type-annotations repo, which is similar (but not the > same) as the set of tests ignored in tl/langtools. > > Is there any easy way to identify the set of tests failing in the > type-annotations forest? > > -- Jon I updated the current test failures wiki: https://wiki.openjdk.java.net/display/TypeAnnotations/Current+Test+Failures -steve From jonathan.gibbons at oracle.com Wed Aug 21 17:53:16 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 21 Aug 2013 17:53:16 -0700 Subject: new tests in type-annotations repo In-Reply-To: <52156097.9080607@oracle.com> References: <52153A63.7060209@oracle.com> <521552D1.5000405@oracle.com> <52155972.1080707@oracle.com> <52156097.9080607@oracle.com> Message-ID: <521560FC.80409@oracle.com> On 08/21/2013 05:51 PM, Steve Sides wrote: > On 8/21/2013 5:21 PM, Jonathan Gibbons wrote: >> On 08/21/2013 04:52 PM, Steve Sides wrote: >>> On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: >>>> I'm trying to merge type-annotations up into tl. >>>> >>>> I see two new tests, which are failing: >>>> >>>> A >>>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>>> A >>>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>>> >>>> Is this to be expected? What is the status of these tests? >>>> >>>> -- Jon >>> These both are failing in nightlies and have open bugs(JDK-8015323 >>> and JDK-8022901 respectively) and fail as reported. >>> Neither has ever passed(since 6/14 and 7/16). >>> >>> -steve >> >> Steve, >> >> Thanks for the update. I guess we need to start focussing on test >> failures in the type-annotations repo, which is similar (but not the >> same) as the set of tests ignored in tl/langtools. >> >> Is there any easy way to identify the set of tests failing in the >> type-annotations forest? >> >> -- Jon > I updated the current test failures wiki: > https://wiki.openjdk.java.net/display/TypeAnnotations/Current+Test+Failures > > > -steve thanks, Steve -- Jon From wdietl at gmail.com Wed Aug 21 17:57:47 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 22 Aug 2013 02:57:47 +0200 Subject: new tests in type-annotations repo In-Reply-To: <52153A63.7060209@oracle.com> References: <52153A63.7060209@oracle.com> Message-ID: Jon, all, > I'm trying to merge type-annotations up into tl. Great! Do let me know if there is anything I can do. > I see two new tests, which are failing: > > A > langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java Quoting from my June 19, 2013 message (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): === I will not push my updates until the EG decided the desired behavior. Failing tests T8008762.java and TestAnonInnerClasses.java are waiting on this discussion: http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html There are some refactorings of the Annotations code in the pipeline and I suggest we look at these issues again after those refactorings. === I don't know what the schedule of the EG and the larger annotation refactorings are. > A > langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java I added this test for: http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html I didn't get to implement the larger refactoring suggested by Joel. Should I add a simple fix to make the test pass? cu, WMD. -- http://www.google.com/profiles/wdietl From steve.sides at oracle.com Wed Aug 21 18:12:19 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 21 Aug 2013 18:12:19 -0700 Subject: new tests in type-annotations repo In-Reply-To: <521560FC.80409@oracle.com> References: <52153A63.7060209@oracle.com> <521552D1.5000405@oracle.com> <52155972.1080707@oracle.com> <52156097.9080607@oracle.com> <521560FC.80409@oracle.com> Message-ID: <52156573.60703@oracle.com> On 8/21/2013 5:53 PM, Jonathan Gibbons wrote: > On 08/21/2013 05:51 PM, Steve Sides wrote: >> On 8/21/2013 5:21 PM, Jonathan Gibbons wrote: >>> On 08/21/2013 04:52 PM, Steve Sides wrote: >>>> On 8/21/2013 3:08 PM, Jonathan Gibbons wrote: >>>>> I'm trying to merge type-annotations up into tl. >>>>> >>>>> I see two new tests, which are failing: >>>>> >>>>> A >>>>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>>>> A >>>>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>>>> >>>>> Is this to be expected? What is the status of these tests? >>>>> >>>>> -- Jon >>>> These both are failing in nightlies and have open bugs(JDK-8015323 >>>> and JDK-8022901 respectively) and fail as reported. >>>> Neither has ever passed(since 6/14 and 7/16). >>>> >>>> -steve >>> >>> Steve, >>> >>> Thanks for the update. I guess we need to start focussing on test >>> failures in the type-annotations repo, which is similar (but not the >>> same) as the set of tests ignored in tl/langtools. >>> >>> Is there any easy way to identify the set of tests failing in the >>> type-annotations forest? >>> >>> -- Jon >> I updated the current test failures wiki: >> https://wiki.openjdk.java.net/display/TypeAnnotations/Current+Test+Failures >> >> >> -steve > > thanks, Steve > > -- Jon And recently there's a new one (8023522, may not be visible yet). tools/javac/tree/TypeAnnotationsPretty.java - test cases with "@TA\n" fail on windows only I added it to the wiki. -steve From alex.buckley at oracle.com Wed Aug 21 18:24:45 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 21 Aug 2013 18:24:45 -0700 Subject: new tests in type-annotations repo In-Reply-To: References: <52153A63.7060209@oracle.com> Message-ID: <5215685D.6020503@oracle.com> To cut to the chase, the EG isn't going to change anything. Mike is due to send a mail about this next week. Alex On 8/21/2013 5:57 PM, Werner Dietl wrote: > Jon, all, > >> I'm trying to merge type-annotations up into tl. > > Great! Do let me know if there is anything I can do. > > >> I see two new tests, which are failing: >> >> A >> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java > > Quoting from my June 19, 2013 message > (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): > > === > I will not push my updates until the EG decided the desired behavior. > > Failing tests T8008762.java and TestAnonInnerClasses.java are waiting > on this discussion: > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html > > There are some refactorings of the Annotations code in the pipeline > and I suggest we look at these issues again after those refactorings. > === > > I don't know what the schedule of the EG and the larger annotation > refactorings are. > > >> A >> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java > > I added this test for: > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html > I didn't get to implement the larger refactoring suggested by Joel. > Should I add a simple fix to make the test pass? > > cu, WMD. > From alex.buckley at oracle.com Thu Aug 22 11:43:47 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 22 Aug 2013 11:43:47 -0700 Subject: Review request for type annotation reflection test In-Reply-To: <52132F2D.80402@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> Message-ID: <52165BE3.8060703@oracle.com> I have no further comments. Thanks for all your work to test this new and expansive API. Alex On 8/20/2013 1:56 AM, Charlie Wang wrote: > Hi Alex, > I used testInput.size() instead of static int clsIdx as suffix this > time. And other update according to your comments. > > Here's the link. Please review again. > http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ > > > - Charlie > > On 2013/8/9 1:05, Alex Buckley wrote: >> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >> objecting to. It was the fact that you're relying on a mutable public >> static variable at all. >> >> - GenTestCode should take Class, so you >> don't need to cast to TestCaseGenerator in GenTestCode. (Same comment >> for AnnotationTest.compileCode). >> >> - AnnotationTest.testInput is a Map but I'm sure you >> can do better than Object for keys.' >> >> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >> AnnotationTest.testInput, but swaps the order of the type arguments! >> Map is either wrong, or should not use Object. >> >> Alex From sergey.grinev at oracle.com Fri Aug 23 03:36:01 2013 From: sergey.grinev at oracle.com (Sergey Grinev) Date: Fri, 23 Aug 2013 14:36:01 +0400 Subject: Review request for type annotation reflection test In-Reply-To: <52165BE3.8060703@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> Message-ID: <52173B11.6020503@oracle.com> Hi, all. Sorry if this review covers same issue I reported on reviewboard one, but it seems few important point were not fixed: 1. public Map lhm = new LinkedHashMap<>(); and public synchronized static String genDeclaration( Map input, Declaration... srcType) - fields used as a method-local temporary variables are error-prone and confusing. Users/readers of that code are not aware when this field can be used or when this field can be cleared, also using such field is not thread-safe. Imagine someone added one more ENUM value to TestCase, used lhm and didn't call lhm.clear() -- things will break and very different place this person didn't even touch. - Map claims it stores Objects but actually they are only String and String[]. Thus your getDeclaration() has invalid signature and is error-prone. Also you calls instanceof several times to resolve this ambiguity which is considered to be an anti-pattern as well. You can solve these problems by introducing separate entity responsible for declaration generation: public class DeclarationGenerator { private final Map lhm = new LinkedHashMap<>(); public void add(Helper.Declaration key, String... value) { lhm.put(key, value); } public String genDeclaration(Declaration... srcType) { //... for (Declaration st : Declaration.values()) { if (input.containsKey(st)) result.append(st.getSrc(input.get(st))); } //... } } with this helper class instead of lhm.clear(); lhm.put(Helper.Declaration.IMPORT, null); lhm.put(Helper.Declaration.CLASS, str[0]); testCode += Helper.genDeclaration(lhm); you can write DeclarationGenerator dg = new DeclarationGenerator(); // not to reuse, create new one for each generation dg.put(Helper.Declaration.IMPORT, null); dg.put(Helper.Declaration.CLASS, str[0]); testCode += dg.genDeclaration(); having clean design without field used as temporary variable and type ambiguity. 2. several TestCase enum entries, especially TESTBASECLSSTART and TESTBASECLS are copypasted in several places. 3. public static Map testInput = new LinkedHashMap<>(); why this field in static? -- Sergey On 22-Aug-13 22:43, Alex Buckley wrote: > I have no further comments. Thanks for all your work to test this new > and expansive API. > > Alex > > On 8/20/2013 1:56 AM, Charlie Wang wrote: >> Hi Alex, >> I used testInput.size() instead of static int clsIdx as suffix this >> time. And other update according to your comments. >> >> Here's the link. Please review again. >> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ >> >> >> - Charlie >> >> On 2013/8/9 1:05, Alex Buckley wrote: >>> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >>> objecting to. It was the fact that you're relying on a mutable public >>> static variable at all. >>> >>> - GenTestCode should take Class, so you >>> don't need to cast to TestCaseGenerator in GenTestCode. (Same comment >>> for AnnotationTest.compileCode). >>> >>> - AnnotationTest.testInput is a Map but I'm sure you >>> can do better than Object for keys.' >>> >>> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >>> AnnotationTest.testInput, but swaps the order of the type arguments! >>> Map is either wrong, or should not use Object. >>> >>> Alex From sergey.grinev at oracle.com Fri Aug 23 06:52:16 2013 From: sergey.grinev at oracle.com (Sergey Grinev) Date: Fri, 23 Aug 2013 17:52:16 +0400 Subject: Review request for type annotation reflection test In-Reply-To: <52173B11.6020503@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> <52173B11.6020503@oracle.com> Message-ID: <52176910.4070601@oracle.com> Also few minor comments: 1. Helper#getAnno() StringBuffer result = new StringBuffer(""); using StringBuilder is recommended for thread-safe methods 2. List Helper.getMultipleAT() this method uses List where List can be specified 3. Helper.compareAnnoWithDiffSeq() this can be done much shorted and without copying array to list: String[] split1 = anno1.trim().split("\\s+"); String[] split2 = anno2.trim().split("\\s+"); Arrays.sort(split1); Arrays.sort(split2); return Arrays.equals(split1, split2); 4. Helper.compileCode():697-704 can be simplified using jdk8 streams: ok = diagnostics.getDiagnostics().stream().anyMatch(d -> d.getKind() == Diagnostic.Kind.ERROR); 5. Same for Helper.isPkgInfoPresent: return files.stream().map(JavaFileObject::getName).anyMatch(name -> name.contains("package-info") || name.contains("PkgAnno")); 6. AnnotatedArrayTypeGetAnnotatedGenericComponentTypeTest:175 You are calling Helper.getArrAT(at) then split it by ";" and work with result. while Helper.getArrAT() takes a list and convert it into string: return getAnno(annotations) + ";" + ret; It may be more efficient to work directly with lists. 7. DeclarationGenerator interface is never used as interface 8. Helper.Declaration.replaceAnnoStr should be static 9. Helper.Declaration.replaceAnnoStr/getFirstAnno return result as String[] array, which is considered to be a bad practice (you are using variable length structure to store exactly 2 values). It would be cleaner to introduce intermediate structure of 2 string to store return value. -- Sergey On 23-Aug-13 14:36, Sergey Grinev wrote: > Hi, all. > > Sorry if this review covers same issue I reported on reviewboard one, > but it seems few important point were not fixed: > > 1. public Map lhm = new LinkedHashMap<>(); > and > public synchronized static String genDeclaration( > Map input, Declaration... > srcType) > > - fields used as a method-local temporary variables are error-prone > and confusing. Users/readers of that code are not aware when this > field can be used or when this field can be cleared, also using such > field is not thread-safe. Imagine someone added one more ENUM value to > TestCase, used lhm and didn't call lhm.clear() -- things will break > and very different place this person didn't even touch. > > - Map claims it stores Objects but actually they are only String and > String[]. Thus your getDeclaration() has invalid signature and is > error-prone. Also you calls instanceof several times to resolve this > ambiguity which is considered to be an anti-pattern as well. > > You can solve these problems by introducing separate entity > responsible for declaration generation: > > public class DeclarationGenerator { > > private final Map lhm = new > LinkedHashMap<>(); > public void add(Helper.Declaration key, String... value) { > lhm.put(key, value); > } > public String genDeclaration(Declaration... srcType) { > //... > for (Declaration st : Declaration.values()) { > if (input.containsKey(st)) > result.append(st.getSrc(input.get(st))); > } > //... > } > } > > with this helper class instead of > > lhm.clear(); > lhm.put(Helper.Declaration.IMPORT, null); > lhm.put(Helper.Declaration.CLASS, str[0]); > testCode += Helper.genDeclaration(lhm); > > you can write > > DeclarationGenerator dg = new DeclarationGenerator(); > // not to reuse, create new one for each generation > dg.put(Helper.Declaration.IMPORT, null); > dg.put(Helper.Declaration.CLASS, str[0]); > testCode += dg.genDeclaration(); > > having clean design without field used as temporary variable and type > ambiguity. > > > 2. several TestCase enum entries, especially TESTBASECLSSTART and > TESTBASECLS are copypasted in several places. > > 3. public static Map testInput = new LinkedHashMap<>(); > > why this field in static? > > > -- Sergey > > On 22-Aug-13 22:43, Alex Buckley wrote: >> I have no further comments. Thanks for all your work to test this new >> and expansive API. >> >> Alex >> >> On 8/20/2013 1:56 AM, Charlie Wang wrote: >>> Hi Alex, >>> I used testInput.size() instead of static int clsIdx as suffix this >>> time. And other update according to your comments. >>> >>> Here's the link. Please review again. >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ >>> >>> >>> - Charlie >>> >>> On 2013/8/9 1:05, Alex Buckley wrote: >>>> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >>>> objecting to. It was the fact that you're relying on a mutable public >>>> static variable at all. >>>> >>>> - GenTestCode should take Class, so you >>>> don't need to cast to TestCaseGenerator in GenTestCode. (Same comment >>>> for AnnotationTest.compileCode). >>>> >>>> - AnnotationTest.testInput is a Map but I'm sure you >>>> can do better than Object for keys.' >>>> >>>> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >>>> AnnotationTest.testInput, but swaps the order of the type arguments! >>>> Map is either wrong, or should not use Object. >>>> >>>> Alex > From alex.buckley at oracle.com Fri Aug 23 12:14:43 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 23 Aug 2013 12:14:43 -0700 Subject: Incorrect attributes emitted for anonymous class declaration Message-ID: <5217B4A3.5050205@oracle.com> I have just filed JDK-8023682 "Incorrect attributes emitted for anonymous class declaration" against javac. FYI the issues therein arise from the EG thread at http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2013-August/000127.html Alex From jonathan.gibbons at oracle.com Sat Aug 24 16:05:35 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 24 Aug 2013 16:05:35 -0700 Subject: Javadoc and @since in com.sun.source.tree In-Reply-To: References: <51F70F07.1010708@oracle.com> Message-ID: <52193C3F.2010706@oracle.com> On 08/02/2013 02:10 PM, Werner Dietl wrote: > Jon, > > I've added two @since annotations and javadoc: > > http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/342d34b65fd8 > > Please have a look. I added some comments about the new TYPE_USE and > TYPE_PARAMETER target. Maybe that should we added just once, somewhere > else? Feel free to edit/remove this. > > Only few changes were required, as most methods return a generic Tree > and can automatically return annotated type trees. > > I have one question: method > > com.sun.source.tree.NewClassTree.getIdentifier() > > actually returns the type of the instantiation - including type > annotations, type arguments, etc. Really? From both the javadoc on NewClassTree, and from a superficial look at the impl, I would expect getIdentifier to return the name of the class being instantiation. Admittedly, "identifier" seems simplistic, but it is in line with the usage in JLS 15.9 If it is returning type annotations and type arguments, that would warrant a raised eyebrow and further investigation. > In contrast, method > > com.sun.source.tree.NewArrayTree.getType() > > presumably does the same thing, i.e. returns the array component type. It should return the element type without any dimension info. > > Why is one named getIdentifier() and one getType()? The interfaces in com.sun.source.tree were (generally) based on the BNF rules in JLS 3 (which was current at the time the API was designed.) Although the methods do not have much (if any) javadoc, in general, there should be class level docs, citing the relevant JLS sections and grammar rules, and there should be a strong correspondence between the words in the grammar rules in the doc comments and the method names. Alex, has done a lot of work for JLS 8, rationalizing the grammar rules in JLS, and at some point it might be worth reflecting that in the comments on com.sun.source.tree. I'm not sure how much we can/want to change the method names, but bringing the javadoc comments up to date with the corresponding JLS sections would be good, and we could give additional details when the declared method name is at variance with the word in the grammar production. HTH. > Should getIdentifier() not return type annotations? > Some javadoc on these methods would help :-) > > cu, WMD. > > On Mon, Jul 29, 2013 at 5:55 PM, Jonathan Gibbons > wrote: >> On 07/29/2013 05:44 PM, Werner Dietl wrote: >>> JSR 308 added a few methods/enum constants in com.sun.source.tree, e.g.: >>> >>> com.sun.source.tree.Tree.Kind.ANNOTATED_TYPE >>> com.sun.source.tree.TypeParameterTree.getAnnotations() >>> >>> These currently have no Javadoc (which is consistent with the lack of >>> Javadoc in other such classes) and no @since 1.8. >>> As these classes are @jdk.Supported, I think it would be nice to >>> document our changes. >>> Should I add some first blurbs or is somebody else better suited? >>> >>> Cheers, >>> cu, WMD. >>> >> If you put @since on the new items, I'll put @since on the older items. >> >> -- Jon > > From wdietl at gmail.com Sat Aug 24 16:19:09 2013 From: wdietl at gmail.com (Werner Dietl) Date: Sat, 24 Aug 2013 16:19:09 -0700 Subject: Javadoc and @since in com.sun.source.tree In-Reply-To: <52193C3F.2010706@oracle.com> References: <51F70F07.1010708@oracle.com> <52193C3F.2010706@oracle.com> Message-ID: On Sat, Aug 24, 2013 at 4:05 PM, Jonathan Gibbons wrote: > On 08/02/2013 02:10 PM, Werner Dietl wrote: >> >> Jon, >> >> I've added two @since annotations and javadoc: >> >> >> http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/342d34b65fd8 >> >> Please have a look. I added some comments about the new TYPE_USE and >> TYPE_PARAMETER target. Maybe that should we added just once, somewhere >> else? Feel free to edit/remove this. >> >> Only few changes were required, as most methods return a generic Tree >> and can automatically return annotated type trees. >> >> I have one question: method >> >> com.sun.source.tree.NewClassTree.getIdentifier() >> >> actually returns the type of the instantiation - including type >> annotations, type arguments, etc. > > > Really? From both the javadoc on NewClassTree, and from a > superficial look at the impl, I would expect getIdentifier to return > the name of the class being instantiation. Admittedly, "identifier" > seems simplistic, but it is in line with the usage in JLS 15.9 My interpretation is that com.sun.source.tree.NewClassTree.getTypeArguments() returns the type arguments of the constructor itself, not of the type being instantiated. So in "new ArrayList()" I expect NewClassTree.getTypeArguments() to return an empty List and getIdentifier() to return the Tree "ArrayList". If we have "new @TA ArrayList()" getIdentifier() will return the instantiated type, including the type annotation. Looking at a few uses of com.sun.tools.javac.tree.JCTree.JCNewClass, e.g. in com.sun.tools.javac.comp.Attr.visitNewClass(JCNewClass) you will see code like: if (clazz.hasTag(TYPEAPPLY)) { So it seems like it is expected that clazz has type arguments. > If it is returning type annotations and type arguments, that would > warrant a raised eyebrow and further investigation. Raised? cu, WMD. >> In contrast, method >> >> com.sun.source.tree.NewArrayTree.getType() >> >> presumably does the same thing, i.e. returns the array component type. > > > It should return the element type without any dimension info. > > >> >> Why is one named getIdentifier() and one getType()? > > > The interfaces in com.sun.source.tree were (generally) based > on the BNF rules in JLS 3 (which was current at the time the API > was designed.) Although the methods do not have much (if any) > javadoc, in general, there should be class level docs, citing the > relevant JLS sections and grammar rules, and there should be a > strong correspondence between the words in the grammar rules in > the doc comments and the method names. > > Alex, has done a lot of work for JLS 8, rationalizing the grammar > rules in JLS, and at some point it might be worth reflecting that in the > comments on com.sun.source.tree. I'm not sure how much we > can/want to change the method names, but bringing the javadoc > comments up to date with the corresponding JLS sections would be > good, and we could give additional details when the declared method > name is at variance with the word in the grammar production. > > HTH. > > > >> Should getIdentifier() not return type annotations? >> Some javadoc on these methods would help :-) >> >> cu, WMD. >> >> On Mon, Jul 29, 2013 at 5:55 PM, Jonathan Gibbons >> wrote: >>> >>> On 07/29/2013 05:44 PM, Werner Dietl wrote: >>>> >>>> JSR 308 added a few methods/enum constants in com.sun.source.tree, e.g.: >>>> >>>> com.sun.source.tree.Tree.Kind.ANNOTATED_TYPE >>>> com.sun.source.tree.TypeParameterTree.getAnnotations() >>>> >>>> These currently have no Javadoc (which is consistent with the lack of >>>> Javadoc in other such classes) and no @since 1.8. >>>> As these classes are @jdk.Supported, I think it would be nice to >>>> document our changes. >>>> Should I add some first blurbs or is somebody else better suited? >>>> >>>> Cheers, >>>> cu, WMD. >>>> >>> If you put @since on the new items, I'll put @since on the older items. >>> >>> -- Jon >> >> >> > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Sat Aug 24 16:38:28 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 24 Aug 2013 23:38:28 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 3 new changesets Message-ID: <20130824233839.D69A348B35@hg.openjdk.java.net> Changeset: b99d7e355d4b Author: mkos Date: 2013-08-23 09:57 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/b99d7e355d4b 8022885: Update JAX-WS RI integration to 2.2.9-b14140 8013016: Rebase 8009009 against the latest jdk8/jaxws Reviewed-by: alanb, chegar ! src/share/jaxws_classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/probe/provider/annotations/Probe.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/AverageRangeStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundaryStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundedRangeStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/CountStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/RangeStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StringStatisticImpl.java ! src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/TimeStatisticImpl.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/SchemaCache.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/model/package-info.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java ! src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/Util.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.properties ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/core/package-info.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/package-info.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/EditDistance.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/XmlFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDEventListener.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDParser.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EndOfInputException.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EntityDecl.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/ExternalEntity.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InputEntity.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InternalEntity.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/MessageCatalog.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/Resolver.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlChars.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlNames.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlReader.java ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/package.html ! src/share/jaxws_classes/com/sun/xml/internal/dtdparser/resources/Messages.properties ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Features.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Properties.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java ! src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/txw2/output/XMLWriter.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/Container.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/ThreadLocalContainerResolver.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/commons/xmlutil/Converter.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/TagInfoset.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/StreamingMessages.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/streaming.properties ! src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingContext.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/annotation.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/erSet.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/ersSet.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/facet.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/group.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/notation.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/occurs.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/particle.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/qname.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/redefine.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/xpath.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/parser/JAXPParser.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/parser/XSOMParser.java ! src/share/jaxws_classes/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java ! src/share/jaxws_classes/javax/xml/bind/Binder.java ! src/share/jaxws_classes/javax/xml/bind/ContextFinder.java ! src/share/jaxws_classes/javax/xml/bind/DataBindingException.java ! src/share/jaxws_classes/javax/xml/bind/DatatypeConverter.java ! src/share/jaxws_classes/javax/xml/bind/DatatypeConverterImpl.java ! src/share/jaxws_classes/javax/xml/bind/DatatypeConverterInterface.java ! src/share/jaxws_classes/javax/xml/bind/Element.java ! src/share/jaxws_classes/javax/xml/bind/GetPropertyAction.java ! src/share/jaxws_classes/javax/xml/bind/JAXB.java ! src/share/jaxws_classes/javax/xml/bind/JAXBContext.java ! src/share/jaxws_classes/javax/xml/bind/JAXBElement.java ! src/share/jaxws_classes/javax/xml/bind/JAXBException.java ! src/share/jaxws_classes/javax/xml/bind/JAXBIntrospector.java ! src/share/jaxws_classes/javax/xml/bind/JAXBPermission.java ! src/share/jaxws_classes/javax/xml/bind/MarshalException.java ! src/share/jaxws_classes/javax/xml/bind/Messages.java ! src/share/jaxws_classes/javax/xml/bind/Messages.properties ! src/share/jaxws_classes/javax/xml/bind/NotIdentifiableEvent.java ! src/share/jaxws_classes/javax/xml/bind/ParseConversionEvent.java ! src/share/jaxws_classes/javax/xml/bind/PrintConversionEvent.java ! src/share/jaxws_classes/javax/xml/bind/PropertyException.java ! src/share/jaxws_classes/javax/xml/bind/SchemaOutputResolver.java ! src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java ! src/share/jaxws_classes/javax/xml/bind/UnmarshalException.java ! src/share/jaxws_classes/javax/xml/bind/Unmarshaller.java ! src/share/jaxws_classes/javax/xml/bind/UnmarshallerHandler.java ! src/share/jaxws_classes/javax/xml/bind/ValidationEvent.java ! src/share/jaxws_classes/javax/xml/bind/ValidationEventHandler.java ! src/share/jaxws_classes/javax/xml/bind/ValidationEventLocator.java ! src/share/jaxws_classes/javax/xml/bind/ValidationException.java ! src/share/jaxws_classes/javax/xml/bind/Validator.java ! src/share/jaxws_classes/javax/xml/bind/WhiteSpaceProcessor.java ! src/share/jaxws_classes/javax/xml/bind/annotation/DomHandler.java ! src/share/jaxws_classes/javax/xml/bind/annotation/W3CDomHandler.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAccessOrder.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAccessType.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAccessorOrder.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAccessorType.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAnyAttribute.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAnyElement.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAttachmentRef.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlAttribute.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElement.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElementDecl.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElementRef.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElementRefs.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElementWrapper.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlElements.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlEnum.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlEnumValue.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlID.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlIDREF.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlList.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlMixed.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlNs.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlNsForm.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlRegistry.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlRootElement.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlSchema.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlSchemaType.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlSchemaTypes.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlSeeAlso.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlTransient.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlType.java ! src/share/jaxws_classes/javax/xml/bind/annotation/XmlValue.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java ! src/share/jaxws_classes/javax/xml/bind/annotation/adapters/package.html ! src/share/jaxws_classes/javax/xml/bind/annotation/package.html ! src/share/jaxws_classes/javax/xml/bind/attachment/AttachmentMarshaller.java ! src/share/jaxws_classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java ! src/share/jaxws_classes/javax/xml/bind/attachment/package.html ! src/share/jaxws_classes/javax/xml/bind/helpers/AbstractMarshallerImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/DefaultValidationEventHandler.java ! src/share/jaxws_classes/javax/xml/bind/helpers/Messages.java ! src/share/jaxws_classes/javax/xml/bind/helpers/Messages.properties ! src/share/jaxws_classes/javax/xml/bind/helpers/NotIdentifiableEventImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/ParseConversionEventImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/PrintConversionEventImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/ValidationEventImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/ValidationEventLocatorImpl.java ! src/share/jaxws_classes/javax/xml/bind/helpers/package.html ! src/share/jaxws_classes/javax/xml/bind/package.html ! src/share/jaxws_classes/javax/xml/bind/util/JAXBResult.java ! src/share/jaxws_classes/javax/xml/bind/util/JAXBSource.java ! src/share/jaxws_classes/javax/xml/bind/util/Messages.java ! src/share/jaxws_classes/javax/xml/bind/util/Messages.properties ! src/share/jaxws_classes/javax/xml/bind/util/ValidationEventCollector.java ! src/share/jaxws_classes/javax/xml/bind/util/package.html Changeset: d8593d8581df Author: mkos Date: 2013-08-23 11:10 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/d8593d8581df 8023636: Missing files from 8022885 Reviewed-by: alanb, chegar + src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java + src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/NamespaceContextExAdaper.java + src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLReaderComposite.java Changeset: 835616476b6d Author: wmdietl Date: 2013-08-24 16:38 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/835616476b6d Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws From wdietl at gmail.com Sat Aug 24 16:40:54 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 24 Aug 2013 23:40:54 +0000 Subject: hg: type-annotations/type-annotations/nashorn: 19 new changesets Message-ID: <20130824234119.1A8ED48B36@hg.openjdk.java.net> Changeset: bbc4e9d37315 Author: jlaskey Date: 2013-08-12 18:00 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/bbc4e9d37315 8022676: Confusing error message checking instanceof non-class Reviewed-by: jlaskey, sundar Contributed-by: michael.horowitz at oracle.com ! src/jdk/nashorn/internal/runtime/resources/Messages.properties Changeset: ba507ac08719 Author: sundar Date: 2013-08-14 20:51 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/ba507ac08719 8023026: Array.prototype iterator functions like forEach, reduce should work for Java arrays, lists Reviewed-by: jlaskey, lagergren - src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/JavaArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/JavaListIterator.java - src/jdk/nashorn/internal/runtime/arrays/MapIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseJavaArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseJavaListIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseScriptArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseScriptObjectIterator.java + src/jdk/nashorn/internal/runtime/arrays/ScriptArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ScriptObjectIterator.java + test/script/basic/JDK-8023026.js + test/script/basic/JDK-8023026.js.EXPECTED Changeset: 09c99b58b81e Author: sundar Date: 2013-08-16 15:04 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/09c99b58b81e 8020355: bind on built-in constructors don't use bound argument values Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java + test/script/basic/JDK-8020355.js Changeset: 1d29d2e27590 Author: hannesw Date: 2013-08-16 13:42 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/1d29d2e27590 8019985: Date.parse("2000-01-01T00:00:00.Z") should return NaN Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/parser/DateParser.java + test/script/basic/JDK-8019985.js Changeset: 36fb36217e1d Author: lagergren Date: 2013-08-16 18:51 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/36fb36217e1d 8023017: SUB missing for widest op == number for BinaryNode Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethod.java ! src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java Changeset: bd0174b1a42f Author: sundar Date: 2013-08-19 17:16 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/bd0174b1a42f 8023210: jjs tools should support a mode where it will load few command line scripts and then entering into interactive shell Reviewed-by: hannesw, attila, lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java Changeset: e628aefac504 Author: sundar Date: 2013-08-19 19:37 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/e628aefac504 Merge - src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/MapIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java Changeset: dbb0a20a6f27 Author: attila Date: 2013-08-21 13:39 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/dbb0a20a6f27 8023373: allow super invocation for adapters Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java + test/script/basic/JDK-8023373.js + test/script/basic/JDK-8023373.js.EXPECTED Changeset: dc322503ce36 Author: attila Date: 2013-08-21 13:39 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/dc322503ce36 8022903: Enhance for-in and for-each for Lists and Maps Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8022903.js + test/script/basic/JDK-8022903.js.EXPECTED Changeset: b7c04b3b01a7 Author: sundar Date: 2013-08-21 17:28 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/b7c04b3b01a7 8023368: Instance __proto__ property should exist and be writable. Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/runtime/PropertyListener.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + test/script/basic/JDK-8023368.js + test/script/basic/JDK-8023368.js.EXPECTED + test/script/basic/JDK-8023368_2.js + test/script/basic/JDK-8023368_2.js.EXPECTED + test/script/basic/circular_proto.js + test/script/basic/circular_proto.js.EXPECTED + test/script/basic/mirror_proto_assign.js + test/script/basic/mirror_proto_assign.js.EXPECTED + test/script/basic/nonextensible_proto_assign.js + test/script/basic/nonextensible_proto_assign.js.EXPECTED Changeset: 54f60d91024c Author: sundar Date: 2013-08-22 18:46 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/54f60d91024c 8023551: Mirror functions can not be invoked using invokeMethod, invokeFunction Reviewed-by: attila, jlaskey, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java + test/script/basic/JDK-8023551.js + test/script/basic/JDK-8023551.js.EXPECTED ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 8ad9bcb04e6d Author: hannesw Date: 2013-08-22 17:23 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/8ad9bcb04e6d 8023531: new RegExp('').toString() should return '/(?:)/' Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/regexp/RegExp.java + test/script/basic/JDK-8023531.js Changeset: c5c5ab3f420a Author: jlaskey Date: 2013-08-22 13:51 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/c5c5ab3f420a 8023228: Debugger information gather is too slow. Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/Context.java + src/jdk/nashorn/internal/runtime/DebuggerSupport.java Changeset: 5a1e07b9a3cd Author: sundar Date: 2013-08-22 22:32 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/5a1e07b9a3cd 8023560: Arbitrary javax.script.Bindings objects as ENGINE_SCOPE objects are not handled as expected. Reviewed-by: jlaskey, lagergren, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java Changeset: d82ac93aa55c Author: sundar Date: 2013-08-23 16:10 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/d82ac93aa55c 8023631: engine.js init script should be loaded into every global instance created by engines Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js + test/src/jdk/nashorn/api/scripting/InvocableTest.java + test/src/jdk/nashorn/api/scripting/ScopeTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java Changeset: 6b6a8fc714a9 Author: lagergren Date: 2013-08-23 12:43 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/6b6a8fc714a9 8023453: --log=attr did not unindent identNodes Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/codegen/Attr.java Changeset: 4dcd5a22fdd3 Author: lagergren Date: 2013-08-23 12:44 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/4dcd5a22fdd3 Merge Changeset: f18f2ce1b2dc Author: attila Date: 2013-08-23 13:10 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/f18f2ce1b2dc 8023630: Implement Java.super() as the preferred way to call super methods Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java + src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapter.java + src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java + test/script/basic/JDK-8023630.js + test/script/basic/JDK-8023630.js.EXPECTED ! test/script/basic/NASHORN-397.js Changeset: 2ce55025a37d Author: sundar Date: 2013-08-23 16:44 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/2ce55025a37d Merge From wdietl at gmail.com Sat Aug 24 16:42:58 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 24 Aug 2013 23:42:58 +0000 Subject: hg: type-annotations/type-annotations/langtools: 17 new changesets Message-ID: <20130824234413.C086E48B37@hg.openjdk.java.net> Changeset: 389eaf6ed973 Author: ksrini Date: 2013-08-19 07:47 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/389eaf6ed973 7071377: Exception when javac -processor is given a class name with invalid postfix Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/processing/errors/TestClassNames.java Changeset: 55da6b3a6940 Author: kizune Date: 2013-08-20 17:34 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/55da6b3a6940 7182350: Regression in wording of unchecked warning message Reviewed-by: mcimadamore, jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/6758789/T6758789b.out + test/tools/javac/7182350/T7182350.java + test/tools/javac/7182350/T7182350.out ! test/tools/javac/generics/7015430/T7015430_1.out ! test/tools/javac/generics/7015430/T7015430_2.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/inference/6718364/T6718364.out ! test/tools/javac/generics/inference/7177306/T7177306a.out Changeset: e811fb09a1dc Author: jfranck Date: 2013-08-20 17:21 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/e811fb09a1dc 8019243: AnnotationTypeMismatchException instead of MirroredTypeException Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java + test/tools/javac/processing/errors/EnsureMirroredTypeException/Processor.java + test/tools/javac/processing/errors/EnsureMirroredTypeException/Source.java + test/tools/javac/processing/errors/EnsureMirroredTypeException/Source.out Changeset: 58da1296c6b3 Author: darcy Date: 2013-08-20 12:15 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/58da1296c6b3 8011043: Warn about use of 1.5 and earlier source and target values Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javadoc/Start.java + test/tools/javac/diags/examples/ObsoleteSourceAndTarget.java Changeset: 0f88e3d3d250 Author: ksrini Date: 2013-08-20 14:15 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0f88e3d3d250 7179455: tools/javac/processing/model/testgetallmembers/Main.java fails against JDK 7 and JDK 8 Reviewed-by: jjg ! test/tools/javac/processing/model/testgetallmembers/Main.java Changeset: a76dc1b4c299 Author: jjg Date: 2013-08-20 14:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/a76dc1b4c299 8020663: Restructure some properties to facilitate better translation Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Changeset: 79e341614c50 Author: jjg Date: 2013-08-20 14:55 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/79e341614c50 8022080: javadoc generates invalid HTML in Turkish locale Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java Changeset: 720992953d43 Author: jjg Date: 2013-08-20 15:12 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/720992953d43 8013887: In class use, some tables are randomly unsorted Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Changeset: 7de231613e4a Author: jjg Date: 2013-08-21 16:13 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7de231613e4a 8023515: import type-annotations updates Reviewed-by: jjg Contributed-by: wdietl at gmail.com ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java + test/tools/javac/annotations/typeAnnotations/failures/DummyProcessor.java + test/tools/javac/annotations/typeAnnotations/failures/T8020715.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java + test/tools/javac/tree/TypeAnnotationsPretty.java Changeset: 2068190f8ac2 Author: emc Date: 2013-08-21 20:23 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/2068190f8ac2 7118412: Shadowing of type-variables vs. member types 4987840: What is the scope of an annotation? Summary: Fixed issue with shadowing of type names. Reviewed-by: jjg, abuckley, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 57e1266527dd Author: jjg Date: 2013-08-21 17:26 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/57e1266527dd 8022287: javac.sym.Profiles uses a static Map when it should not Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javac/sym/Profiles.java + test/tools/javac/profiles/ProfileTest.java Changeset: eebb29618f50 Author: emc Date: 2013-08-21 20:41 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/eebb29618f50 8023520: Add missing test for JDK-7118412 Summary: The test for JDK-7118412 was dropped from the changeset in a merging accident. Reviewed-by: jjg + test/tools/javac/7118412/ShadowingTest.java Changeset: 7a4717f3ea7b Author: vromero Date: 2013-08-22 10:22 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7a4717f3ea7b 8022316: Generic throws, overriding and method reference Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.java + test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.out Changeset: 25aaff78d754 Author: vromero Date: 2013-08-22 13:12 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/25aaff78d754 8023112: javac should not use lazy constant evaluation approach for method references Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java + test/tools/javac/T8023112/SkipLazyConstantCreationForMethodRefTest.java Changeset: 1ab22e60a738 Author: emc Date: 2013-08-22 12:47 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1ab22e60a738 8020745: Suspicious MethodParameters attribute generated for local classes capturing local variables Summary: Corrected an error in a previous patch that caused captured locals to be added to the beginning, not the end of a parameter list. Reviewed-by: jjg, mcimadamore, ksrini, abuckley ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java - test/tools/javac/8015701/AnonymousParameters.java + test/tools/javac/MethodParameters/CaptureTest.java Changeset: b77381d99056 Author: jjg Date: 2013-08-22 12:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b77381d99056 8022173: Relax some warnings in doclint Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/HtmlTag.java ! test/tools/doclint/html/ListTagsTest.java ! test/tools/doclint/html/OtherTagsTest.java ! test/tools/doclint/html/OtherTagsTest.out ! test/tools/doclint/html/TableTagsTest.java Changeset: e5e1ba758a2c Author: wmdietl Date: 2013-08-24 16:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/e5e1ba758a2c Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.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/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/failures/T8020715.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java From jonathan.gibbons at oracle.com Sat Aug 24 16:49:57 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 24 Aug 2013 16:49:57 -0700 Subject: Javadoc and @since in com.sun.source.tree In-Reply-To: References: <51F70F07.1010708@oracle.com> <52193C3F.2010706@oracle.com> Message-ID: <521946A5.20101@oracle.com> On 08/24/2013 04:19 PM, Werner Dietl wrote: > On Sat, Aug 24, 2013 at 4:05 PM, Jonathan Gibbons > wrote: >> On 08/02/2013 02:10 PM, Werner Dietl wrote: >>> Jon, >>> >>> I've added two @since annotations and javadoc: >>> >>> >>> http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/342d34b65fd8 >>> >>> Please have a look. I added some comments about the new TYPE_USE and >>> TYPE_PARAMETER target. Maybe that should we added just once, somewhere >>> else? Feel free to edit/remove this. >>> >>> Only few changes were required, as most methods return a generic Tree >>> and can automatically return annotated type trees. >>> >>> I have one question: method >>> >>> com.sun.source.tree.NewClassTree.getIdentifier() >>> >>> actually returns the type of the instantiation - including type >>> annotations, type arguments, etc. >> >> Really? From both the javadoc on NewClassTree, and from a >> superficial look at the impl, I would expect getIdentifier to return >> the name of the class being instantiation. Admittedly, "identifier" >> seems simplistic, but it is in line with the usage in JLS 15.9 > > My interpretation is that > com.sun.source.tree.NewClassTree.getTypeArguments() returns the type > arguments of the constructor itself, not of the type being > instantiated. > So in "new ArrayList()" I expect > NewClassTree.getTypeArguments() to return an empty List and > getIdentifier() to return the Tree "ArrayList". > > If we have "new @TA ArrayList()" getIdentifier() will return > the instantiated type, including the type annotation. > > Looking at a few uses of com.sun.tools.javac.tree.JCTree.JCNewClass, e.g. in > com.sun.tools.javac.comp.Attr.visitNewClass(JCNewClass) > you will see code like: > > if (clazz.hasTag(TYPEAPPLY)) { > > So it seems like it is expected that clazz has type arguments. Yes, OK. noted. I guess this all deserves a clean-up when JLS 8 is available, when we can at least work against a single self-consistent version of the grammar. I still don't think we can/should change the method names (yet) but I do think we should do a better job of typing them back to the various grammar productions. -- Jon > > >> If it is returning type annotations and type arguments, that would >> warrant a raised eyebrow and further investigation. > Raised? > > cu, WMD. > > > >>> In contrast, method >>> >>> com.sun.source.tree.NewArrayTree.getType() >>> >>> presumably does the same thing, i.e. returns the array component type. >> >> It should return the element type without any dimension info. >> >> >>> Why is one named getIdentifier() and one getType()? >> >> The interfaces in com.sun.source.tree were (generally) based >> on the BNF rules in JLS 3 (which was current at the time the API >> was designed.) Although the methods do not have much (if any) >> javadoc, in general, there should be class level docs, citing the >> relevant JLS sections and grammar rules, and there should be a >> strong correspondence between the words in the grammar rules in >> the doc comments and the method names. >> >> Alex, has done a lot of work for JLS 8, rationalizing the grammar >> rules in JLS, and at some point it might be worth reflecting that in the >> comments on com.sun.source.tree. I'm not sure how much we >> can/want to change the method names, but bringing the javadoc >> comments up to date with the corresponding JLS sections would be >> good, and we could give additional details when the declared method >> name is at variance with the word in the grammar production. >> >> HTH. >> >> >> >>> Should getIdentifier() not return type annotations? >>> Some javadoc on these methods would help :-) >>> >>> cu, WMD. >>> >>> On Mon, Jul 29, 2013 at 5:55 PM, Jonathan Gibbons >>> wrote: >>>> On 07/29/2013 05:44 PM, Werner Dietl wrote: >>>>> JSR 308 added a few methods/enum constants in com.sun.source.tree, e.g.: >>>>> >>>>> com.sun.source.tree.Tree.Kind.ANNOTATED_TYPE >>>>> com.sun.source.tree.TypeParameterTree.getAnnotations() >>>>> >>>>> These currently have no Javadoc (which is consistent with the lack of >>>>> Javadoc in other such classes) and no @since 1.8. >>>>> As these classes are @jdk.Supported, I think it would be nice to >>>>> document our changes. >>>>> Should I add some first blurbs or is somebody else better suited? >>>>> >>>>> Cheers, >>>>> cu, WMD. >>>>> >>>> If you put @since on the new items, I'll put @since on the older items. >>>> >>>> -- Jon >>> >>> > > From wdietl at gmail.com Sat Aug 24 16:39:19 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 24 Aug 2013 23:39:19 +0000 Subject: hg: type-annotations/type-annotations/jdk: 41 new changesets Message-ID: <20130824234955.10DD748B38@hg.openjdk.java.net> Changeset: 9e9f5713b26d Author: psandoz Date: 2013-08-06 14:26 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9e9f5713b26d 8022318: Document Spliterator characteristics and binding policy of java util concurrent collection impls Reviewed-by: chegar Contributed-by: Martin Buchholz , Paul Sandoz ! src/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/share/classes/java/util/concurrent/ConcurrentNavigableMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/concurrent/CopyOnWriteArraySet.java ! src/share/classes/java/util/concurrent/DelayQueue.java ! src/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/share/classes/java/util/concurrent/LinkedBlockingQueue.java ! src/share/classes/java/util/concurrent/LinkedTransferQueue.java ! src/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/share/classes/java/util/concurrent/SynchronousQueue.java ! src/share/classes/java/util/concurrent/package-info.java Changeset: 8e098a29ecd8 Author: egahlin Date: 2013-08-16 17:02 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8e098a29ecd8 6417702: Graph in Memory tab is not redrawn immediately if changed via 'Chart' combo box Reviewed-by: alanb, jbachorik, sjiang ! src/share/classes/sun/tools/jconsole/MemoryTab.java Changeset: c67cb9d4d51a Author: egahlin Date: 2013-08-16 17:11 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c67cb9d4d51a 6721425: jconsole Makefile clean rule is missing rm of generated Version.java Reviewed-by: alanb, jbachorik ! make/sun/jconsole/Makefile Changeset: 89ef4bcf7b0e Author: egahlin Date: 2013-08-16 16:53 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/89ef4bcf7b0e 7015157: String "Tabular Navigation" should be rephrased for avoiding mistranslation Reviewed-by: alanb, jbachorik, sjiang ! src/share/classes/sun/tools/jconsole/resources/messages.properties Changeset: 71bad9540825 Author: egahlin Date: 2013-08-16 18:58 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/71bad9540825 6696970: Jconsole becomes unusable if a plugin throws an exception Reviewed-by: mchung, jbachorik + src/share/classes/sun/tools/jconsole/ExceptionSafePlugin.java ! src/share/classes/sun/tools/jconsole/Messages.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties Changeset: 11ccaabdb2a8 Author: aefimov Date: 2013-08-16 18:41 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/11ccaabdb2a8 8021820: Number of opened files used in select() is limited to 1024 [macosx] Reviewed-by: alanb, chegar, tbell, smarks + test/java/net/ServerSocket/SelectFdsLimit.java Changeset: f580728b08b4 Author: alanb Date: 2013-08-19 11:04 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f580728b08b4 8023215: test/java/util/Comparator/TypeTest.java not running (failing but reported as passing) Reviewed-by: psandoz ! test/java/util/Comparator/TypeTest.java Changeset: 3647aab7b1d5 Author: psandoz Date: 2013-08-06 14:26 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3647aab7b1d5 8014824: Document Spliterator characteristics and binding policy of java util collection impls Reviewed-by: chegar ! src/share/classes/java/util/ArrayDeque.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/LinkedHashSet.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Set.java ! src/share/classes/java/util/SortedSet.java ! src/share/classes/java/util/Spliterator.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/Vector.java Changeset: bce5205dbe84 Author: ascarpino Date: 2013-08-14 10:50 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bce5205dbe84 8022669: OAEPParameterSpec does not work if MGF1ParameterSpec is set to SHA2 algorithms Reviewed-by: mullan ! src/share/classes/sun/security/rsa/RSAPadding.java ! test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java Changeset: b40d246d4d81 Author: ascarpino Date: 2013-08-16 12:31 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b40d246d4d81 8022896: test/com/sun/crypto/provider/Cipher/RSA/TestOAEPPadding.java fails Reviewed-by: mullan ! test/ProblemList.txt Changeset: 2fd841fccb2e Author: dxu Date: 2013-08-19 12:38 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2fd841fccb2e 8023203: Wrap RandomAccessFile.seek native method into a Java helper method Reviewed-by: alanb, chegar ! make/java/java/mapfile-vers ! makefiles/mapfiles/libjava/mapfile-vers ! src/share/classes/java/io/RandomAccessFile.java ! src/share/native/java/io/RandomAccessFile.c Changeset: f120e2c4b4b1 Author: mullan Date: 2013-08-19 17:17 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f120e2c4b4b1 8016850: JCK javax.security.auth.Policy tests fail when run in Profiles mode Summary: Move default javax.security.auth.Policy implementation to compact1 profile Reviewed-by: vinnie ! src/share/classes/com/sun/security/auth/PolicyFile.java - src/share/classes/com/sun/security/auth/PolicyParser.java - src/share/classes/com/sun/security/auth/SubjectCodeSource.java ! src/share/classes/javax/security/auth/Policy.java + src/share/classes/sun/security/provider/AuthPolicyFile.java + src/share/classes/sun/security/provider/SubjectCodeSource.java Changeset: 096e7c665857 Author: xuelei Date: 2013-08-19 17:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/096e7c665857 8020842: IDN do not throw IAE when hostname ends with a trailing dot Reviewed-by: weijun, michaelm ! src/share/classes/java/net/IDN.java + test/java/net/IDN/IllegalArg.java + test/sun/security/ssl/javax/net/ssl/ServerName/IllegalSNIName.java Changeset: 21a25911f7f7 Author: xuelei Date: 2013-08-19 18:49 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/21a25911f7f7 8023230: The impl of KerberosClientKeyExchange maybe not exist Reviewed-by: weijun ! src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java Changeset: 53ea4b5cef9b Author: sla Date: 2013-08-20 08:59 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/53ea4b5cef9b 8022071: Some vm/jvmti tests fail because cannot attach to the Java virtual machine Reviewed-by: erikj, sspitsyn ! makefiles/CompileNativeLibraries.gmk + makefiles/mapfiles/libattach/reorder-windows-x86 + makefiles/mapfiles/libattach/reorder-windows-x86_64 ! src/windows/native/sun/tools/attach/WindowsVirtualMachine.c Changeset: e17da8b09f5e Author: dholmes Date: 2013-08-20 03:18 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e17da8b09f5e 8023311: Clean up profile-includes.txt Reviewed-by: alanb ! makefiles/profile-includes.txt Changeset: 961cdea684b5 Author: sla Date: 2013-08-20 16:53 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/961cdea684b5 8016727: test/com/sun/jdi/sde/TemperatureTableTest.java failing intermittently Reviewed-by: alanb ! test/com/sun/jdi/sde/TemperatureTableTest.java Changeset: c17d6543b30f Author: psandoz Date: 2013-08-20 17:36 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c17d6543b30f 8023367: Collections.emptyList().sort((Comparator)null) throws NPE Reviewed-by: alanb, mduigou ! src/share/classes/java/util/Collections.java ! test/java/util/Collection/ListDefaults.java Changeset: 1ccc7bbee0bb Author: attila Date: 2013-08-20 11:15 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1ccc7bbee0bb 8023250: Update JavaScript code in JDK for changes in iteration over Java arrays Reviewed-by: sundar, sla ! src/share/classes/com/sun/tools/hat/resources/hat.js Changeset: eb18a483e772 Author: alanb Date: 2013-08-21 09:59 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/eb18a483e772 8023351: Add TEST.groups in preparation to simplify rules in jdk/test/Makefile Reviewed-by: lancea, mduigou ! test/TEST.ROOT + test/TEST.groups Changeset: 68be998c2596 Author: egahlin Date: 2013-08-19 12:57 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/68be998c2596 6358357: Division by zero in Threads tab when shrinking jconsole window Reviewed-by: mchung, leifs, jbachorik ! src/share/classes/sun/tools/jconsole/Plotter.java Changeset: bddf55211ed8 Author: egahlin Date: 2013-08-19 16:21 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bddf55211ed8 6417721: Thread list should not allow multiple selection Reviewed-by: alanb, jbachorik, sjiang ! src/share/classes/sun/tools/jconsole/ThreadTab.java Changeset: 2636d337a1ed Author: egahlin Date: 2013-08-19 16:41 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2636d337a1ed 6800801: NPE in JConsole when using Nimbus L&F Reviewed-by: alanb, sjiang ! src/share/classes/sun/tools/jconsole/ConnectDialog.java ! src/share/classes/sun/tools/jconsole/VMPanel.java Changeset: ba943fc47fc8 Author: egahlin Date: 2013-08-19 13:11 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ba943fc47fc8 7042707: Un-needed mnemonic in JConsole resource file Reviewed-by: mfang, jbachorik ! src/share/classes/sun/tools/jconsole/Messages.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties ! src/share/classes/sun/tools/jconsole/resources/messages_ja.properties ! src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties Changeset: 3b8fed46b2a8 Author: dholmes Date: 2013-08-21 05:56 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3b8fed46b2a8 8023460: OPENJDK build fails due to missing jfr.jar Reviewed-by: alanb ! makefiles/Profiles.gmk Changeset: 8996f47f738d Author: sla Date: 2013-08-21 17:19 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8996f47f738d 8023485: Remove com/sun/jdi/DoubleAgentTest.java and com/sun/jdi/FieldWatchpoints.java from ProblemList.txt Reviewed-by: chegar, mgronlun ! test/ProblemList.txt Changeset: fad3b6673159 Author: mduigou Date: 2013-08-21 12:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/fad3b6673159 8023306: Add replace() implementations to TreeMap Reviewed-by: psandoz, alanb, chegar, bpb ! src/share/classes/java/util/TreeMap.java Changeset: 91a31c77be5b Author: mduigou Date: 2013-08-21 12:03 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/91a31c77be5b 8023395: Remove sun.misc.Sort and sun.misc.Compare Reviewed-by: alanb, smarks, darcy, mr - src/share/classes/sun/misc/Compare.java - src/share/classes/sun/misc/Sort.java Changeset: 60891d90327f Author: henryjen Date: 2013-08-20 14:23 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/60891d90327f 8016846: Pattern.splitAsStream tests required Reviewed-by: alanb, psandoz Contributed-by: Ben Evans + test/java/util/regex/PatternTest.java Changeset: ec827a62070a Author: xuelei Date: 2013-08-21 19:44 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ec827a62070a 8022228: Intermittent test failures in sun/security/ssl/javax/net/ssl/NewAPIs Reviewed-by: weijun ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java ! test/sun/security/ssl/templates/SSLSocketTemplate.java Changeset: a0896634ab46 Author: sla Date: 2013-08-22 08:28 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a0896634ab46 8023101: java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java fails Reviewed-by: ysr ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java Changeset: b7c4094be729 Author: darcy Date: 2013-08-22 09:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b7c4094be729 8023587: Fix lone remaining doclint issue in java.util.regex Reviewed-by: jjg ! src/share/classes/java/util/regex/Pattern.java Changeset: 8a7d9cc2f41c Author: dxu Date: 2013-08-22 11:43 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8a7d9cc2f41c 8023430: Replace File.mkdirs with Files.createDirectories to get MaxPathLength.java failure details Reviewed-by: alanb ! test/ProblemList.txt ! test/java/io/File/MaxPathLength.java Changeset: 2281a7f79738 Author: plevart Date: 2013-08-20 14:13 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2281a7f79738 8022721: AnnotationTypeDeadlockTest.java throws java.lang.IllegalStateException: unexpected condition Reviewed-by: alanb, jfranck ! test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java Changeset: 7496ec8bab76 Author: smarks Date: 2013-08-22 15:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7496ec8bab76 8022445: fix RMISocketFactory example to avoid using localhost Reviewed-by: chegar, alanb ! src/share/classes/java/rmi/server/RMISocketFactory.java Changeset: 7b6211cd8d76 Author: egahlin Date: 2013-08-21 17:15 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7b6211cd8d76 6417649: -interval=0 is accepted and jconsole doesn't update window content at all Reviewed-by: alanb, jbachorik ! src/share/classes/sun/tools/jconsole/JConsole.java Changeset: 77a32e5df365 Author: egahlin Date: 2013-08-21 17:17 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/77a32e5df365 6359971: Threads tab: Simple text to explain that one can click on a thread to get stack trace Reviewed-by: alanb, jbachorik ! src/share/classes/sun/tools/jconsole/Messages.java ! src/share/classes/sun/tools/jconsole/ThreadTab.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties Changeset: 223be1d3494f Author: bpb Date: 2013-08-22 13:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/223be1d3494f 6470700: Math.random() / Math.initRNG() uses "double checked locking" Summary: Replace class Random variable with a static final holder class Reviewed-by: alanb, mduigou, chegar Contributed-by: Brian Burkhalter ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java Changeset: 4ef82445ea20 Author: dfuchs Date: 2013-08-23 20:59 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4ef82445ea20 8005899: Logger.getLogger(name, null) should not allow to reset a non-null resource bundle Reviewed-by: mchung, lancea ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/Logger/getLogger/TestLogger.java + test/java/util/logging/Logger/getLogger/testlogger/MyResource.java Changeset: 216a4b93cee8 Author: bpb Date: 2013-08-23 14:15 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/216a4b93cee8 6378503: In java.math.BigDecimal, division by one returns zero 6446965: Using BigDecimal.divideToIntegralValue with extreme scales can lead to an incorrect result Summary: Fix overflow of ints and ensure appropriate values passed to checkScaleNonZero() Reviewed-by: darcy, martin Contributed-by: Brian Burkhalter ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigDecimal/IntegralDivisionTests.java Changeset: c202b287cdeb Author: wmdietl Date: 2013-08-24 16:39 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c202b287cdeb Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Sat Aug 24 16:37:18 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 24 Aug 2013 23:37:18 +0000 Subject: hg: type-annotations/type-annotations: 3 new changesets Message-ID: <20130824233718.E20AB48B33@hg.openjdk.java.net> Changeset: 00dcfaa6bc01 Author: aefimov Date: 2013-08-16 18:40 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/00dcfaa6bc01 8021820: Number of opened files used in select() is limited to 1024 [macosx] Reviewed-by: alanb, chegar, tbell, smarks ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: c8da1b6a9762 Author: mduigou Date: 2013-08-20 17:44 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/c8da1b6a9762 8023433: Improve 'make help' Reviewed-by: tbell ! NewMakefile.gmk Changeset: 0f8c84d83a6d Author: wmdietl Date: 2013-08-24 16:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/0f8c84d83a6d Automated merge with http://hg.openjdk.java.net/jdk8/tl/ From wdietl at gmail.com Sun Aug 25 20:17:44 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 26 Aug 2013 03:17:44 +0000 Subject: hg: type-annotations/type-annotations/langtools: Use the unannotatedType in cyclicity checks. Message-ID: <20130826031753.B794948B46@hg.openjdk.java.net> Changeset: ed0ced5b53de Author: wmdietl Date: 2013-08-25 20:16 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/ed0ced5b53de Use the unannotatedType in cyclicity checks. ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariableCycleTest.java From charlie.wang at oracle.com Mon Aug 26 00:45:40 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Mon, 26 Aug 2013 15:45:40 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <52173B11.6020503@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> <52173B11.6020503@oracle.com> Message-ID: <521B07A4.8020306@oracle.com> Hi Alex, I think I will need to make update according to Sergey's comments before check in the code. Sergey, Thanks for the comments. My reply inline. On 2013/8/23 18:36, Sergey Grinev wrote: > Hi, all. > > Sorry if this review covers same issue I reported on reviewboard one, > but it seems few important point were not fixed: > > 1. public Map lhm = new LinkedHashMap<>(); > and > public synchronized static String genDeclaration( > Map input, Declaration... > srcType) > > - fields used as a method-local temporary variables are error-prone > and confusing. Users/readers of that code are not aware when this > field can be used or when this field can be cleared, also using such > field is not thread-safe. Imagine someone added one more ENUM value to > TestCase, used lhm and didn't call lhm.clear() -- things will break > and very different place this person didn't even touch. > > - Map claims it stores Objects but actually they are only String and > String[]. Thus your getDeclaration() has invalid signature and is > error-prone. Also you calls instanceof several times to resolve this > ambiguity which is considered to be an anti-pattern as well. > > You can solve these problems by introducing separate entity > responsible for declaration generation: > > public class DeclarationGenerator { > > private final Map lhm = new > LinkedHashMap<>(); > public void add(Helper.Declaration key, String... value) { > lhm.put(key, value); > } > public String genDeclaration(Declaration... srcType) { > //... > for (Declaration st : Declaration.values()) { > if (input.containsKey(st)) > result.append(st.getSrc(input.get(st))); > } > //... > } > } > > with this helper class instead of > > lhm.clear(); > lhm.put(Helper.Declaration.IMPORT, null); > lhm.put(Helper.Declaration.CLASS, str[0]); > testCode += Helper.genDeclaration(lhm); > > you can write > > DeclarationGenerator dg = new DeclarationGenerator(); > // not to reuse, create new one for each generation > dg.put(Helper.Declaration.IMPORT, null); > dg.put(Helper.Declaration.CLASS, str[0]); > testCode += dg.genDeclaration(); > > having clean design without field used as temporary variable and type > ambiguity. > I agree with you. I will update the code accordingly. > > 2. several TestCase enum entries, especially TESTBASECLSSTART and > TESTBASECLS are copypasted in several places. I will remove the duplications. > > 3. public static Map testInput = new LinkedHashMap<>(); > > why this field in static? > Made it static for enum methods to access directly. And as to the other comments from you: > 1. Helper#getAnno() > > StringBuffer result = new StringBuffer(""); > > using StringBuilder is recommended for thread-safe methods Agree. > > 2. List Helper.getMultipleAT() > > this method uses List where List can be specified Good check. > > 3. Helper.compareAnnoWithDiffSeq() > > this can be done much shorted and without copying array to list: > > String[] split1 = anno1.trim().split("\\s+"); > String[] split2 = anno2.trim().split("\\s+"); > Arrays.sort(split1); > Arrays.sort(split2); > return Arrays.equals(split1, split2); OK. > > 4. Helper.compileCode():697-704 can be simplified using jdk8 streams: > > ok = diagnostics.getDiagnostics().stream().anyMatch(d -> d.getKind() > == Diagnostic.Kind.ERROR); I didn't adopt it because I wasn't sure if I supposed to use this new jdk8 feature in this jdk8 test. Bus since Tristan also suggested it is doable, I will update my code this way. > > 5. Same for Helper.isPkgInfoPresent: > > return files.stream().map(JavaFileObject::getName).anyMatch(name -> > name.contains("package-info") || name.contains("PkgAnno")); OK. > > 6. AnnotatedArrayTypeGetAnnotatedGenericComponentTypeTest:175 > > You are calling Helper.getArrAT(at) then split it by ";" and work with > result. > while Helper.getArrAT() takes a list and convert it into string: > return getAnno(annotations) + ";" + ret; > > It may be more efficient to work directly with lists. The expected results (to be compared with test results) also come as strings because they are directly extracted from the test input, which is why I made it "getAnno(annotations) + ";" + ret" - so I don't have to split the result into lists. Either way, the conversion has to be made. The present way is more direct. > > 7. DeclarationGenerator interface is never used as interface I don't think it hurts to put an interface there. At least it will help extension. > > 8. Helper.Declaration.replaceAnnoStr should be static Isn't it static already. > > 9. Helper.Declaration.replaceAnnoStr/getFirstAnno return result as > String[] array, which is considered to be a bad practice (you are > using variable length structure to store exactly 2 values). It would > be cleaner to introduce intermediate structure of 2 string to store > return value. Then I will have to declare a new class for the two strings. I will update my code according to most of your comments. Could you please reply to me asap if you think there's anything missing. Hopefully we can wrap things up within the week. - Charlie > > On 22-Aug-13 22:43, Alex Buckley wrote: >> I have no further comments. Thanks for all your work to test this new >> and expansive API. >> >> Alex >> >> On 8/20/2013 1:56 AM, Charlie Wang wrote: >>> Hi Alex, >>> I used testInput.size() instead of static int clsIdx as suffix this >>> time. And other update according to your comments. >>> >>> Here's the link. Please review again. >>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ >>> >>> >>> - Charlie >>> >>> On 2013/8/9 1:05, Alex Buckley wrote: >>>> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >>>> objecting to. It was the fact that you're relying on a mutable public >>>> static variable at all. >>>> >>>> - GenTestCode should take Class, so you >>>> don't need to cast to TestCaseGenerator in GenTestCode. (Same comment >>>> for AnnotationTest.compileCode). >>>> >>>> - AnnotationTest.testInput is a Map but I'm sure you >>>> can do better than Object for keys.' >>>> >>>> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >>>> AnnotationTest.testInput, but swaps the order of the type arguments! >>>> Map is either wrong, or should not use Object. >>>> >>>> Alex > From sergey.grinev at oracle.com Mon Aug 26 11:27:55 2013 From: sergey.grinev at oracle.com (Sergey Grinev) Date: Mon, 26 Aug 2013 22:27:55 +0400 Subject: Review request for type annotation reflection test In-Reply-To: <521B07A4.8020306@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> <52173B11.6020503@oracle.com> <521B07A4.8020306@oracle.com> Message-ID: <521B9E2B.1000205@oracle.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130826/0937bfb6/attachment-0001.html From jonathan.gibbons at oracle.com Mon Aug 26 19:23:49 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 26 Aug 2013 19:23:49 -0700 Subject: reducing use of TypeAnnotations constructor Message-ID: <521C0DB5.9080406@oracle.com> Werner, As you know, we're looking to improve the representation of annotated types in javac, perhaps by replacing AnnotatedType, in order to reduce "those pesky calls of unannotatedType". I've attached a patch for your consideration to replace direct use of the AnnotatedType constructor with a factory method on the underlying type to be annotated. This isn't the whole story about replacing AnnotatedType: just think of it as clearing out the easy bits first. I do feel this is a step in the right direction, and will allow us to focus on the remaining uses of AnnotatedType. As such, I may push this to TL soon enough, but you might want to preview it in the type-annotations forest before then. And, if you're interested, I'd be interested to hear any suggestions you may have on further reducing direct use of the TypeAnnotations type, by replacing such usages with virtual methods on Type, with appropriate impls in Type and AnnotatedType. -- Jon -------------- next part -------------- A non-text attachment was scrubbed... Name: 8023772.patch Type: text/x-patch Size: 7880 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130826/92bf599b/8023772.patch From jonathan.gibbons at oracle.com Mon Aug 26 21:55:32 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 26 Aug 2013 21:55:32 -0700 Subject: reducing use of TypeAnnotations constructor In-Reply-To: <521C0DB5.9080406@oracle.com> References: <521C0DB5.9080406@oracle.com> Message-ID: <521C3144.7070900@oracle.com> On 08/26/2013 07:23 PM, Jonathan Gibbons wrote: > Werner, > > As you know, we're looking to improve the representation of annotated > types in javac, perhaps by replacing AnnotatedType, in order to reduce > "those pesky calls of unannotatedType". > > I've attached a patch for your consideration to replace direct use of > the AnnotatedType constructor with a factory method on the underlying > type to be annotated. > > This isn't the whole story about replacing AnnotatedType: just think > of it as clearing out the easy bits first. I do feel this is a step > in the right direction, and will allow us to focus on the remaining > uses of AnnotatedType. As such, I may push this to TL soon enough, > but you might want to preview it in the type-annotations forest before > then. > > And, if you're interested, I'd be interested to hear any suggestions > you may have on further reducing direct use of the TypeAnnotations > type, by replacing such usages with virtual methods on Type, with > appropriate impls in Type and AnnotatedType. > > -- Jon > > > > Werner, The next stage in reducing/eliminating the use of AnnotatedType is to work on the two fields it provides, replacing direct access with "reasonable" methods on Type. As far I can see, this is 3/4 easy. The two fields are typeAnnotations and underlyingType. Read access to typeAnnotations is available via Type.getAnnotationMirrors() and read access to underlyingType is available via Type.unannotatedType(). Yes, I know we want to get rid of that method eventually, but for now it is convenient to use it. (We can eliminate the method, eventually, when it is effectively a no-op for all types) So that takes care of read access to the fields of AnnotatedType. Write access to trickier. It is reasonable to image we could have a method on Type to set the annotations on a type. Such a method can fail with IllegalStateException if the instance does not support mutable annotations (e.g. if it is a shared Type object.) So that one is OK, and that completes my 3 out of 4. That leaves 7 or so occurrences where you assign directly to AnnotatedType.underlyingType. I haven't yet been able to figure out the abstract operation you are doing on a type when you change the underlying type of an AnnotatedType -- are you conceptually creating a new annotated type with a different underlying type? Is it important that you mutate the instance? For example, how hard would it be for you to make the "underlyingType" field final, and fixup the code accordingly? -- Jon From wdietl at gmail.com Tue Aug 27 10:16:35 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:16:35 +0000 Subject: hg: type-annotations/type-annotations/langtools: 9 new changesets Message-ID: <20130827171712.8DDAE48BD5@hg.openjdk.java.net> Changeset: 60f156c653d3 Author: jjg Date: 2013-08-26 11:48 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/60f156c653d3 8023701: Fix badly named test Reviewed-by: bpatel - test/com/sun/javadoc/testNavagation/TestNavagation.java - test/com/sun/javadoc/testNavagation/pkg/A.java - test/com/sun/javadoc/testNavagation/pkg/C.java - test/com/sun/javadoc/testNavagation/pkg/E.java - test/com/sun/javadoc/testNavagation/pkg/I.java + test/com/sun/javadoc/testNavigation/TestNavigation.java + test/com/sun/javadoc/testNavigation/pkg/A.java + test/com/sun/javadoc/testNavigation/pkg/C.java + test/com/sun/javadoc/testNavigation/pkg/E.java + test/com/sun/javadoc/testNavigation/pkg/I.java Changeset: 7bf6313e1ced Author: jjg Date: 2013-08-26 15:55 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7bf6313e1ced 8023768: Use the unannotatedType in cyclicity checks. Reviewed-by: jjg Contributed-by: wdietl at gmail.com ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariableCycleTest.java Changeset: dd4a00c220c6 Author: cl Date: 2013-08-15 09:26 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/dd4a00c220c6 Added tag jdk8-b103 for changeset 76cfe7c61f25 ! .hgtags Changeset: f2ee3a4e7927 Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f2ee3a4e7927 Added tag jdk8-b104 for changeset dd4a00c220c6 ! .hgtags Changeset: b59a0b4675c9 Author: lana Date: 2013-08-20 17:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b59a0b4675c9 Merge - test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java - test/tools/javac/diags/examples/IncompatibleThrownTypesInLambda.java Changeset: 375834b5cf08 Author: lana Date: 2013-08-23 14:17 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/375834b5cf08 Merge - test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java - test/tools/javac/diags/examples/IncompatibleThrownTypesInLambda.java Changeset: 00ca54ceca1b Author: lana Date: 2013-08-26 14:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/00ca54ceca1b Merge Changeset: cc3fb73f5e08 Author: lana Date: 2013-08-26 22:18 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/cc3fb73f5e08 Merge Changeset: 8b49563edb62 Author: wmdietl Date: 2013-08-27 10:16 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8b49563edb62 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/annotations/typeAnnotations/failures/TypeVariableCycleTest.java From wdietl at gmail.com Tue Aug 27 10:21:25 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:21:25 +0000 Subject: hg: type-annotations/type-annotations/corba: 3 new changesets Message-ID: <20130827172129.1B74748BD7@hg.openjdk.java.net> Changeset: d411c60a8c2f Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/d411c60a8c2f Added tag jdk8-b103 for changeset 49c4a777fdfd ! .hgtags Changeset: 4e38de7c767e Author: cl Date: 2013-08-22 09:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/4e38de7c767e Added tag jdk8-b104 for changeset d411c60a8c2f ! .hgtags Changeset: a4d347fbc431 Author: wmdietl Date: 2013-08-27 10:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/a4d347fbc431 Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Tue Aug 27 10:19:44 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:19:44 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 33 new changesets Message-ID: <20130827172104.1316148BD6@hg.openjdk.java.net> Changeset: 0bbd1c775bef Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0bbd1c775bef Added tag jdk8-b103 for changeset 6f9be7f87b96 ! .hgtags Changeset: 39127bb12d32 Author: amurillo Date: 2013-08-09 01:39 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/39127bb12d32 8022688: new hotspot build - hs25-b46 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ca0165daa6ec Author: sspitsyn Date: 2013-08-06 16:33 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ca0165daa6ec 7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments Summary: Restore the appendix argument after PopFrame() call Reviewed-by: twisti, coleenp Contributed-by: serguei.spitsyn at oracle.com ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp Changeset: c54a3122f9c8 Author: omajid Date: 2013-08-06 12:28 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c54a3122f9c8 8022188: Make zero compile after 8016131 and 8016697 Reviewed-by: dholmes, twisti ! src/cpu/zero/vm/entryFrame_zero.hpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp Changeset: 196aa14f9f29 Author: dholmes Date: 2013-08-06 21:06 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/196aa14f9f29 Merge Changeset: 195ff07bc7f6 Author: dsamersoff Date: 2013-08-07 19:02 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/195ff07bc7f6 8021771: warning stat64 is deprecated - when building on OSX 10.7.5 Summary: stat64 have to be replaced with stat Reviewed-by: dholmes, kmo Contributed-by: rednaxelafx at gmail.com ! src/os/bsd/vm/attachListener_bsd.cpp Changeset: 31f3b1e1c5e5 Author: dcubed Date: 2013-08-08 09:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/31f3b1e1c5e5 8016601: Unable to build hsx24 on Windows using project creator and Visual Studio Summary: ProjectCreator tool is modified to support two new options: '-relativeAltSrcInclude' and '-altRelativeInclude' which prevents IDE linker errors. Also fixed some cmd line build linker warnings. Misc cleanups. Reviewed-by: rdurbin, coleenp ! make/windows/create.bat ! make/windows/create_obj_files.sh ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/trace.make ! make/windows/makefiles/vm.make ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/FileTreeCreatorVC10.java ! src/share/tools/ProjectCreator/ProjectCreator.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC10.java Changeset: c661fa2e5189 Author: iklam Date: 2013-08-08 14:45 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c661fa2e5189 8022093: syntax error near "umpiconninfo_t" -- when building on Solaris 10 Summary: Added extra help message in make/solaris/makefiles/dtrace.make Reviewed-by: dholmes, sspitsyn ! make/solaris/makefiles/dtrace.make Changeset: 57ac7245594c Author: minqi Date: 2013-08-08 15:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/57ac7245594c 8019583: [TESTBUG] runtime/7107135 always passes Summary: If java test return none zero, the value will be override by 'if' statement, the exit value will always '0' and pass. Fix by recording the result in a variable. Reviewed-by: coleenp, dholmes, iklam Contributed-by: yumin.qi at oracle.com ! test/runtime/7107135/Test7107135.sh Changeset: 6222a021d582 Author: minqi Date: 2013-08-08 20:13 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6222a021d582 Merge Changeset: 98aa538fd97e Author: mikael Date: 2013-08-09 09:51 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/98aa538fd97e 8022452: Hotspot needs to know about Windows 8.1 and Windows Server 2012 R2 Summary: Add support for recognizing Windows 8.1 and Server 2012 R2 and minor cleanup Reviewed-by: coleenp, dsamersoff ! src/os/windows/vm/os_windows.cpp Changeset: ed7c17e7d45b Author: dcubed Date: 2013-08-09 13:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ed7c17e7d45b Merge Changeset: 7b03590c334b Author: dcubed Date: 2013-08-09 15:36 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7b03590c334b Merge Changeset: bd0e82136b03 Author: iklam Date: 2013-08-10 10:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/bd0e82136b03 8022740: Visual 2008 IDE build is broken Summary: Fixed project generation code, and added warning to upgrade to VS 2008 SP1. Reviewed-by: dcubed, ccheung ! make/windows/projectfiles/common/Makefile ! src/share/tools/ProjectCreator/FileTreeCreator.java ! src/share/tools/ProjectCreator/FileTreeCreatorVC10.java ! src/share/tools/ProjectCreator/FileTreeCreatorVC7.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java Changeset: 85147f28faba Author: coleenp Date: 2013-08-12 17:24 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/85147f28faba 8009728: nsk/jvmti/AttachOnDemand/attach030 crashes on Win32 Summary: ActiveMethodOopsCache was used to keep track of old versions of some methods that are cached in Universe but is buggy with permgen removal and not needed anymore Reviewed-by: sspitsyn, dcubed, mseledtsov ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! test/runtime/RedefineObject/Agent.java ! test/runtime/RedefineObject/TestRedefineObject.java + test/runtime/RedefineObject/WalkThroughInvoke.java Changeset: d1034bd8cefc Author: adlertz Date: 2013-08-07 17:56 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d1034bd8cefc 8022284: Hide internal data structure in PhaseCFG Summary: Hide private node to block mapping using public interface Reviewed-by: kvn, roland ! agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ce8969c36762 Author: adlertz Date: 2013-08-07 18:04 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ce8969c36762 8022475: Remove unneeded ad-files Summary: Remove .ad files that are not used Reviewed-by: kvn ! make/bsd/makefiles/adlc.make ! make/linux/makefiles/adlc.make ! make/solaris/makefiles/adlc.make ! make/windows/makefiles/adlc.make - src/os_cpu/bsd_x86/vm/bsd_x86_32.ad - src/os_cpu/bsd_x86/vm/bsd_x86_64.ad - src/os_cpu/linux_x86/vm/linux_x86_32.ad - src/os_cpu/linux_x86/vm/linux_x86_64.ad - src/os_cpu/solaris_sparc/vm/solaris_sparc.ad - src/os_cpu/solaris_x86/vm/solaris_x86_32.ad - src/os_cpu/solaris_x86/vm/solaris_x86_64.ad - src/os_cpu/windows_x86/vm/windows_x86_32.ad - src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 5394ec69f112 Author: rbackman Date: 2013-08-09 18:05 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5394ec69f112 Merge - src/os_cpu/bsd_x86/vm/bsd_x86_32.ad - src/os_cpu/bsd_x86/vm/bsd_x86_64.ad - src/os_cpu/linux_x86/vm/linux_x86_32.ad - src/os_cpu/linux_x86/vm/linux_x86_64.ad - src/os_cpu/solaris_sparc/vm/solaris_sparc.ad - src/os_cpu/solaris_x86/vm/solaris_x86_32.ad - src/os_cpu/solaris_x86/vm/solaris_x86_64.ad - src/os_cpu/windows_x86/vm/windows_x86_32.ad - src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 11237ee74aae Author: iignatyev Date: 2013-08-10 10:01 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/11237ee74aae 8019915: whitebox testClearMethodStateTest fails with tiered on sparc Summary: 'compileonly' directive has beens added to each 'compiler/whitebox' test Reviewed-by: kvn ! test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/compiler/whitebox/SetForceInlineMethodTest.java Changeset: bcc4f6f54d83 Author: kvn Date: 2013-08-14 10:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/bcc4f6f54d83 8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag Summary: Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag. Reviewed-by: roland ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/loopTransform.cpp Changeset: 56b94e55267a Author: rbackman Date: 2013-08-15 15:26 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/56b94e55267a Merge - src/os_cpu/bsd_x86/vm/bsd_x86_32.ad - src/os_cpu/bsd_x86/vm/bsd_x86_64.ad - src/os_cpu/linux_x86/vm/linux_x86_32.ad - src/os_cpu/linux_x86/vm/linux_x86_64.ad - src/os_cpu/solaris_sparc/vm/solaris_sparc.ad - src/os_cpu/solaris_x86/vm/solaris_x86_32.ad - src/os_cpu/solaris_x86/vm/solaris_x86_64.ad - src/os_cpu/windows_x86/vm/windows_x86_32.ad - src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 9766f73e770d Author: stefank Date: 2013-05-31 14:32 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/9766f73e770d 8022880: False sharing between PSPromotionManager instances Summary: Pad the PSPromotionManager instances in the manager array. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp + src/share/vm/memory/padded.hpp + src/share/vm/memory/padded.inline.hpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 330dfb0476f4 Author: brutisso Date: 2013-08-14 09:02 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/330dfb0476f4 8022800: Use specific generations rather than generation iteration Reviewed-by: jmasa, ehelin ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/genRemSet.hpp Changeset: 3f22cbf5275d Author: brutisso Date: 2013-08-14 10:55 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/3f22cbf5275d Merge Changeset: 5d9995d16b26 Author: ehelin Date: 2013-08-14 13:49 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5d9995d16b26 8022899: SunStudio compiler can not handle EXCEPTION_MARK and inlining Reviewed-by: coleenp, mgerdin ! src/share/vm/utilities/exceptions.hpp Changeset: bd902affe102 Author: brutisso Date: 2013-08-15 10:05 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/bd902affe102 8023021: Unnecessary clearing of the card table introduced by the fix for JDK-8023013 Reviewed-by: stefank, ehelin ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/genRemSet.hpp Changeset: 274ce305e5b9 Author: ehelin Date: 2013-08-13 18:16 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/274ce305e5b9 8020598: ObjectCountEventSender::send needs INCLUDE_TRACE guards when building OpenJDK with INCLUDE_TRACE=0 Reviewed-by: stefank, brutisso, sjohanss ! src/share/vm/gc_implementation/shared/objectCountEventSender.cpp Changeset: 33d39b75663f Author: ehelin Date: 2013-08-15 06:20 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/33d39b75663f Merge Changeset: 5a62937e55b3 Author: brutisso Date: 2013-08-16 09:02 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5a62937e55b3 Merge - src/os_cpu/bsd_x86/vm/bsd_x86_32.ad - src/os_cpu/bsd_x86/vm/bsd_x86_64.ad - src/os_cpu/linux_x86/vm/linux_x86_32.ad - src/os_cpu/linux_x86/vm/linux_x86_64.ad - src/os_cpu/solaris_sparc/vm/solaris_sparc.ad - src/os_cpu/solaris_x86/vm/solaris_x86_32.ad - src/os_cpu/solaris_x86/vm/solaris_x86_64.ad - src/os_cpu/windows_x86/vm/windows_x86_32.ad - src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 580430d131cc Author: amurillo Date: 2013-08-16 04:14 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/580430d131cc Merge - src/os_cpu/bsd_x86/vm/bsd_x86_32.ad - src/os_cpu/bsd_x86/vm/bsd_x86_64.ad - src/os_cpu/linux_x86/vm/linux_x86_32.ad - src/os_cpu/linux_x86/vm/linux_x86_64.ad - src/os_cpu/solaris_sparc/vm/solaris_sparc.ad - src/os_cpu/solaris_x86/vm/solaris_x86_32.ad - src/os_cpu/solaris_x86/vm/solaris_x86_64.ad - src/os_cpu/windows_x86/vm/windows_x86_32.ad - src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 104743074675 Author: amurillo Date: 2013-08-16 04:14 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/104743074675 Added tag hs25-b46 for changeset 580430d131cc ! .hgtags Changeset: c93e0a210e1b Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c93e0a210e1b Added tag jdk8-b104 for changeset 104743074675 ! .hgtags Changeset: f334affafb8b Author: wmdietl Date: 2013-08-27 10:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f334affafb8b Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Tue Aug 27 10:21:45 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:21:45 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 4 new changesets Message-ID: <20130827172159.A6CE348BD8@hg.openjdk.java.net> Changeset: 42211ab0ab1c Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/42211ab0ab1c Added tag jdk8-b103 for changeset 6cdc6ed98780 ! .hgtags Changeset: 88390df7ed2c Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/88390df7ed2c Added tag jdk8-b104 for changeset 42211ab0ab1c ! .hgtags Changeset: 533c1032337c Author: lana Date: 2013-08-26 14:50 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/533c1032337c Merge Changeset: 608bddda1cc9 Author: wmdietl Date: 2013-08-27 10:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/608bddda1cc9 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Tue Aug 27 10:26:57 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:26:57 +0000 Subject: hg: type-annotations/type-annotations: 11 new changesets Message-ID: <20130827172659.2CB0C48BDB@hg.openjdk.java.net> Changeset: f643fee2b40f Author: mduigou Date: 2013-08-26 10:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/f643fee2b40f 8023491: Remove target names from test/Makefile and defer to sub-repo makefiles. Reviewed-by: erikj ! common/makefiles/Main.gmk ! test/Makefile Changeset: ceefd94ef326 Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/ceefd94ef326 Added tag jdk8-b103 for changeset b7e64be81c8a ! .hgtags Changeset: 4fb877dfe5c4 Author: erikj Date: 2013-08-15 17:14 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/4fb877dfe5c4 8020411: lin32 - JDK 8 build for Linux-i586 on Oracle Linux 6.4 64-bit machines does not generate the bundles directory in the build directory Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in Changeset: f10f673d9b17 Author: igerasim Date: 2013-08-16 14:43 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/f10f673d9b17 8023156: make dist-clean should remove javacservers directory Reviewed-by: erikj ! common/makefiles/Main.gmk Changeset: dadf49495ab4 Author: erikj Date: 2013-08-19 10:31 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/dadf49495ab4 8021430: 64 bit JDK build fails on windows 7 due to missing corba source files Reviewed-by: tbell, katleman ! common/makefiles/IdlCompilation.gmk Changeset: 96c1b9b7524b Author: katleman Date: 2013-08-20 15:42 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/96c1b9b7524b Merge Changeset: c3b5197f2851 Author: cl Date: 2013-08-22 09:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/c3b5197f2851 Added tag jdk8-b104 for changeset 96c1b9b7524b ! .hgtags Changeset: e8a3edda1f60 Author: lana Date: 2013-08-20 17:40 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/e8a3edda1f60 Merge Changeset: 056398db9dcb Author: lana Date: 2013-08-23 14:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/056398db9dcb Merge ! common/autoconf/generated-configure.sh Changeset: 163091288aeb Author: lana Date: 2013-08-26 14:49 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/163091288aeb Merge ! common/makefiles/Main.gmk Changeset: 093012f363df Author: wmdietl Date: 2013-08-27 10:26 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/093012f363df Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Tue Aug 27 10:22:09 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:22:09 +0000 Subject: hg: type-annotations/type-annotations/jdk: 38 new changesets Message-ID: <20130827173056.49FCD48BDC@hg.openjdk.java.net> Changeset: 0ee3b995d63b Author: alanb Date: 2013-08-26 10:01 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0ee3b995d63b 8023139: java/nio/file/WatchService/SensitivityModifier.java failing intermittently (win8) Reviewed-by: alanb Contributed-by: yiming.wang at oracle.com ! test/java/nio/file/WatchService/SensitivityModifier.java Changeset: 67a1a031876a Author: igerasim Date: 2013-08-25 23:20 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/67a1a031876a 7129312: BufferedInputStream calculates negative array size with large streams and mark Reviewed-by: alanb ! src/share/classes/java/io/BufferedInputStream.java + test/java/io/BufferedInputStream/LargeCopyWithMark.java Changeset: 6917c114b197 Author: jfranck Date: 2013-08-26 13:38 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6917c114b197 8022343: j.l.Class.getAnnotatedSuperclass() doesn't return null in some cases Reviewed-by: darcy, vromero, psandoz ! src/share/classes/java/lang/Class.java ! test/java/lang/annotation/TypeAnnotationReflection.java + test/java/lang/annotation/typeAnnotations/GetAnnotatedSuperclass.java Changeset: 8a36fc7f494c Author: shade Date: 2013-08-26 17:50 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8a36fc7f494c 8023234: StampedLock serializes readers on writer unlock Summary: Sync-up the fix from jsr166 CVS, signal more readers on writer unlock Reviewed-by: martin, shade Contributed-by: Doug Lea
! src/share/classes/java/util/concurrent/locks/StampedLock.java + test/java/util/concurrent/locks/StampedLock/ReadersUnlockAfterWriteUnlock.java Changeset: 07585a2483fa Author: rriggs Date: 2013-08-26 11:46 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/07585a2483fa 8011944: Sort fails with ArrayIndexOutOfBoundsException Summary: Increase the size of pending stack and add test cases Reviewed-by: alanb ! src/share/classes/java/util/ComparableTimSort.java ! src/share/classes/java/util/TimSort.java + test/java/util/Arrays/TimSortStackSize.java Changeset: 92a66af7f834 Author: igerasim Date: 2013-08-26 18:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/92a66af7f834 8016018: Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions Reviewed-by: alanb, chegar ! src/share/classes/java/lang/AbstractStringBuilder.java Changeset: 5ce9025c9e1a Author: psandoz Date: 2013-08-26 22:55 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5ce9025c9e1a 8020292: j.u.SplittableRandom Reviewed-by: mduigou Contributed-by: Guy Steele , Doug Lea
, Brian Goetz , Paul Sandoz + src/share/classes/java/util/SplittableRandom.java + test/java/util/SplittableRandom/SplittableRandomTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/SplittableRandomTest.java Changeset: 35c1609d9488 Author: henryjen Date: 2013-08-09 09:05 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/35c1609d9488 8023681: Fix raw type warning caused by Sink Reviewed-by: mduigou, briangoetz ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/DistinctOps.java ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/Sink.java ! src/share/classes/java/util/stream/SliceOps.java ! src/share/classes/java/util/stream/SortedOps.java Changeset: 9586ca82bd8b Author: bpittore Date: 2013-08-26 11:27 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9586ca82bd8b 8014135: The JVMTI specification does not conform to recent changes in JNI specification Summary: Added support for statically linked agents Reviewed-by: alanb, sspitsyn, bobv, coleenp ! src/share/classes/com/sun/tools/attach/VirtualMachine.java Changeset: f1d8d15bfcb5 Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f1d8d15bfcb5 Added tag jdk8-b103 for changeset e0f6039c0290 ! .hgtags Changeset: c982f579b67e Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c982f579b67e Added tag jdk8-b104 for changeset f1d8d15bfcb5 ! .hgtags Changeset: 2722f4000b65 Author: jgodinez Date: 2013-08-15 11:56 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2722f4000b65 8023045: [MacOSX] PrinterIOException when printing a JComponent Reviewed-by: bae, jchen ! src/share/classes/sun/print/PSPrinterJob.java Changeset: b44ce67c0565 Author: vadim Date: 2013-08-16 15:57 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b44ce67c0565 8013446: [parfait] Memory leak in jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c Reviewed-by: bae, prr ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c Changeset: dadd43e02a79 Author: prr Date: 2013-08-19 03:58 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/dadd43e02a79 8017580: Crash in font loading code on Linux (due to use of reflection) Reviewed-by: bae, vadim ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/font/sunfontids.h Changeset: 0c950b2be7ab Author: jgodinez Date: 2013-08-19 11:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0c950b2be7ab 8022241: [macosx] [PIT] lookupPrintServices() returns one too long array Reviewed-by: prr, jchen ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java Changeset: 64be71ae6185 Author: lana Date: 2013-08-20 17:35 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/64be71ae6185 Merge Changeset: 903a279f1fce Author: ant Date: 2013-08-09 05:20 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/903a279f1fce 8013611: Modal dialog fails to obtain keyboard focus Reviewed-by: leonidr ! src/share/classes/java/awt/KeyboardFocusManager.java + test/java/awt/Focus/8013611/JDK8013611.java Changeset: 2cd1a041381b Author: alexsch Date: 2013-08-09 14:16 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2cd1a041381b 7121409: Two conformance tests for AccessibleText.getCharacterBounds(int i) fail Reviewed-by: serb ! src/share/classes/javax/swing/JLabel.java Changeset: 4702ab74b70a Author: serb Date: 2013-08-13 15:41 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4702ab74b70a 7027045: (doc) java/awt/Window.java has several typos in javadoc Reviewed-by: art, serb Contributed-by: konstantin.perikov at gmail.com ! src/share/classes/java/awt/Window.java Changeset: 149bf2400fa1 Author: lana Date: 2013-08-13 15:49 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/149bf2400fa1 Merge - test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java - test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh Changeset: c5db3ec83cba Author: pchelko Date: 2013-08-14 16:17 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c5db3ec83cba 8013454: [parfait] Memory leak in jdk/src/windows/native/sun/windows/awt_Cursor.cpp 8012079: [parfait] possible null pointer dereference in jdk/src/windows/native/sun/windows/awt_Font.cpp Reviewed-by: art, serb ! src/windows/native/sun/windows/awt_Cursor.cpp ! src/windows/native/sun/windows/awt_Font.cpp Changeset: 1d6ce0070fd3 Author: pchelko Date: 2013-08-14 17:20 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1d6ce0070fd3 7173464: Clipboard.getAvailableDataFlavors: Comparison method violates contract Reviewed-by: anthony, art, serb ! src/share/classes/sun/awt/datatransfer/ClipboardTransferable.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java + test/sun/awt/datatransfer/DataFlavorComparatorTest.java Changeset: 3930a827160a Author: leonidr Date: 2013-08-15 01:17 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3930a827160a 8022997: [macosx] Remaining duplicated key events Reviewed-by: anthony, serb ! src/macosx/native/sun/awt/CMenuItem.m ! test/javax/swing/JMenuItem/ActionListenerCalledTwice/ActionListenerCalledTwiceTest.java Changeset: d7a34d7e7f22 Author: alitvinov Date: 2013-08-15 14:20 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d7a34d7e7f22 7191018: Manual test closed/java/awt/JAWT causes JVM to crash starting from JDK 5 Reviewed-by: anthony, serb ! src/solaris/native/sun/awt/awt_DrawingSurface.c Changeset: c089e93e6444 Author: serb Date: 2013-08-16 16:52 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c089e93e6444 8020051: [TEST_BUG] Testcase for 8004859 has a typo Reviewed-by: anthony ! test/java/awt/Graphics2D/Test8004859/Test8004859.java Changeset: e3316cd6ca47 Author: serb Date: 2013-08-16 20:56 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e3316cd6ca47 8006085: [findbugs] a warning on javax.sound.sampled.DataLine$Info constructor Reviewed-by: art, prr ! src/share/classes/javax/sound/sampled/DataLine.java Changeset: 64dc24e0d577 Author: serb Date: 2013-08-16 21:18 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/64dc24e0d577 8005980: [findbugs] More com.sun.media.sound.* warnings Reviewed-by: art, prr ! src/share/classes/com/sun/media/sound/DataPusher.java ! src/share/classes/com/sun/media/sound/ModelStandardDirector.java ! src/share/classes/com/sun/media/sound/ModelStandardIndexedDirector.java ! src/share/classes/com/sun/media/sound/SoftMixingClip.java ! src/share/classes/sun/audio/AudioData.java Changeset: fefa29e15a14 Author: lana Date: 2013-08-20 17:38 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/fefa29e15a14 Merge Changeset: a79fcf53195f Author: lana Date: 2013-08-20 17:44 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a79fcf53195f Merge - src/share/classes/com/sun/security/auth/PolicyParser.java - src/share/classes/com/sun/security/auth/SubjectCodeSource.java - src/share/classes/java/util/jar/UnsupportedProfileException.java - src/share/classes/sun/security/provider/ConfigSpiFile.java - test/java/net/URLClassLoader/profiles/Basic.java - test/java/net/URLClassLoader/profiles/Lib.java - test/java/net/URLClassLoader/profiles/basic.sh - test/tools/jar/AddAndUpdateProfile.java - test/tools/launcher/profiles/Basic.java - test/tools/launcher/profiles/Logging.java - test/tools/launcher/profiles/Main.java - test/tools/launcher/profiles/VersionCheck.java Changeset: 9626ba160e3d Author: lana Date: 2013-08-23 14:14 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9626ba160e3d Merge - src/share/classes/com/sun/security/auth/PolicyParser.java - src/share/classes/com/sun/security/auth/SubjectCodeSource.java - src/share/classes/java/util/jar/UnsupportedProfileException.java - src/share/classes/sun/security/provider/ConfigSpiFile.java - test/java/net/URLClassLoader/profiles/Basic.java - test/java/net/URLClassLoader/profiles/Lib.java - test/java/net/URLClassLoader/profiles/basic.sh - test/tools/jar/AddAndUpdateProfile.java - test/tools/launcher/profiles/Basic.java - test/tools/launcher/profiles/Logging.java - test/tools/launcher/profiles/Main.java - test/tools/launcher/profiles/VersionCheck.java Changeset: c58e39bb5d62 Author: lana Date: 2013-08-26 14:53 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c58e39bb5d62 Merge Changeset: 6cdc679e3412 Author: lana Date: 2013-08-26 22:18 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6cdc679e3412 Merge Changeset: ca53110f1c74 Author: weijun Date: 2013-08-27 17:50 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ca53110f1c74 8015669: KerberosPrincipal::equals should ignore name-type Reviewed-by: mullan ! src/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java + test/sun/security/krb5/auto/KPEquals.java Changeset: 4bddc344848e Author: weijun Date: 2013-08-27 17:50 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4bddc344848e 8022761: regression: SecurityException is NOT thrown while trying to pack a wrongly signed Indexed Jar file Reviewed-by: sherman ! src/share/classes/java/util/jar/JarVerifier.java + test/sun/security/tools/jarsigner/jvindex.sh Changeset: 134283a88499 Author: mullan Date: 2013-08-27 10:46 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/134283a88499 8023769: JDK-8016850 broke the old build Summary: remove files that were moved/removed from com/sun/security/auth/FILES_java.gmk Reviewed-by: chegar, xuelei ! make/com/sun/security/auth/FILES_java.gmk Changeset: 6a1bfcde4d4d Author: mullan Date: 2013-08-27 12:04 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6a1bfcde4d4d 8019830: Add com.sun.media.sound to the list of restricted package Reviewed-by: vinnie ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/java/lang/SecurityManager/CheckPackageAccess.java Changeset: 3575263eefab Author: mullan Date: 2013-08-27 12:27 -0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3575263eefab Merge - src/share/classes/com/sun/security/auth/PolicyParser.java - src/share/classes/com/sun/security/auth/SubjectCodeSource.java - src/share/classes/sun/misc/Compare.java - src/share/classes/sun/misc/Sort.java Changeset: 5eb47d71b149 Author: wmdietl Date: 2013-08-27 10:21 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5eb47d71b149 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags ! src/share/classes/java/lang/Class.java From wdietl at gmail.com Tue Aug 27 10:47:08 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:47:08 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 5 new changesets Message-ID: <20130827174723.391B948BE0@hg.openjdk.java.net> Changeset: a22fe9bd01e6 Author: cl Date: 2013-08-15 09:25 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/a22fe9bd01e6 Added tag jdk8-b103 for changeset b1ceab582fc6 ! .hgtags Changeset: af28b93bfb6f Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/af28b93bfb6f Added tag jdk8-b104 for changeset a22fe9bd01e6 ! .hgtags Changeset: d4d6422ec564 Author: lana Date: 2013-08-20 17:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/d4d6422ec564 Merge Changeset: 09a46ec11f88 Author: lana Date: 2013-08-23 14:09 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/09a46ec11f88 Merge Changeset: af9562034e78 Author: wmdietl Date: 2013-08-27 10:47 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/af9562034e78 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Tue Aug 27 10:26:26 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 17:26:26 +0000 Subject: hg: type-annotations/type-annotations/nashorn: 15 new changesets Message-ID: <20130827172641.F3E8F48BD9@hg.openjdk.java.net> Changeset: afc100513451 Author: cl Date: 2013-08-15 09:26 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/afc100513451 Added tag jdk8-b103 for changeset 414203de4374 ! .hgtags Changeset: 74244f43c577 Author: cl Date: 2013-08-22 09:10 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/74244f43c577 Added tag jdk8-b104 for changeset afc100513451 ! .hgtags Changeset: 1f2394beecf7 Author: lana Date: 2013-08-20 17:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/1f2394beecf7 Merge - src/jdk/internal/dynalink/support/Backport.java - src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/MapIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java Changeset: f484bfb624dd Author: lana Date: 2013-08-23 14:18 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/f484bfb624dd Merge - src/jdk/internal/dynalink/support/Backport.java - src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/MapIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java - src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java Changeset: a18f92a0a910 Author: lana Date: 2013-08-26 14:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/a18f92a0a910 Merge Changeset: badc919cd621 Author: lagergren Date: 2013-08-23 14:16 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/badc919cd621 8023550: -d option was broken for any dir but '.'. Fixed Java warnings. Reviewed-by: jlaskey, sundar ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! src/jdk/internal/dynalink/ChainedCallSite.java ! src/jdk/internal/dynalink/DefaultBootstrapper.java ! src/jdk/internal/dynalink/beans/AbstractJavaLinker.java ! src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebuggerSupport.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler.java ! src/jdk/nashorn/internal/runtime/regexp/joni/BitSet.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Lexer.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Region.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ScannerSupport.java ! src/jdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm.java ! src/jdk/nashorn/internal/runtime/regexp/joni/StackMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/WarnCallback.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/Node.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/exception/ErrorMessages.java ! tools/fxshell/jdk/nashorn/tools/FXShell.java Changeset: e2d94d032760 Author: jlaskey Date: 2013-08-23 09:56 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/e2d94d032760 8020946: TokenType#toString returned null Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/parser/TokenType.java Changeset: eb7b8340ce3a Author: lagergren Date: 2013-08-23 15:46 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/eb7b8340ce3a 8023454: Updated DEVELOPER_README and command line flags, ensuring that undocumented flags that aren't guaranteed to work (disabled by default) and that are work in progress show up with an EXPERIMENTAL tag. Reviewed-by: attila, jlaskey ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/runtime/resources/Options.properties Changeset: 12820c8d0a5d Author: jlaskey Date: 2013-08-23 12:20 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/12820c8d0a5d 8019987: String trimRight and trimLeft could be defined Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/JDK-8019987.js Changeset: c19c66e661a9 Author: hannesw Date: 2013-08-26 15:59 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/c19c66e661a9 8023650: Regexp m flag does not recognize CRNL or CR Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Config.java ! src/jdk/nashorn/internal/runtime/regexp/joni/EncodingHelper.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Lexer.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Matcher.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/JDK-8023650.js Changeset: 99e48c76d11f Author: jlaskey Date: 2013-08-26 15:33 -0300 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/99e48c76d11f 8023721: Simplify eval in DebuggerSupport. Reviewed-by: sundar, lagergren, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/DebuggerSupport.java Changeset: 3bd077423a08 Author: sundar Date: 2013-08-27 15:54 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/3bd077423a08 8022773: ScriptEngineTest.printManyTest fails Reviewed-by: lagergren, attila ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 47f0a4c4b729 Author: attila Date: 2013-08-27 13:17 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/47f0a4c4b729 8023780: Gracefully handle @CS methods while binding bean properties Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/nashorn/internal/objects/NativeObject.java + test/script/basic/JDK-8023780.js + test/script/basic/JDK-8023780.js.EXPECTED Changeset: bda0e89f88ae Author: sundar Date: 2013-08-27 18:57 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/bda0e89f88ae 8023784: Object.prototype.toString should contain the class name for all instances Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8023784.js + test/script/basic/JDK-8023784.js.EXPECTED ! test/script/basic/NASHORN-377.js.EXPECTED Changeset: 101606d3eb84 Author: sundar Date: 2013-08-27 19:26 +0530 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/nashorn/rev/101606d3eb84 Merge From jonathan.gibbons at oracle.com Tue Aug 27 11:12:02 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 27 Aug 2013 11:12:02 -0700 Subject: reducing use of TypeAnnotations constructor In-Reply-To: <521C3144.7070900@oracle.com> References: <521C0DB5.9080406@oracle.com> <521C3144.7070900@oracle.com> Message-ID: <521CEBF2.4010806@oracle.com> On 08/26/2013 09:55 PM, Jonathan Gibbons wrote: > On 08/26/2013 07:23 PM, Jonathan Gibbons wrote: >> Werner, >> >> As you know, we're looking to improve the representation of annotated >> types in javac, perhaps by replacing AnnotatedType, in order to >> reduce "those pesky calls of unannotatedType". >> >> I've attached a patch for your consideration to replace direct use of >> the AnnotatedType constructor with a factory method on the underlying >> type to be annotated. >> >> This isn't the whole story about replacing AnnotatedType: just think >> of it as clearing out the easy bits first. I do feel this is a step >> in the right direction, and will allow us to focus on the remaining >> uses of AnnotatedType. As such, I may push this to TL soon enough, >> but you might want to preview it in the type-annotations forest >> before then. >> >> And, if you're interested, I'd be interested to hear any suggestions >> you may have on further reducing direct use of the TypeAnnotations >> type, by replacing such usages with virtual methods on Type, with >> appropriate impls in Type and AnnotatedType. >> >> -- Jon >> >> >> >> > > Werner, > > The next stage in reducing/eliminating the use of AnnotatedType is to > work on the two fields it provides, replacing direct access with > "reasonable" methods on Type. As far I can see, this is 3/4 easy. > > The two fields are typeAnnotations and underlyingType. > > Read access to typeAnnotations is available via > Type.getAnnotationMirrors() and read access to underlyingType is > available via Type.unannotatedType(). Yes, I know we want to get rid > of that method eventually, but for now it is convenient to use it. (We > can eliminate the method, eventually, when it is effectively a no-op > for all types) So that takes care of read access to the fields of > AnnotatedType. > > Write access to trickier. It is reasonable to image we could have a > method on Type to set the annotations on a type. Such a method can > fail with IllegalStateException if the instance does not support > mutable annotations (e.g. if it is a shared Type object.) So that one > is OK, and that completes my 3 out of 4. > > That leaves 7 or so occurrences where you assign directly to > AnnotatedType.underlyingType. I haven't yet been able to figure out > the abstract operation you are doing on a type when you change the > underlying type of an AnnotatedType -- are you conceptually creating a > new annotated type with a different underlying type? Is it important > that you mutate the instance? For example, how hard would it be for > you to make the "underlyingType" field final, and fixup the code > accordingly? > > -- Jon > > > Werner, Here's another simplification for you to consider, in TypeAnnotations. This is in the typeWithAnnotations method. I created this cleanup by replacing direct use of AnnotatedType with appropriate methods on Type, simplified the code a bit, and hoisted identical code out of the then and else clauses, to get something that looks a lot cleaner, and doesn't not directly reference the AnnotatedType class. With the refactoring, all the jtreg tests pass (of course.) What do you think? -- Jon From jonathan.gibbons at oracle.com Tue Aug 27 11:42:46 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 27 Aug 2013 11:42:46 -0700 Subject: reducing use of TypeAnnotations constructor In-Reply-To: References: <521C0DB5.9080406@oracle.com> <521C3144.7070900@oracle.com> <521CEBF2.4010806@oracle.com> Message-ID: <521CF326.3010502@oracle.com> Oops. Actually, I simplified the code even more. Here is the latest version of that segment of code. Note, this is all just refactoring to remove direct use of AnnotatedType. The intent is not to be changing overall functionality, and I'm not changing names or anything like that. -- Jon --- old/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java 2013-08-27 11:39:25.966283140 -0700 +++ new/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java 2013-08-27 11:39:25.898283140 -0700 @@ -360,25 +360,15 @@ return type; } if (type.hasTag(TypeTag.ARRAY)) { + Type.ArrayType arType = (Type.ArrayType) type.unannotatedType(); + Type.ArrayType tomodify = new Type.ArrayType(null, arType.tsym); Type toreturn; - Type.ArrayType tomodify; - Type.ArrayType arType; - { - Type touse = type; - if (type.isAnnotated()) { - Type.AnnotatedType atype = (Type.AnnotatedType)type; - toreturn = new Type.AnnotatedType(atype.underlyingType); - ((Type.AnnotatedType)toreturn).typeAnnotations = atype.typeAnnotations; - touse = atype.underlyingType; - arType = (Type.ArrayType) touse; - tomodify = new Type.ArrayType(null, arType.tsym); - ((Type.AnnotatedType)toreturn).underlyingType = tomodify; - } else { - arType = (Type.ArrayType) touse; - tomodify = new Type.ArrayType(null, arType.tsym); - toreturn = tomodify; - } + if (type.isAnnotated()) { + toreturn = tomodify.annotatedType(type.getAnnotationMirrors()); + } else { + toreturn = tomodify; } + JCArrayTypeTree arTree = arrayTypeTree(typetree); ListBuffer depth = ListBuffer.lb(); On 08/27/2013 11:31 AM, Werner Dietl wrote: > Jon, > > did you forget to attach a patch in that last mail? > I will try to work through all your comments in the afternoon today. > > cu, WMD. > > > On Tue, Aug 27, 2013 at 11:12 AM, Jonathan Gibbons > wrote: >> On 08/26/2013 09:55 PM, Jonathan Gibbons wrote: >>> On 08/26/2013 07:23 PM, Jonathan Gibbons wrote: >>>> Werner, >>>> >>>> As you know, we're looking to improve the representation of annotated >>>> types in javac, perhaps by replacing AnnotatedType, in order to reduce >>>> "those pesky calls of unannotatedType". >>>> >>>> I've attached a patch for your consideration to replace direct use of the >>>> AnnotatedType constructor with a factory method on the underlying type to be >>>> annotated. >>>> >>>> This isn't the whole story about replacing AnnotatedType: just think of >>>> it as clearing out the easy bits first. I do feel this is a step in the >>>> right direction, and will allow us to focus on the remaining uses of >>>> AnnotatedType. As such, I may push this to TL soon enough, but you might >>>> want to preview it in the type-annotations forest before then. >>>> >>>> And, if you're interested, I'd be interested to hear any suggestions you >>>> may have on further reducing direct use of the TypeAnnotations type, by >>>> replacing such usages with virtual methods on Type, with appropriate impls >>>> in Type and AnnotatedType. >>>> >>>> -- Jon >>>> >>>> >>>> >>>> >>> Werner, >>> >>> The next stage in reducing/eliminating the use of AnnotatedType is to work >>> on the two fields it provides, replacing direct access with "reasonable" >>> methods on Type. As far I can see, this is 3/4 easy. >>> >>> The two fields are typeAnnotations and underlyingType. >>> >>> Read access to typeAnnotations is available via >>> Type.getAnnotationMirrors() and read access to underlyingType is available >>> via Type.unannotatedType(). Yes, I know we want to get rid of that method >>> eventually, but for now it is convenient to use it. (We can eliminate the >>> method, eventually, when it is effectively a no-op for all types) So that >>> takes care of read access to the fields of AnnotatedType. >>> >>> Write access to trickier. It is reasonable to image we could have a method >>> on Type to set the annotations on a type. Such a method can fail with >>> IllegalStateException if the instance does not support mutable annotations >>> (e.g. if it is a shared Type object.) So that one is OK, and that completes >>> my 3 out of 4. >>> >>> That leaves 7 or so occurrences where you assign directly to >>> AnnotatedType.underlyingType. I haven't yet been able to figure out the >>> abstract operation you are doing on a type when you change the underlying >>> type of an AnnotatedType -- are you conceptually creating a new annotated >>> type with a different underlying type? Is it important that you mutate the >>> instance? For example, how hard would it be for you to make the >>> "underlyingType" field final, and fixup the code accordingly? >>> >>> -- Jon >>> >>> >>> >> >> Werner, >> >> Here's another simplification for you to consider, in TypeAnnotations. This >> is in the typeWithAnnotations method. I created this cleanup by replacing >> direct use of AnnotatedType with appropriate methods on Type, simplified the >> code a bit, and hoisted identical code out of the then and else clauses, to >> get something that looks a lot cleaner, and doesn't not directly reference >> the AnnotatedType class. With the refactoring, all the jtreg tests pass >> (of course.) >> >> What do you think? >> >> -- Jon >> >> > > From wdietl at gmail.com Tue Aug 27 16:17:02 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 27 Aug 2013 23:17:02 +0000 Subject: hg: type-annotations/type-annotations/langtools: 3 new changesets Message-ID: <20130827231715.3173548BFC@hg.openjdk.java.net> Changeset: 7fb27bc201cc Author: bpatel Date: 2013-08-27 11:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7fb27bc201cc 7052170: javadoc -charset option generates wrong meta tag Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java + test/com/sun/javadoc/testCharset/TestCharset.java + test/com/sun/javadoc/testCharset/pkg/Foo.java Changeset: 662a5188bded Author: darcy Date: 2013-08-27 11:58 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/662a5188bded 8023826: Typo in warning about obsolete source / target values Reviewed-by: jjg, wmdietl ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Changeset: 8154df999aae Author: wmdietl Date: 2013-08-27 16:16 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8154df999aae Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java From alex.buckley at oracle.com Wed Aug 28 18:14:23 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 28 Aug 2013 18:14:23 -0700 Subject: Review request for type annotation reflection test In-Reply-To: <521E94DC.5020205@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> <52173B11.6020503@oracle.com> <521B07A4.8020306@oracle.com> <521E94DC.5020205@oracle.com> Message-ID: <521EA06F.9050501@oracle.com> Charlie, I can't devote any more time to these tests. Sergey and I have given multiple rounds of detailed feedback on the architecture of your test framework and on individual lines of code. You own these tests; it is your responsibility to take feedback and improve them. Alex On 8/28/2013 5:25 PM, Charlie Wang wrote: > Hi Alex, > Could you take a look at the changes I agreed to make and let me know > if you are OK with them? > > > > - Charlie > > On 2013/8/26 15:45, Charlie Wang wrote: >> Hi Alex, >> I think I will need to make update according to Sergey's comments >> before check in the code. >> >> Sergey, >> Thanks for the comments. My reply inline. >> >> On 2013/8/23 18:36, Sergey Grinev wrote: >>> Hi, all. >>> >>> Sorry if this review covers same issue I reported on reviewboard one, >>> but it seems few important point were not fixed: >>> >>> 1. public Map lhm = new LinkedHashMap<>(); >>> and >>> public synchronized static String genDeclaration( >>> Map input, Declaration... >>> srcType) >>> >>> - fields used as a method-local temporary variables are error-prone >>> and confusing. Users/readers of that code are not aware when this >>> field can be used or when this field can be cleared, also using such >>> field is not thread-safe. Imagine someone added one more ENUM value >>> to TestCase, used lhm and didn't call lhm.clear() -- things will >>> break and very different place this person didn't even touch. >>> >>> - Map claims it stores Objects but actually they are only String and >>> String[]. Thus your getDeclaration() has invalid signature and is >>> error-prone. Also you calls instanceof several times to resolve this >>> ambiguity which is considered to be an anti-pattern as well. >>> >>> You can solve these problems by introducing separate entity >>> responsible for declaration generation: >>> >>> public class DeclarationGenerator { >>> >>> private final Map lhm = new >>> LinkedHashMap<>(); >>> public void add(Helper.Declaration key, String... value) { >>> lhm.put(key, value); >>> } >>> public String genDeclaration(Declaration... srcType) { >>> //... >>> for (Declaration st : Declaration.values()) { >>> if (input.containsKey(st)) >>> result.append(st.getSrc(input.get(st))); >>> } >>> //... >>> } >>> } >>> >>> with this helper class instead of >>> >>> lhm.clear(); >>> lhm.put(Helper.Declaration.IMPORT, null); >>> lhm.put(Helper.Declaration.CLASS, str[0]); >>> testCode += Helper.genDeclaration(lhm); >>> >>> you can write >>> >>> DeclarationGenerator dg = new DeclarationGenerator(); >>> // not to reuse, create new one for each generation >>> dg.put(Helper.Declaration.IMPORT, null); >>> dg.put(Helper.Declaration.CLASS, str[0]); >>> testCode += dg.genDeclaration(); >>> >>> having clean design without field used as temporary variable and type >>> ambiguity. >>> >> I agree with you. I will update the code accordingly. >> >>> >>> 2. several TestCase enum entries, especially TESTBASECLSSTART and >>> TESTBASECLS are copypasted in several places. >> I will remove the duplications. >> >>> >>> 3. public static Map testInput = new LinkedHashMap<>(); >>> >>> why this field in static? >>> >> Made it static for enum methods to access directly. >> >> >> And as to the other comments from you: >> >>> 1. Helper#getAnno() >>> >>> StringBuffer result = new StringBuffer(""); >>> >>> using StringBuilder is recommended for thread-safe methods >> Agree. >> >>> >>> 2. List Helper.getMultipleAT() >>> >>> this method uses List where List can be specified >> Good check. >> >>> >>> 3. Helper.compareAnnoWithDiffSeq() >>> >>> this can be done much shorted and without copying array to list: >>> >>> String[] split1 = anno1.trim().split("\\s+"); >>> String[] split2 = anno2.trim().split("\\s+"); >>> Arrays.sort(split1); >>> Arrays.sort(split2); >>> return Arrays.equals(split1, split2); >> OK. >> >>> >>> 4. Helper.compileCode():697-704 can be simplified using jdk8 streams: >>> >>> ok = diagnostics.getDiagnostics().stream().anyMatch(d -> d.getKind() >>> == Diagnostic.Kind.ERROR); >> I didn't adopt it because I wasn't sure if I supposed to use this new >> jdk8 feature in this jdk8 test. Bus since Tristan also suggested it is >> doable, I will update my code this way. >> >>> >>> 5. Same for Helper.isPkgInfoPresent: >>> >>> return files.stream().map(JavaFileObject::getName).anyMatch(name -> >>> name.contains("package-info") || name.contains("PkgAnno")); >> OK. >> >>> >>> 6. AnnotatedArrayTypeGetAnnotatedGenericComponentTypeTest:175 >>> >>> You are calling Helper.getArrAT(at) then split it by ";" and work >>> with result. >>> while Helper.getArrAT() takes a list and convert it into string: >>> return getAnno(annotations) + ";" + ret; >>> >>> It may be more efficient to work directly with lists. >> The expected results (to be compared with test results) also come as >> strings because they are directly extracted from the test input, which >> is why I made it "getAnno(annotations) + ";" + ret" - so I don't have >> to split the result into lists. Either way, the conversion has to be >> made. The present way is more direct. >> >>> >>> 7. DeclarationGenerator interface is never used as interface >> I don't think it hurts to put an interface there. At least it will >> help extension. >> >>> >>> 8. Helper.Declaration.replaceAnnoStr should be static >> Isn't it static already. >> >>> >>> 9. Helper.Declaration.replaceAnnoStr/getFirstAnno return result as >>> String[] array, which is considered to be a bad practice (you are >>> using variable length structure to store exactly 2 values). It would >>> be cleaner to introduce intermediate structure of 2 string to store >>> return value. >> Then I will have to declare a new class for the two strings. >> >> >> I will update my code according to most of your comments. Could you >> please reply to me asap if you think there's anything missing. >> Hopefully we can wrap things up within the week. >> >> >> >> - Charlie >> >> >>> >>> On 22-Aug-13 22:43, Alex Buckley wrote: >>>> I have no further comments. Thanks for all your work to test this >>>> new and expansive API. >>>> >>>> Alex >>>> >>>> On 8/20/2013 1:56 AM, Charlie Wang wrote: >>>>> Hi Alex, >>>>> I used testInput.size() instead of static int clsIdx as suffix this >>>>> time. And other update according to your comments. >>>>> >>>>> Here's the link. Please review again. >>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ >>>>> >>>>> >>>>> - Charlie >>>>> >>>>> On 2013/8/9 1:05, Alex Buckley wrote: >>>>>> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >>>>>> objecting to. It was the fact that you're relying on a mutable public >>>>>> static variable at all. >>>>>> >>>>>> - GenTestCode should take Class, so you >>>>>> don't need to cast to TestCaseGenerator in GenTestCode. (Same comment >>>>>> for AnnotationTest.compileCode). >>>>>> >>>>>> - AnnotationTest.testInput is a Map but I'm sure you >>>>>> can do better than Object for keys.' >>>>>> >>>>>> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >>>>>> AnnotationTest.testInput, but swaps the order of the type arguments! >>>>>> Map is either wrong, or should not use Object. >>>>>> >>>>>> Alex >>> >> > From charlie.wang at oracle.com Wed Aug 28 18:36:13 2013 From: charlie.wang at oracle.com (Charlie Wang) Date: Thu, 29 Aug 2013 09:36:13 +0800 Subject: Review request for type annotation reflection test In-Reply-To: <521EA06F.9050501@oracle.com> References: <51986CBC.2000107@oracle.com> <519AE246.80500@oracle.com> <519B4807.1040007@oracle.com> <519BBBE4.5020009@oracle.com> <519BE728.4050806@oracle.com> <519C214D.20802@oracle.com> <519C2582.6040401@oracle.com> <51AC3A30.6000706@oracle.com> <51AD1017.9050703@oracle.com> <51B93177.6050005@oracle.com> <51BFCB2D.6000706@oracle.com> <51C0D79A.3020105@oracle.com> <51C165FC.10300@oracle.com> <51C23CED.6050801@oracle.com> <51F9CFF1.3000304@oracle.com> <51FC46F5.7010101@oracle.com> <5201C3B3.3080708@oracle.com> <52027D5A.6030701@oracle.com> <52034881.1000108@oracle.com> <5203CFF0.80707@oracle.com> <52132F2D.80402@oracle.com> <52165BE3.8060703@oracle.com> <52173B11.6020503@oracle.com> <521B07A4.8020306@oracle.com> <521E94DC.5020205@oracle.com> <521EA06F.9050501@oracle.com> Message-ID: <521EA58D.2020908@oracle.com> All right. Got it. Thank you all them same for your previous quick and constant support. - Charlie On 2013/8/29 9:14, Alex Buckley wrote: > Charlie, > > I can't devote any more time to these tests. Sergey and I have given > multiple rounds of detailed feedback on the architecture of your test > framework and on individual lines of code. You own these tests; it is > your responsibility to take feedback and improve them. > > Alex > > On 8/28/2013 5:25 PM, Charlie Wang wrote: >> Hi Alex, >> Could you take a look at the changes I agreed to make and let me know >> if you are OK with them? >> >> >> >> - Charlie >> >> On 2013/8/26 15:45, Charlie Wang wrote: >>> Hi Alex, >>> I think I will need to make update according to Sergey's comments >>> before check in the code. >>> >>> Sergey, >>> Thanks for the comments. My reply inline. >>> >>> On 2013/8/23 18:36, Sergey Grinev wrote: >>>> Hi, all. >>>> >>>> Sorry if this review covers same issue I reported on reviewboard one, >>>> but it seems few important point were not fixed: >>>> >>>> 1. public Map lhm = new >>>> LinkedHashMap<>(); >>>> and >>>> public synchronized static String genDeclaration( >>>> Map input, Declaration... >>>> srcType) >>>> >>>> - fields used as a method-local temporary variables are error-prone >>>> and confusing. Users/readers of that code are not aware when this >>>> field can be used or when this field can be cleared, also using such >>>> field is not thread-safe. Imagine someone added one more ENUM value >>>> to TestCase, used lhm and didn't call lhm.clear() -- things will >>>> break and very different place this person didn't even touch. >>>> >>>> - Map claims it stores Objects but actually they are only String and >>>> String[]. Thus your getDeclaration() has invalid signature and is >>>> error-prone. Also you calls instanceof several times to resolve this >>>> ambiguity which is considered to be an anti-pattern as well. >>>> >>>> You can solve these problems by introducing separate entity >>>> responsible for declaration generation: >>>> >>>> public class DeclarationGenerator { >>>> >>>> private final Map lhm = new >>>> LinkedHashMap<>(); >>>> public void add(Helper.Declaration key, String... value) { >>>> lhm.put(key, value); >>>> } >>>> public String genDeclaration(Declaration... srcType) { >>>> //... >>>> for (Declaration st : Declaration.values()) { >>>> if (input.containsKey(st)) >>>> result.append(st.getSrc(input.get(st))); >>>> } >>>> //... >>>> } >>>> } >>>> >>>> with this helper class instead of >>>> >>>> lhm.clear(); >>>> lhm.put(Helper.Declaration.IMPORT, null); >>>> lhm.put(Helper.Declaration.CLASS, str[0]); >>>> testCode += Helper.genDeclaration(lhm); >>>> >>>> you can write >>>> >>>> DeclarationGenerator dg = new DeclarationGenerator(); >>>> // not to reuse, create new one for each generation >>>> dg.put(Helper.Declaration.IMPORT, null); >>>> dg.put(Helper.Declaration.CLASS, str[0]); >>>> testCode += dg.genDeclaration(); >>>> >>>> having clean design without field used as temporary variable and type >>>> ambiguity. >>>> >>> I agree with you. I will update the code accordingly. >>> >>>> >>>> 2. several TestCase enum entries, especially TESTBASECLSSTART and >>>> TESTBASECLS are copypasted in several places. >>> I will remove the duplications. >>> >>>> >>>> 3. public static Map testInput = new >>>> LinkedHashMap<>(); >>>> >>>> why this field in static? >>>> >>> Made it static for enum methods to access directly. >>> >>> >>> And as to the other comments from you: >>> >>>> 1. Helper#getAnno() >>>> >>>> StringBuffer result = new StringBuffer(""); >>>> >>>> using StringBuilder is recommended for thread-safe methods >>> Agree. >>> >>>> >>>> 2. List Helper.getMultipleAT() >>>> >>>> this method uses List where List can be specified >>> Good check. >>> >>>> >>>> 3. Helper.compareAnnoWithDiffSeq() >>>> >>>> this can be done much shorted and without copying array to list: >>>> >>>> String[] split1 = anno1.trim().split("\\s+"); >>>> String[] split2 = anno2.trim().split("\\s+"); >>>> Arrays.sort(split1); >>>> Arrays.sort(split2); >>>> return Arrays.equals(split1, split2); >>> OK. >>> >>>> >>>> 4. Helper.compileCode():697-704 can be simplified using jdk8 streams: >>>> >>>> ok = diagnostics.getDiagnostics().stream().anyMatch(d -> d.getKind() >>>> == Diagnostic.Kind.ERROR); >>> I didn't adopt it because I wasn't sure if I supposed to use this new >>> jdk8 feature in this jdk8 test. Bus since Tristan also suggested it is >>> doable, I will update my code this way. >>> >>>> >>>> 5. Same for Helper.isPkgInfoPresent: >>>> >>>> return files.stream().map(JavaFileObject::getName).anyMatch(name -> >>>> name.contains("package-info") || name.contains("PkgAnno")); >>> OK. >>> >>>> >>>> 6. AnnotatedArrayTypeGetAnnotatedGenericComponentTypeTest:175 >>>> >>>> You are calling Helper.getArrAT(at) then split it by ";" and work >>>> with result. >>>> while Helper.getArrAT() takes a list and convert it into string: >>>> return getAnno(annotations) + ";" + ret; >>>> >>>> It may be more efficient to work directly with lists. >>> The expected results (to be compared with test results) also come as >>> strings because they are directly extracted from the test input, which >>> is why I made it "getAnno(annotations) + ";" + ret" - so I don't have >>> to split the result into lists. Either way, the conversion has to be >>> made. The present way is more direct. >>> >>>> >>>> 7. DeclarationGenerator interface is never used as interface >>> I don't think it hurts to put an interface there. At least it will >>> help extension. >>> >>>> >>>> 8. Helper.Declaration.replaceAnnoStr should be static >>> Isn't it static already. >>> >>>> >>>> 9. Helper.Declaration.replaceAnnoStr/getFirstAnno return result as >>>> String[] array, which is considered to be a bad practice (you are >>>> using variable length structure to store exactly 2 values). It would >>>> be cleaner to introduce intermediate structure of 2 string to store >>>> return value. >>> Then I will have to declare a new class for the two strings. >>> >>> >>> I will update my code according to most of your comments. Could you >>> please reply to me asap if you think there's anything missing. >>> Hopefully we can wrap things up within the week. >>> >>> >>> >>> - Charlie >>> >>> >>>> >>>> On 22-Aug-13 22:43, Alex Buckley wrote: >>>>> I have no further comments. Thanks for all your work to test this >>>>> new and expansive API. >>>>> >>>>> Alex >>>>> >>>>> On 8/20/2013 1:56 AM, Charlie Wang wrote: >>>>>> Hi Alex, >>>>>> I used testInput.size() instead of static int clsIdx as suffix >>>>>> this >>>>>> time. And other update according to your comments. >>>>>> >>>>>> Here's the link. Please review again. >>>>>> http://cr.openjdk.java.net/~pzhang/Charlie/TypeAnnotation1/webrev/ >>>>>> >>>>>> >>>>>> - Charlie >>>>>> >>>>>> On 2013/8/9 1:05, Alex Buckley wrote: >>>>>>> - AnnotationTest.i/clsIdx: it wasn't the name of the variable I was >>>>>>> objecting to. It was the fact that you're relying on a mutable >>>>>>> public >>>>>>> static variable at all. >>>>>>> >>>>>>> - GenTestCode should take Class, so >>>>>>> you >>>>>>> don't need to cast to TestCaseGenerator in GenTestCode. (Same >>>>>>> comment >>>>>>> for AnnotationTest.compileCode). >>>>>>> >>>>>>> - AnnotationTest.testInput is a Map but I'm sure you >>>>>>> can do better than Object for keys.' >>>>>>> >>>>>>> - ExecutableGetAnnotatedParameterTypesTest.testInput hides >>>>>>> AnnotationTest.testInput, but swaps the order of the type >>>>>>> arguments! >>>>>>> Map is either wrong, or should not use Object. >>>>>>> >>>>>>> Alex >>>> >>> >> From steve.sides at oracle.com Fri Aug 30 09:36:44 2013 From: steve.sides at oracle.com (Steve Sides) Date: Fri, 30 Aug 2013 09:36:44 -0700 Subject: new tests in type-annotations repo In-Reply-To: <5215685D.6020503@oracle.com> References: <52153A63.7060209@oracle.com> <5215685D.6020503@oracle.com> Message-ID: <5220CA1C.7090805@oracle.com> If there are to be no changes, http://bugs.sun.com/view_bug.do?bug_id=8006733 should be either marked as "fixed" (settled) or not an issue. And, I have changes for the test for this (and others) as noted in this mail, http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001182.html The changes update the tests to use TYPE_USE in negative tests. This case was one of those. -steve On 8/21/2013 6:24 PM, Alex Buckley wrote: > To cut to the chase, the EG isn't going to change anything. Mike is > due to send a mail about this next week. > > Alex > > On 8/21/2013 5:57 PM, Werner Dietl wrote: >> Jon, all, >> >>> I'm trying to merge type-annotations up into tl. >> >> Great! Do let me know if there is anything I can do. >> >> >>> I see two new tests, which are failing: >>> >>> A >>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>> >> >> Quoting from my June 19, 2013 message >> (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): >> >> >> === >> I will not push my updates until the EG decided the desired behavior. >> >> Failing tests T8008762.java and TestAnonInnerClasses.java are waiting >> on this discussion: >> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html >> >> >> There are some refactorings of the Annotations code in the pipeline >> and I suggest we look at these issues again after those refactorings. >> === >> >> I don't know what the schedule of the EG and the larger annotation >> refactorings are. >> >> >>> A >>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>> >> >> I added this test for: >> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html >> >> I didn't get to implement the larger refactoring suggested by Joel. >> Should I add a simple fix to make the test pass? >> >> cu, WMD. >> From steve.sides at oracle.com Fri Aug 30 10:15:09 2013 From: steve.sides at oracle.com (Steve Sides) Date: Fri, 30 Aug 2013 10:15:09 -0700 Subject: new tests in type-annotations repo In-Reply-To: <5220CA1C.7090805@oracle.com> References: <52153A63.7060209@oracle.com> <5215685D.6020503@oracle.com> <5220CA1C.7090805@oracle.com> Message-ID: <5220D31D.1090404@oracle.com> On 8/30/2013 9:36 AM, Steve Sides wrote: > If there are to be no changes, > http://bugs.sun.com/view_bug.do?bug_id=8006733 should be either marked > as "fixed" (settled) or not an issue. > > And, I have changes for the test for this (and others) as noted in > this mail, > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001182.html > > The changes update the tests to use TYPE_USE in negative tests. This > case was one of those. FWIW, I just ran these changes with the latest build of jdk8 and they all still pass. So, if things are settled and the changes are okay, I suppose they could go into jdk8-tl. -steve > > -steve > > On 8/21/2013 6:24 PM, Alex Buckley wrote: >> To cut to the chase, the EG isn't going to change anything. Mike is >> due to send a mail about this next week. >> >> Alex >> >> On 8/21/2013 5:57 PM, Werner Dietl wrote: >>> Jon, all, >>> >>>> I'm trying to merge type-annotations up into tl. >>> >>> Great! Do let me know if there is anything I can do. >>> >>> >>>> I see two new tests, which are failing: >>>> >>>> A >>>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>>> >>> >>> Quoting from my June 19, 2013 message >>> (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): >>> >>> >>> === >>> I will not push my updates until the EG decided the desired behavior. >>> >>> Failing tests T8008762.java and TestAnonInnerClasses.java are waiting >>> on this discussion: >>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html >>> >>> >>> There are some refactorings of the Annotations code in the pipeline >>> and I suggest we look at these issues again after those refactorings. >>> === >>> >>> I don't know what the schedule of the EG and the larger annotation >>> refactorings are. >>> >>> >>>> A >>>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>>> >>> >>> I added this test for: >>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html >>> >>> I didn't get to implement the larger refactoring suggested by Joel. >>> Should I add a simple fix to make the test pass? >>> >>> cu, WMD. >>> > From wdietl at gmail.com Fri Aug 30 10:51:19 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 30 Aug 2013 10:51:19 -0700 Subject: new tests in type-annotations repo In-Reply-To: <5220D31D.1090404@oracle.com> References: <52153A63.7060209@oracle.com> <5215685D.6020503@oracle.com> <5220CA1C.7090805@oracle.com> <5220D31D.1090404@oracle.com> Message-ID: Steve, did you see my reply to that message: http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001183.html What do you think? If you're happy with your changes I can push them to type-annotations. cu, WMD. On Fri, Aug 30, 2013 at 10:15 AM, Steve Sides wrote: > On 8/30/2013 9:36 AM, Steve Sides wrote: >> >> If there are to be no changes, >> http://bugs.sun.com/view_bug.do?bug_id=8006733 should be either marked as >> "fixed" (settled) or not an issue. >> >> And, I have changes for the test for this (and others) as noted in this >> mail, >> >> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001182.html >> The changes update the tests to use TYPE_USE in negative tests. This case >> was one of those. > > FWIW, I just ran these changes with the latest build of jdk8 and they all > still pass. > So, if things are settled and the changes are okay, I suppose they could go > into jdk8-tl. > > -steve > >> >> -steve >> >> On 8/21/2013 6:24 PM, Alex Buckley wrote: >>> >>> To cut to the chase, the EG isn't going to change anything. Mike is due >>> to send a mail about this next week. >>> >>> Alex >>> >>> On 8/21/2013 5:57 PM, Werner Dietl wrote: >>>> >>>> Jon, all, >>>> >>>>> I'm trying to merge type-annotations up into tl. >>>> >>>> >>>> Great! Do let me know if there is anything I can do. >>>> >>>> >>>>> I see two new tests, which are failing: >>>>> >>>>> A >>>>> >>>>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>>> >>>> >>>> Quoting from my June 19, 2013 message >>>> >>>> (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): >>>> >>>> === >>>> I will not push my updates until the EG decided the desired behavior. >>>> >>>> Failing tests T8008762.java and TestAnonInnerClasses.java are waiting >>>> on this discussion: >>>> >>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html >>>> >>>> There are some refactorings of the Annotations code in the pipeline >>>> and I suggest we look at these issues again after those refactorings. >>>> === >>>> >>>> I don't know what the schedule of the EG and the larger annotation >>>> refactorings are. >>>> >>>> >>>>> A >>>>> >>>>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>>> >>>> >>>> I added this test for: >>>> >>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html >>>> I didn't get to implement the larger refactoring suggested by Joel. >>>> Should I add a simple fix to make the test pass? >>>> >>>> cu, WMD. >>>> >> > -- http://www.google.com/profiles/wdietl From steve.sides at oracle.com Fri Aug 30 11:33:48 2013 From: steve.sides at oracle.com (Steve Sides) Date: Fri, 30 Aug 2013 11:33:48 -0700 Subject: new tests in type-annotations repo In-Reply-To: References: <52153A63.7060209@oracle.com> <5215685D.6020503@oracle.com> <5220CA1C.7090805@oracle.com> <5220D31D.1090404@oracle.com> Message-ID: <5220E58C.1090500@oracle.com> I may be wrong but I think these were meant to test type annotations. At the time these were written I think what we now know as TYPE_USE was assumed to be part of the default set of elements which could be annotated, and tests were to ensure that type annotations implementation did not cause annotations to be accepted where they shouldn't. That obviously has since changed and now type annotations must be explicitly targeted to TYPE_USE. So.... (I assumed) that these tests should check that type annotations are not accepted where they shouldn't be. I think in keeping with what these were meant to test and testing type annotations, they should be okay. Some tests could additionally use regular annotations, but some of the test cases are such that it may not be so clear that the type annotation alone is causing the errors and we'd need a second test. I checked the neg test for annotations (annotations/neg) and there are just a few the check misplacement of annotations, so that argument can be made to increase that type of testing. Also, the changeset was made against jdk8-tl and the tests pass there, so it could go there also. -steve On 8/30/2013 10:51 AM, Werner Dietl wrote: > Steve, > > did you see my reply to that message: > > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001183.html > > What do you think? If you're happy with your changes I can push them > to type-annotations. > > cu, WMD. > > > On Fri, Aug 30, 2013 at 10:15 AM, Steve Sides wrote: >> On 8/30/2013 9:36 AM, Steve Sides wrote: >>> If there are to be no changes, >>> http://bugs.sun.com/view_bug.do?bug_id=8006733 should be either marked as >>> "fixed" (settled) or not an issue. >>> >>> And, I have changes for the test for this (and others) as noted in this >>> mail, >>> >>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-August/001182.html >>> The changes update the tests to use TYPE_USE in negative tests. This case >>> was one of those. >> FWIW, I just ran these changes with the latest build of jdk8 and they all >> still pass. >> So, if things are settled and the changes are okay, I suppose they could go >> into jdk8-tl. >> >> -steve >> >>> -steve >>> >>> On 8/21/2013 6:24 PM, Alex Buckley wrote: >>>> To cut to the chase, the EG isn't going to change anything. Mike is due >>>> to send a mail about this next week. >>>> >>>> Alex >>>> >>>> On 8/21/2013 5:57 PM, Werner Dietl wrote: >>>>> Jon, all, >>>>> >>>>>> I'm trying to merge type-annotations up into tl. >>>>> >>>>> Great! Do let me know if there is anything I can do. >>>>> >>>>> >>>>>> I see two new tests, which are failing: >>>>>> >>>>>> A >>>>>> >>>>>> langtools/test/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java >>>>> >>>>> Quoting from my June 19, 2013 message >>>>> >>>>> (http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-June/001085.html): >>>>> >>>>> === >>>>> I will not push my updates until the EG decided the desired behavior. >>>>> >>>>> Failing tests T8008762.java and TestAnonInnerClasses.java are waiting >>>>> on this discussion: >>>>> >>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-April/000782.html >>>>> >>>>> There are some refactorings of the Annotations code in the pipeline >>>>> and I suggest we look at these issues again after those refactorings. >>>>> === >>>>> >>>>> I don't know what the schedule of the EG and the larger annotation >>>>> refactorings are. >>>>> >>>>> >>>>>> A >>>>>> >>>>>> langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeVariableMissingTA.java >>>>> >>>>> I added this test for: >>>>> >>>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-July/001130.html >>>>> I didn't get to implement the larger refactoring suggested by Joel. >>>>> Should I add a simple fix to make the test pass? >>>>> >>>>> cu, WMD. >>>>> > > From jonathan.gibbons at oracle.com Fri Aug 30 11:39:18 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 30 Aug 2013 11:39:18 -0700 Subject: new tests in type-annotations repo In-Reply-To: <5220E58C.1090500@oracle.com> References: <52153A63.7060209@oracle.com> <5215685D.6020503@oracle.com> <5220CA1C.7090805@oracle.com> <5220D31D.1090404@oracle.com> <5220E58C.1090500@oracle.com> Message-ID: <5220E6D6.6010804@oracle.com> On 08/30/2013 11:33 AM, Steve Sides wrote: > I may be wrong but I think these were meant to test type annotations. > At the time these were written I think what we now know as TYPE_USE > was assumed to be part of the default set of elements which could be > annotated, and tests were to ensure that type annotations > implementation did not cause annotations to be accepted where they > shouldn't. That obviously has since changed and now type annotations > must be explicitly targeted to TYPE_USE. So.... (I assumed) that > these tests should check that type annotations are not accepted where > they shouldn't be. > I think in keeping with what these were meant to test and testing type > annotations, they should be okay. > > Some tests could additionally use regular annotations, but some of the > test cases are such that it may not be so clear that the type > annotation alone is causing the errors and we'd need a second test. I > checked the neg test for annotations (annotations/neg) and there are > just a few the check misplacement of annotations, so that argument can > be made to increase that type of testing. > > Also, the changeset was made against jdk8-tl and the tests pass there, > so it could go there also. > > -steve I still want to go through these tests. It is not really enough that the tests should pass; they should be seen to pass for the right reason. I could certainly imagine more tests in this area, but it seemed to me the goal of this changeset is to fix existing tests, and not provide a whole lot more. I think it would be better to get this changeset approved for tl/langtools if possible. -- Jon From jonathan.gibbons at oracle.com Fri Aug 30 15:46:05 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 30 Aug 2013 15:46:05 -0700 Subject: review request for 8010225 test in typeAnnotations/failures do not test TYPE_USE In-Reply-To: <52043C60.8020501@oracle.com> References: <52043C60.8020501@oracle.com> Message-ID: <522120AD.8080506@oracle.com> On 08/08/2013 05:48 PM, Steve Sides wrote: > Some changes for JDK-8010225 : test in typeAnnotations/failures do not > test TYPE_USE > Bug: http://bugs.sun.com/view_bug.do?bug_id=8010225 > webrev: http://cr.openjdk.java.net/~ssides/8010225/ > > This fix is for tl/langtools but since it's all type-annotations test > I've posted it here. > > -steve Here's the list of files: test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java OK. Edit is sorta unnecessary, but not wrong. test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java OK. Edit is sorta unnecessary, but not wrong. test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java OK. Edit is sorta unnecessary, but not wrong. test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out Test is only negative for 6, 7. Would be better to add positive test without -source as well test/tools/javac/annotations/typeAnnotations/failures/BadCast.java test/tools/javac/annotations/typeAnnotations/failures/BadCast.out OK test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.out OK test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.out OK test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.out *** There's no varargs in this test, so this test is kinda weird As it stands, it's sort of a random syntax error test. test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java test/tools/javac/annotations/typeAnnotations/failures/IndexArray.out OK test/tools/javac/annotations/typeAnnotations/failures/OldArray.java *** The test passes without changing the golden file. This is unexpected. The answer is because there is no /ref=...OldArray.out on line 29. This should be fixed, and then, you'll need to create a golden file! Also, remove the legal header and substitute /nodynamiccopyright/. test/tools/javac/annotations/typeAnnotations/failures/Scopes.java *** You've just removed a space from the line, nothing more. Did you mean to do more? test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java test/tools/javac/annotations/typeAnnotations/failures/StaticFields.out *** Sorta OK, but not really. The test runs the risk of false positive because f is not itself declared static. Thus, quite apart from the annotation, you are trying to do static access to a non-static field, which is guaranteed to fail. test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out This test is kinda pointless because the code fails even without the annotation. i.e. remove the annotation and the test still fails to compile. From wdietl at gmail.com Fri Aug 30 16:19:20 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 30 Aug 2013 23:19:20 +0000 Subject: hg: type-annotations/type-annotations: 2 new changesets Message-ID: <20130830231921.082E46244A@hg.openjdk.java.net> Changeset: 51a61778a99d Author: mduigou Date: 2013-08-29 16:04 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/51a61778a99d 8023892: test/Makefile shouldn't try to tell langtools/test/Makefile where to put output. Reviewed-by: erikj, vromero, henryjen ! test/Makefile Changeset: 2dda2515994a Author: wmdietl Date: 2013-08-30 16:19 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/2dda2515994a Automated merge with http://hg.openjdk.java.net/jdk8/tl/ From wdietl at gmail.com Fri Aug 30 16:20:28 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Fri, 30 Aug 2013 23:20:28 +0000 Subject: hg: type-annotations/type-annotations/jdk: 13 new changesets Message-ID: <20130830232515.DC3EA6244B@hg.openjdk.java.net> Changeset: 51151b440e95 Author: darcy Date: 2013-08-27 11:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/51151b440e95 8023827: Fix doclint issues in javax.net.ssl Reviewed-by: wetmore, xuelei ! src/share/classes/javax/net/ssl/SNIHostName.java ! src/share/classes/javax/net/ssl/X509KeyManager.java Changeset: ade440668f94 Author: henryjen Date: 2013-08-26 22:32 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ade440668f94 8023275: Wrapping collections should override default methods Reviewed-by: mduigou, psandoz ! src/share/classes/java/util/Collections.java + test/java/util/Collections/Wrappers.java Changeset: 3f6777cbfe69 Author: sherman Date: 2013-08-27 12:54 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3f6777cbfe69 8023647: "abc1c".matches("(\\w)+1\\1")) returns false Summary: to correct the wrong GroupCurly group index backoff code Reviewed-by: alanb ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: be2d25a277a7 Author: henryjen Date: 2013-08-21 20:41 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/be2d25a277a7 8023528: Rename Comparator combinators to disambiguate overloading methods Reviewed-by: mduigou, smarks ! src/share/classes/java/util/Comparator.java ! test/java/util/Comparator/BasicTest.java ! test/java/util/Map/EntryComparators.java ! test/java/util/function/BinaryOperator/BasicTest.java Changeset: 2efa310226f7 Author: alanb Date: 2013-08-28 14:07 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2efa310226f7 8023717: (process) ProcessBuilder should catch SecurityException rather than AccessControlException Reviewed-by: wetmore, alanb Contributed-by: martinrb at google.com ! src/share/classes/java/lang/ProcessBuilder.java Changeset: 378acd4d03c8 Author: alanb Date: 2013-08-28 15:50 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/378acd4d03c8 8022594: Potential deadlock in of sun.nio.ch.Util/IOUtil Reviewed-by: chegar ! src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java ! src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java ! src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/IOUtil.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/nio/ch/Util.java ! src/solaris/classes/sun/nio/ch/DatagramDispatcher.java ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/EPoll.java ! src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/EPollPort.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java ! src/solaris/classes/sun/nio/ch/InheritedChannel.java ! src/solaris/classes/sun/nio/ch/KQueue.java ! src/solaris/classes/sun/nio/ch/KQueuePort.java ! src/solaris/classes/sun/nio/ch/NativeThread.java ! src/solaris/classes/sun/nio/ch/PollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/SinkChannelImpl.java ! src/solaris/classes/sun/nio/ch/SolarisEventPort.java ! src/solaris/classes/sun/nio/ch/SourceChannelImpl.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java ! src/windows/classes/sun/nio/ch/DatagramDispatcher.java ! src/windows/classes/sun/nio/ch/FileDispatcherImpl.java ! src/windows/classes/sun/nio/ch/FileKey.java ! src/windows/classes/sun/nio/ch/Iocp.java ! src/windows/classes/sun/nio/ch/PipeImpl.java ! src/windows/classes/sun/nio/ch/SocketDispatcher.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java Changeset: 690b2931baef Author: sherman Date: 2013-08-28 09:46 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/690b2931baef 8023713: ZipFileSystem crashes on old zip file Summary: to handle extra data field copy correctly even the extra data does not follow the spec Reviewed-by: alanb, martin, chegar ! src/share/classes/java/util/zip/ZipOutputStream.java ! test/java/util/zip/TestExtraTime.java Changeset: b1f41565b806 Author: psandoz Date: 2013-08-28 22:11 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b1f41565b806 8023155: Ensure functional consistency across Random, ThreadLocalRandom, SplittableRandom Reviewed-by: mduigou Contributed-by: Doug Lea
, Paul Sandoz ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java ! test/java/util/Random/RandomStreamTest.java + test/java/util/Random/RandomTest.java ! test/java/util/SplittableRandom/SplittableRandomTest.java + test/java/util/concurrent/ThreadLocalRandom/ThreadLocalRandomTest.java Changeset: 779ff9f3b2e3 Author: sla Date: 2013-08-29 11:22 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/779ff9f3b2e3 8023786: (jdk) setjmp/longjmp changes the process signal mask on OS X Reviewed-by: dholmes ! src/share/back/SDE.c ! src/share/native/common/check_code.c Changeset: 5bf4f2eeee85 Author: dxu Date: 2013-08-29 10:43 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5bf4f2eeee85 4792059: test/java/io/pathNames/GeneralSolaris.java fails on symbolic links Summary: Exclude the possible usage of linked files or directories in the test Reviewed-by: alanb ! test/java/io/pathNames/General.java Changeset: cdf68747b0fb Author: xuelei Date: 2013-08-29 18:58 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cdf68747b0fb 8023881: IDN.USE_STD3_ASCII_RULES option is too strict to use Unicode in IDN.toASCII Reviewed-by: michaelm ! src/share/classes/java/net/IDN.java + test/java/net/IDN/UseSTD3ASCIIRules.java Changeset: 2d51653d9b4b Author: sjiang Date: 2013-08-30 12:49 +0200 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2d51653d9b4b 6566891: RMIConnector: map value referencing map key in WeakHashMap prevents map entry to be removed Reviewed-by: egahlin, jbachorik, dfuchs, dholmes ! src/share/classes/javax/management/remote/rmi/RMIConnector.java + test/javax/management/remote/mandatory/connection/RMIConnectorInternalMapTest.java + test/javax/management/remote/mandatory/connection/RMIConnectorNullSubjectConnTest.java Changeset: 485ac3520649 Author: wmdietl Date: 2013-08-30 16:20 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/485ac3520649 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk