<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.java.openjdk.compiler.devel">
    <title>gmane.comp.java.openjdk.compiler.devel</title>
    <link>http://blog.gmane.org/gmane.comp.java.openjdk.compiler.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4678"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4543"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4524"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4519"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4507"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4498"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4497"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4480"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4448"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4442"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4441"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4438"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4426"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4412"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4375"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4367"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4363"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4311"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4283"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4246"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4678">
    <title>ARM and repeating exceptions</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4678</link>
    <description>&lt;pre&gt;Hi,

There is some understandable, but still weird behavior in ARM. Should
the code cache or throw the same exception on some op(), and close(),
then ARM block will throw IllegalArgumentException. The minimal test
case is [1]. I think it can be fixed with simple fix in javac
desugaring scheme, placing additional check if exception from close()
is actually the original exception, and not trying to suppress it.

Thanks,
Aleksey.

[1]

import java.io.IOException;

public class ArmTest {

    // fails with IllegalArgumentException at Throwable.addSuppressed()
    public static void main(String[] args) {
        try (MyAutoCloseable worker = new MyAutoCloseable()) {
            worker.doWork();
        } catch (IOException e) {
            throw new IllegalStateException("Chained", e);
        }
    }

    private static class MyAutoCloseable implements AutoCloseable {
        private static final IOException EXCEPTION = new IOException();
        public void doWork() throws IOException { throw EXCEPTION; }
     &lt;/pre&gt;</description>
    <dc:creator>Aleksey Shipilev</dc:creator>
    <dc:date>2012-05-22T10:07:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4543">
    <title>OpenJDK fails to compile hadoop 0.23.1</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4543</link>
    <description>&lt;pre&gt;ponto:(crawler)/tmp/hadoop-common&amp;gt;java -version
openjdk version "1.6.0_30"
OpenJDK Runtime Environment (build 1.6.0_30-b24)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

fails with:

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile 
(default-compile) on project hadoop-mapreduce-client-core: Compilation 
failure: Compilation failure:
[ERROR] 
/tmp/hadoop-common/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Counters.java:[93,49] 
incompatible types; inferred type argument(s) 
org.apache.hadoop.mapreduce.Counter,java.lang.Object do not conform to 
bounds of type variable(s) C,G
[ERROR] found   : &amp;lt;C,G&amp;gt;java.lang.String
[ERROR] required: java.lang.String
[ERROR] 
/tmp/hadoop-common/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Counters.java:[576,33] 
incompatible types; inferred type argument(s) 
org.apache.hadoop.mapreduc&lt;/pre&gt;</description>
    <dc:creator>Radim Kolar</dc:creator>
    <dc:date>2012-04-05T14:20:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4524">
    <title>Questions on documentation and hacking javac</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4524</link>
    <description>&lt;pre&gt;Hello,

not sure if this is the best place to ask this kind of help, I hope
someone can point me out in the right directions.

I'm looking for any form of documentation on detailed stages of the
compiler and its classes and overall structure, if such exists. For
example, docs on the structures, their relationships and detailed
stages notes. I've noticed the AST being constructed uses some Type
classes hierarchy and Symbols hierarchy, involving environment objects
and context objects (and Todos and tasks, and so on and so forth)....I
can make some sense of them, but hasn't been so easy to get a good
idea on how to make use of the available code and what are some of the
requirements to use them. If there is no such docs, then perhaps, a
few pointers.

Mostly, with quite ease, I've been able to change the parser, added a
few kinds of nodes to the ASTs and (with less confidence) I was able
to resolve the identifiers, types and method signature consistency on
my new syntax.

Now, the actual problem: I need to cre&lt;/pre&gt;</description>
    <dc:creator>Thiago Silva</dc:creator>
    <dc:date>2012-03-29T19:50:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4519">
    <title>Static import from default package ?</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4519</link>
    <description>&lt;pre&gt;Hi all,

is there any reason, why we can't import static from class in default package?

Example:
class A {
     static final type CONSTANT = 123;
     static final type method() {...};
}

import static A.*;
class B {
     static final type HERE = CONSTANT;
     static final type now() { return method(); };
}

Use case:
JDK's jtreg tests (based on default package).

Regards,

Ulf



&lt;/pre&gt;</description>
    <dc:creator>Ulf Zibis</dc:creator>
    <dc:date>2012-03-28T15:59:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4507">
    <title>Optimize bytecode for combination enhanced-for and enums</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4507</link>
    <description>&lt;pre&gt;Hi all,

TL;DR: for (Edge edge : Edge.values()) copies an array every time it is
executed. This can be prevented. Is that a good idea and how to proceed
from here?

I'm new to this list, so please let me know if this is not the place to
post this.

When I was profiling our application I notices that we allocate quite some
memory when iterating over enum values. The pattern used was:

class  Foo {
  void bar() {
    for (Edge e : Edge.values()) {
      // do some work
    }
  }
}

The call to Edge.values() obviously creates a new clone of the Edge[]
containing all enum constants. So we've modified our code:

class  Foo {
  private static final Edge[] EDGES = Edge.values();

  void bar() {
    for (Edge e : EDGES) {
      // do some work
    }
  }
}

This solves our allocation problem, but it is not a nice solution. Since
code in the enhanced-for has no way to modify the array this pattern can be
done at compile-time. A synthetic inner class can be generated to keep the
copy of the array. The desugared (pseudo&lt;/pre&gt;</description>
    <dc:creator>Roel Spilker</dc:creator>
    <dc:date>2012-03-28T13:39:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4498">
    <title>Result: New Compiler Group Member: Dan Smith</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4498</link>
    <description>&lt;pre&gt;|The vote for*Dan Smith*  [1] is now closed.

Yes:*6*
Veto: 0
Abstain:*0*

According to the Bylaws definition of Lazy Consensus, this is
sufficient to approve the nomination.

*Jon Gibbons*

[1]|http://mail.openjdk.java.net/pipermail/compiler-dev/2012-March/004145.html

&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gibbons</dc:creator>
    <dc:date>2012-03-26T10:18:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4497">
    <title>Result: New Compiler Group Member: Brian Goetz</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4497</link>
    <description>&lt;pre&gt;|The vote for*Brian Goetz*  [1] is now closed.

Yes:*6*
Veto: 0
Abstain:*0*

According to the Bylaws definition of Lazy Consensus, this is
sufficient to approve the nomination.

*Jon Gibbons*

[1] http://mail.openjdk.java.net/pipermail/compiler-dev/2012-March/004144.html|

&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gibbons</dc:creator>
    <dc:date>2012-03-26T10:16:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4480">
    <title>Initial proof of concept for implementation of -Xlint:hiddenclass</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4480</link>
    <description>&lt;pre&gt;
Although legal, the use of multiple top level classes in the same file
is somewhat questionable to begin with, but it is particularly bad when
in some package class A in A.java refers to class B defined in C.java. 
This requires that at times the files must be compiled together, and
prevents implicit compilation from locating such "hidden classes".

Proof of concept impl:
http://cr.openjdk.java.net/~ohrstrom/webrev-7153951-v1/

It seems to detect the problem correctly. And there are a few of these
in the jdk, it seems, ~100.

How to do isSameFile test properly?
How to report each hidden class reference only once?
Are line numbers neccesary?
Where to put checkForHiddenAccess?
Does it cover all possible use cases?
What else did I miss?

//Fredrik


&lt;/pre&gt;</description>
    <dc:creator>Fredrik Öhrström</dc:creator>
    <dc:date>2012-03-16T12:12:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4448">
    <title>Draft specification of repeating annotations language changes</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4448</link>
    <description>&lt;pre&gt;Hello,

Work has commenced on the repeating annotations feature discussed in JEP 
120:

     JEP 120: Repeating Annotations
     http://openjdk.java.net/jeps/120

First, the meta-annotation type used to declare the containing 
annotation has been added to java.lang.annotation:

     7151008: Add library support for repeating annotations in 
java.lang.annotation
     http://hg.openjdk.java.net/jdk8/tl/jdk/rev/99b91217370d

Updates to the AnnotatedElement interface will be made later.

Next, with feedback from other members of the compiler team, I've 
written a draft specification of the needed language changes:

Updates to JLS 9.6

If annotation type T is annotated with an annotation a of type 
ContainerAnnotation then:

The value of the &amp;lt; at &amp;gt;ContainerAnnotation annotation is called the 
containing annotation type TC.

TC must declare a value() method whose return type is T[], or a 
compile-time error occurs.

(This implies that TC can be the containing annotation type for only a 
single annotation type.)

[Note:&lt;/pre&gt;</description>
    <dc:creator>Joe Darcy</dc:creator>
    <dc:date>2012-03-11T22:19:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4442">
    <title>CFV: New Compiler Group Member: Brian Goetz</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4442</link>
    <description>&lt;pre&gt;|I hereby nominate Brian Goetz to Membership in the Compiler Group.
|
Brian Goetz is Java Language Architect at Oracle and Specification Lead
for JSR-335, Lambda Expressions for the Java (TM) Programming Language.
Brian needs no introduction to the Java community, having brought us
zillions of articles on Java development as well as the best-selling
book"Java Concurrency in Practice". He was part of the JSR-166 Expert
Group that brought us java.util.concurrent, and has racked up more
JavaOne Rock Star awards than almost anyone else.
|

Votes are due by the end of March 24.

Only current Members of the Compiler Group [1] are eligible
to vote on this nomination.

For Lazy Consensus voting instructions, see [2].

&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gibbons</dc:creator>
    <dc:date>2012-03-10T18:53:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4441">
    <title>CFV: New Compiler Group Member: Dan Smith</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4441</link>
    <description>&lt;pre&gt;|I hereby nominate Dan Smith to Membership in the Compiler Group.
|
Dan has been working closely on Compiler Group projects since
joining Oracle in November 2010.  He has been heavily involved
in design, specification, and JCP work for Lambda, and also
participated in discussions about Coin; he often analyzes bugs
and participates in code reviews for JDK 8 (and formerly JDK 7).
Previously, he received a PhD studying compilers, programming
languages, and type systems at Rice University.

|
Votes are due by the end of March 24.

Only current Members of the Compiler Group [1] are eligible
to vote on this nomination.

For Lazy Consensus voting instructions, see [2].

&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gibbons</dc:creator>
    <dc:date>2012-03-10T18:53:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4438">
    <title>Code review request: 7151580 - Separate DA/DU logic from exceptionchecking logic in Flow.java</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4438</link>
    <description>&lt;pre&gt;Hi,
this is a biggie changeset [1] for separating the definite assignment 
logic from the exception analysis logic in Flow.java. The two logic used 
to share the same visitor - moving forward it would be nice to split the 
two routines in two separate visitors as there are use cases in which we 
might only need to run one of the two (i.e. when inferring thrown types 
of a lambda).

The inspiration for this work came from the BGGA prototype which 
featured a similar refactoring. I have added my own little twist to the 
code - for example, both visitors are nested classes inside Flow - they 
also share a common super class that contains shared routine for 
handling jumps.

[1] - http://cr.openjdk.java.net/~mcimadamore/7151580.0/webrev/ 
&amp;lt;http://cr.openjdk.java.net/%7Emcimadamore/7151580.0/webrev/&amp;gt;

Maurizio


&lt;/pre&gt;</description>
    <dc:creator>Maurizio Cimadamore</dc:creator>
    <dc:date>2012-03-09T11:00:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4426">
    <title>hg: jdk8/tl/langtools: 7150579: Moved ant code into a separatepackage, anttasks.</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4426</link>
    <description>&lt;pre&gt;Changeset: 7245999a0075
Author:    ohrstrom
Date:      2012-03-07 13:11 +0100
URL:       http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7245999a0075

7150579: Moved ant code into a separate package, anttasks.
Summary: To allow langtools to be built without ant, the ant tasks were moved to a separated package. The packages were also renamed to proper lower case package names.
Reviewed-by: jjg

! make/build.xml
! make/netbeans/langtools/build.xml
- make/tools/CompileProperties/CompileProperties.java
- make/tools/CompileProperties/CompilePropertiesTask.java
- make/tools/GenStubs/GenStubs.java
- make/tools/SelectTool/SelectToolTask.java
+ make/tools/anttasks/CompilePropertiesTask.java
+ make/tools/anttasks/GenStubsTask.java
+ make/tools/anttasks/SelectToolTask.java
+ make/tools/compileproperties/CompileProperties.java
+ make/tools/genstubs/GenStubs.java


&lt;/pre&gt;</description>
    <dc:creator>fredrik.ohrstrom-QHcLZuEGTsvQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2012-03-07T12:12:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4412">
    <title>RFR (XXS): 77150579: build-infra merge: Langtools, move ant dependencyinto separate package.</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4412</link>
    <description>&lt;pre&gt;Hi,

the dependency on ant for the langtools repo, encoded into the build
tools CompilePropertiesTask and GenStubs,
can be separated into a separate package.

This enables build-infra makefiles to compile langtools without the
ant.jar simply by avoiding the ant specific package.
Ant can of course still be used to build langtools.

WEBREV:
http://cr.openjdk.java.net/~ohrstrom/webrev-7150579-v1/

TESTING:
Builds fine using ant, even when genstubs is tricked to actually be used, which it normally is not.

Feedback welcome!

//Fredrik



&lt;/pre&gt;</description>
    <dc:creator>Fredrik Öhrström</dc:creator>
    <dc:date>2012-03-05T13:18:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4375">
    <title>Apparent generics compilation bug new to Java 1.7</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4375</link>
    <description>&lt;pre&gt;Hi,

The below class no longer compiles (1.7.02); I can't see any good reason
for it not to, and nor can ecj or the 1.6 JDK, so I think it is quite
probably a bug. Could you confirm I'm not just being an idiot, and I'll
file a bug report? I had a poke around the bug tracker to see if it has
already been filed, but I can't say with confidence it hasn't been.

public class TypeTest {
 static abstract class A&amp;lt;K, V, I extends B&amp;lt;K, V&amp;gt;, I2 extends B&amp;lt;V, K&amp;gt;&amp;gt; {
 abstract A&amp;lt;V, K, I2, I&amp;gt; test();
 }
 static class B&amp;lt;K, V&amp;gt; {
 }
}

javac output is:

TypeTest.java:7: error: type argument I2 is not within bounds of
type-variable I
                abstract A&amp;lt;V, K, I2, I&amp;gt; test();
                                 ^
  where I2,V,K,I are type-variables:
    I2 extends B&amp;lt;V,K&amp;gt; declared in class A
    V extends Object declared in class A
    K extends Object declared in class A
    I extends B&amp;lt;K,V&amp;gt; declared in class A
1 error
&lt;/pre&gt;</description>
    <dc:creator>Benedict Elliott Smith</dc:creator>
    <dc:date>2012-02-23T14:08:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4367">
    <title>JEP 139: Enhance javac to Improve Build Speed</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4367</link>
    <description>&lt;pre&gt;Posted: http://openjdk.java.net/jeps/139

- Mark

&lt;/pre&gt;</description>
    <dc:creator>mark.reinhold-QHcLZuEGTsvQT0dZR+AlfA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2012-02-21T22:11:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4363">
    <title>Weird usage of Java Generics compiles correctly with JDT (and coderuns) but does not compile with Oracle's Java6 compiler</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4363</link>
    <description>&lt;pre&gt;|Hello,

please look at the following code:

public  class  MyWeirdClass  {

     public  void  entryPoint()  {
         doSomethingWeird();
     }

     &amp;lt; at &amp;gt;SuppressWarnings(  "unchecked"  )
     private  &amp;lt;Textends  A&amp;amp;  B&amp;gt;  T getMyClass()  {
         if  (  System.currentTimeMillis()  %  2  ==  0  )  {
            return  (T)  new  MyClass_1();
         }  else  {
            return  (T)  new  MyClass_2();
         }
     }

     private  &amp;lt;Textends  A&amp;amp;  B&amp;gt;  void  doSomethingWeird()  {
         T obj=  getMyClass();

         obj.methodFromA();
         obj.methodFromB();
     }

     static  interface A{
         void  methodFromA();
     }

     static  interface B{
         void  methodFromB();
     }

     static  class  MyClass_1  implements  A,  B{
         public  void  methodFromA()  {};
         public  void  methodFromB()  {};
     }

     static  class  MyClass_2  implements  A,  B{
         public  void  methodFromA()  {};
         public  void  methodFromB()  {};
     }
}


This code compiles corre&lt;/pre&gt;</description>
    <dc:creator>Danilo Tommasina</dc:creator>
    <dc:date>2012-02-21T12:43:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4311">
    <title>javac lexer parser rewrite</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4311</link>
    <description>&lt;pre&gt;Hello

Javac scanner and parser now are handwritten. The code, especially in parser is quite messy and
hard to read and modify.
It is possible to rewrite lexer and parser using some kind of java parser generator.
It would improve readability and allows for easier modifications.

There is a project 'compiler grammar' (which seems dormant). Java lexer and parser were rewritten
using antlr. But antrl generated parsers are very slow.

Many lexer and parser generators exists which are able to process 'classic' regular expressions for lexer or
context free grammars for parser and produce fast code (ie. jflex, beaver, jikes parser generator and more)

What do you think about it? Is there a need for such thing? Is it worth the effort?

Regards
Leszek Piotrowicz

&lt;/pre&gt;</description>
    <dc:creator>leszekp-X8oORJ6WFSEJGwgDXS7ZQA&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2012-02-07T09:57:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4283">
    <title>javac pretty printer probable bugs</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4283</link>
    <description>&lt;pre&gt;Hi,


as part of the javac AST Visualizer project, I have some difficulties with
javac's pretty printer. The problem is the fact, that I am doing double
compilation (after first compilation I get the textual representation of
produced AST and that is in fact used for visualization purposes). Double
compilation is needed because I want to visualize all the compiler sugar
(default constructor, effectively final variables in ARM, code generated
for enum, ...).

The problem is that javac's pretty printer (I guess it is pretty printer)
after calling CompilationUnitTree.toString() produces in some specific
situations code that is not able to compile:

1.) it transforms
public class FullClassUsage {
    {
        new &amp;lt;Object&amp;gt; ArrayList&amp;lt;String&amp;gt;(10) {
            {
                add("123");
            }
        };
    }
}
into
public class FullClassUsage {

    public FullClassUsage() {
        super();
    }
    {
        new &amp;lt;Object&amp;gt;ArrayList&amp;lt;String&amp;gt;(10){

            (int x0) {
                super(x0);
      &lt;/pre&gt;</description>
    <dc:creator>Crazy Java</dc:creator>
    <dc:date>2012-01-29T12:40:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4246">
    <title>javac AST Visualizer on NetBeans Platform</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4246</link>
    <description>&lt;pre&gt;Hi,


I just finished my first NetBeans platform application. It visualizes
javac's AST from given java source file.

Maybe some of you might be interested in or provide feedback... I wrote an
article about it on my blog &amp;lt;http://crazyjavahacking.com/&amp;gt;.


Cheers
&lt;/pre&gt;</description>
    <dc:creator>Crazy Java</dc:creator>
    <dc:date>2012-01-21T15:39:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4192">
    <title>Generics compilation failure casting List&lt;? extends Set...&gt; toList&lt;Set...&gt; under Java 7</title>
    <link>http://comments.gmane.org/gmane.comp.java.openjdk.compiler.devel/4192</link>
    <description>&lt;pre&gt;Hi all

During some recent work to get jclouds to compile under Java 7 I came  
across a generics compilation failure that can be reproduced using the  
following sample code:

classGenericCompilationFailureDemo{
     List&amp;lt;?extendsGenericCompilationFailureDemo&amp;gt;newList(){
         returnnewArrayList&amp;lt;GenericCompilationFailureDemo&amp;gt;();
     };

     voiduseList(){
         List&amp;lt;GenericCompilationFailureDemo&amp;gt;list =
             (List&amp;lt;GenericCompilationFailureDemo&amp;gt;)newList();
     }

     List&amp;lt;?extendsSet&amp;lt;GenericCompilationFailureDemo&amp;gt;&amp;gt;newListOfSpecificSets(){
         returnnewArrayList&amp;lt;Set&amp;lt;GenericCompilationFailureDemo&amp;gt;&amp;gt;();
     };

     voiduseListOfSpecificSets(){
         List&amp;lt;Set&amp;lt;GenericCompilationFailureDemo&amp;gt;&amp;gt;listOfSpecificSets =
             (List&amp;lt;Set&amp;lt;GenericCompilationFailureDemo&amp;gt;&amp;gt;)newListOfSpecificSets();
     }

     List&amp;lt;?extendsSet&amp;lt;?extendsGenericCompilationFailureDemo&amp;gt;&amp;gt;newListOfSets(){
         returnnewArrayList&amp;lt;Set&amp;lt;?extendsGenericCompilationFailureDemo&amp;gt;&amp;gt;();
     };

     voiduseListOfSet(){
       &lt;/pre&gt;</description>
    <dc:creator>Andrew Phillips</dc:creator>
    <dc:date>2011-12-31T15:17:21</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.compiler.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.java.openjdk.compiler.devel</link>
  </textinput>
</rdf:RDF>

