[patterns] __matches __matches __matches

Gavin Bierman gavin.bierman at oracle.com
Wed Oct 11 15:44:18 UTC 2017


Thanks Tagir. Of course, this is a somewhat “transient” problem, but we’ve pushed a patch to address it.

http://hg.openjdk.java.net/amber/amber/rev/fad77d011e0c <http://hg.openjdk.java.net/amber/amber/rev/fad77d011e0c>

Many thanks,
Gavin

> On 11 Oct 2017, at 11:04, Tagir Valeev <amaembo at gmail.com> wrote:
> 
> Hello!
> 
> Tried the following source code:
> 
> public class Name {
>  static final int __matches = 1;
> 
>  public static void main(String[] args) {
>    if(__matches __matches __matches) {
>      System.out.println("Matches!");
>    }
>  }
> }
> 
> I assumed that __matches is a restricted keyword which is recognized
> as a keyword only at specific syntactic position, thus this program
> should be correct. Well, this could be debated, but the actual result
> is somewhat unpleasant:
> 
> 
> The system is out of resources.
> Consult the following stack trace for details.
> java.lang.StackOverflowError
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.lambda$new$0(JavacParser.java:1038)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:321)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:317)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.optag(JavacParser.java:4250)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.lambda$new$0(JavacParser.java:1043)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:321)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:317)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.optag(JavacParser.java:4250)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.lambda$new$0(JavacParser.java:1043)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:321)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:317)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.optag(JavacParser.java:4250)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.lambda$new$0(JavacParser.java:1043)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:321)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.peekToken(JavacParser.java:317)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.optag(JavacParser.java:4250)
>        at jdk.compiler/com.sun.tools.javac.parser.JavacParser.lambda$new$0(JavacParser.java:1043)
> ...
> 
> With best regards,
> Tagir Valeev



More information about the amber-dev mailing list