CFV: New jdk9 Reviewer: Jan Lahoda

Jonathan Gibbons jonathan.gibbons at oracle.com
Thu Oct 9 01:54:42 UTC 2014


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