CFV: New jdk9 Reviewer: Jan Lahoda
Staffan Larsen
staffan.larsen at oracle.com
Thu Oct 9 06:51:57 UTC 2014
Vote: yes.
On 9 okt 2014, at 03:54, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
> I hereby nominate Jan Lahoda to jdk9 Reviewer.
>
> Jan has had many years experience working on javac, while working on NetBeans and since joining the javac team. He has contributed over 90 changesets and participated in many reviews as well. Some of his more significant contributions are listed below.
>
> Votes are due by 22 Oct 2014.
>
> Only current jdk9 Reviewers [1] are eiligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list.
>
> For Three-Vote Consensus voting instructions, see [2].
>
> -Alan.
>
> [1] http://openjdk.java.net/census
> [2] http://openjdk.java.net/projects/#reviewer-vote
>
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/d2b75f318fea
> 8043643: Add an crules analyzer avoiding string concatenation in messages of Assert checks.
> Summary: Generalizing the crules infrastructure, adding a new analyzer to check String concatenation in Assert calls.
> Reviewed-by: jjg, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/eb1989ca0494
> 6707032: Division by zero warning not suppressed properly in some cases
> Summary: Delay reporting of the division by zero warning until annotations are resolved, so that @SuppressWarnings works correctly.
> Reviewed-by: vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/d8d49a41294a
> 8046916: Type parameter annotations don't work with multiple type parameters
> Summary: When reading type variable's annotations out of the owner's type annotations, use the type variable's index in owner to exclude annotations belonging to other type variables.
> Reviewed-by: jfranck, emc
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/4487f6f98252
> 8043186: javac test langtools/tools/javac/util/StringUtilsTest.java fails
> Summary: The result of String.toLowerCase.indexOf does not always point at the start of the given string in the non-lowercased text.
> Reviewed-by: jjg, bpatel
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/dfd281a9c6bf
> 8041663: Sensitive dependence on location of nested interface
> Summary: Adding a method among ambiguous candidates only if it is more specific than some of the existing candidates.
> Reviewed-by: dlsmith, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/da8d9f8995d1
> 8040822: Duplicated notifications can be sent to TaskListener
> Summary: The analyze finished event must only be sent on the first call to JavaCompiler.flow for a given class.
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/176a2e871eb9
> 8041695: Update the NetBeans build script and metadata
> Summary: Various improvements to the NetBeans project for langtools, adding formatting/import setting for langtools.
> Reviewed-by: ksrini
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/95f5329ecbbb
> 8038788: javac behaves incorrectly for annotations after method type parameters in some cases
> Reviewed-by: jjg, emc
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/d8d27b8088fd
> 8038455: Use single Context for all rounds of annotation processing
> Summary: One set of javac services, as well as created ClassSymbols, is reused for all rounds of processing now.
> Reviewed-by: jjg, jfranck, darcy, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/2d06980994e0
> 8035890: jdk8 javac -source 7 compiles test case it should not
> Summary: Ensuring source level checks are performed in two additional cases related to type annotations, adding specialized error message for annotations after method type parameters.
> Reviewed-by: jfranck, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/7690787d1a81
> 8034854: outer_class_info_index of synthetic class is not zero
> Summary: Auxiliary synthetic anonymous classes should not have an outer class specified in the InnerClasses attribute.
> Reviewed-by: vromero, jjg, abuckley
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/86afe494b60f
> 8033961: Formatting of -Xlint: command line help
> Summary: Improving formatting of command line help for -Xlint, including a short description of each lint.
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/d1897a74e801
> 8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method
> Summary: When the overrides deprecated method warning is being reported, need to do that in the lint context of the method.
> Reviewed-by: vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/6c96a2941e60
> 8030091: Request to update error messages from javac for negative varargs test cases
> Summary: Introducing a new error message for vararg parameter not being the last parameter, improving error message for unexpected character after a parameter.
> Reviewed-by: jjg, sogoel
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/c71cb4fbb329
> 8028576: Incorrect RuntimeVisibleTypeAnnotations for exception parameters when not generating debuging info
> Summary: The exception parameters with type annotations need to be added into the varBuffer even if not generating debug info
> Reviewed-by: jjg, emc
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/7163a6b6d8ea
> 8030049: RoundEnvironment.getElementsAnnotatedWith receives wrong elements
> Summary: Match the required and actual annotations using Element equivalence rather than TypeMirror equivalence, to avoid trouble with erroneous types.
> Reviewed-by: darcy
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/c1c20e618930
> 8029376: Full attribution of unresolvable annotations
> 8029161: javac crashing when processing broken annotations
> Summary: Attributing values of annotation attributes regardless how broken the annotation is.
> Reviewed-by: jjg, jfranck
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/378aa10645e1
> 8028235: Better error recovery for parsing 'void' as a type of the lambda parameter
> Summary: Handle "void" as a primitive type in JavacParser.analyzeParens.
> Reviewed-by: vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/55e4fd84b317
> 8028415: TreeMaker.Literal(Object) creates invalid JCLiterals when passed a Character.
> Summary: JCLiteral for char must contain an Integer, not the provided Character.
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/bc18278c195e
> 8029800: Flags.java uses String.toLowerCase without specifying Locale
> Summary: Introducing StringUtils.toLowerCase/toUpperCase independent on the default locale, converting almost all usages of String.toLowerCase/toUpperCase to use the new methods.
> Reviewed-by: jjg, bpatel
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/756ae3791c45
> 8027789: Access method for Outer.super.m() references indirect superclass
> Summary: Internally convert the qualified super access to an equivalent of an unqualified super access inside the access method.
> Reviewed-by: vromero, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/8acb838c9b79
> 8026374: javac accepts void as a method parameter
> Summary: Changing Check.validate to reject void types.
> Reviewed-by: jjg, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/6e0f31d61e56
> 8027142: Invokedynamic instructions don't get line number table entries
> Summary: When emitting invokedynamic instruction, write pendingStatPos, if set, into the LineNumberTable. Invokedynamic itself does not set the pendingStatPos.
> Reviewed-by: jjg, jrose, ksrini, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/75c8cde12ab6
> 8027281: Incorrect invokespecial generated for JCK lang EXPR/expr636/expr63602m* tests
> Summary: When invoking interface default method via a superclass, use the direct superclass in the reference.
> Reviewed-by: vromero, dlsmith, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/8b4e1421a9b7
> 8027310: Annotation Processor crashes with NPE
> Summary: JCAnnotation.attribute is null when annotation type is unavailable
> Reviewed-by: jjg, jfranck
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/864dafc5ab7a
> 8026861: Wrong LineNumberTable for variable declarations in lambdas
> Summary: Setting or correcting positions for many trees produced by LambdaToMethod.
> Reviewed-by: vromero, rfield
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/79649bf21a92
> 8026180: com.sun.source.tree.NewArrayTree refers to com.sun.tools.javac.util.List
> Summary: Correcting import in NewArrayTree, adding test protecting againts improper types in API signatures
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/87b5bfef7edb
> 8014016: javac is too late detecting invalid annotation usage
> Summary: Adding new queue to Annotate for validation tasks, performing annotation validation during enter
> Reviewed-by: jjg, emc, jfranck
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/872c4a898b38
> 6278240: Exception from AnnotationValue.getValue() should list the found type not the required type
> Reviewed-by: darcy, jfranck, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/1b469fd31e35
> 8025087: Annotation processing api returns default modifier for interface static method
> Summary: ClassReader must not set Flags.DEFAULT for interface static methods
> Reviewed-by: vromero, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/0be3f1820e8b
> 8025141: java.lang.ClassFormatError: Illegal field modifiers in class (...)
> Summary: Should not generate non-public $assertionsDisabled field into interfaces
> Reviewed-by: jjg, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/c13305cf8528
> 8025118: Annotation processing api returns default modifier for interface without default methods
> Summary: TypeElement.getModifiers() should not contain Modifier.DEFAULT
> Reviewed-by: darcy, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/b7d8b71e1658
> 8022765: Compiler crashes with exception on wrong usage of an annotation.
> Summary: Error recovery for incorrect annotation attribute values - ensure the values are always attributed appropriately
> Reviewed-by: jfranck, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/41599b57d262
> 8023835: TreeMaker.QualIdent() too leafy
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/8d1c48de706d
> 8022567: Javac Should Generate Warnings For Raw Array Type
> Reviewed-by: jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/4ce8148ffc4f
> 8021112: Spurious unchecked warning reported by javac
> 6480588: No way to suppress deprecation warnings when implementing deprecated interface
> Summary: Fixing DeferredLintHandler configuration, so lint warnings are reported with correct @SuppressWarnings settings
> Reviewed-by: jjg, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/77d395862700
> 8019521: Enhanced rethrow disabled in lambdas
> Summary: Fixing effectively final detection inside lambdas, small cleanup related to thrown types detection in lambdas
> Reviewed-by: mcimadamore, jjg
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/f657d400c736
> 8022508: javac crashes if the generics arity of a base class is wrong
> Reviewed-by: mcimadamore, vromero
>
> http://hg.openjdk.java.net/jdk9/dev/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
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/cd9e8cea1b3c
> 8021338: Diamond finder may mark a required type argument as unnecessary
> Reviewed-by: mcimadamore
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/8c4b2987edac
> 8020689: Missing LineNumberTable entries in compiled class files
> Reviewed-by: ksrini, mcimadamore
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/10711bd8bb2d
> 8020586: Warning produced for an incorrect file
> Summary: Always using DeferredLintHandler.immediateHandler when processing import classes
> Reviewed-by: mcimadamore
>
> http://hg.openjdk.java.net/jdk9/dev/langtools/rev/170e486632d9
> 8004504: ListBuffer could reuse List.nil() as the sentinel element
> Summary: ListBuffer.last now points to the last elements with client data, or null if none.
> Reviewed-by: jjg, mcimadamore
>
More information about the jdk9-dev
mailing list