CFV: New jdk9 Reviewer: Jan Lahoda

-JB- jaroslav.bachorik at oracle.com
Thu Oct 9 07:17:56 UTC 2014


Vote: Yes

-JB-

On October 9, 2014 3:54:42 AM CEST, 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

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the jdk9-dev mailing list