From e19b76376e54e3ce2822b74f8f4b9393259dc962 Mon Sep 17 00:00:00 2001 From: cushon Date: Tue, 28 Apr 2020 13:56:11 -0700 Subject: [PATCH] Support `var` in enhanced for loops Fixes https://github.com/google/google-java-format/issues/463 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=308891540 --- .../googlejavaformat/java/JavaInputAstVisitor.java | 14 +++++++++++--- .../googlejavaformat/java/testdata/java14.input | 4 ++++ .../googlejavaformat/java/testdata/java14.output | 4 ++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java index ee211b500..4ff563ec2 100644 --- a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java +++ b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java @@ -2561,13 +2561,21 @@ private void visitToDeclare( String equals, Optional trailing) { sync(node); - TypeWithDims extractedDims = DimensionHelpers.extractDims(node.getType(), SortedDims.YES); - Optional typeWithDims = Optional.of(extractedDims); + Optional typeWithDims; + Tree type; + if (node.getType() != null) { + TypeWithDims extractedDims = DimensionHelpers.extractDims(node.getType(), SortedDims.YES); + typeWithDims = Optional.of(extractedDims); + type = extractedDims.node; + } else { + typeWithDims = Optional.empty(); + type = null; + } declareOne( kind, annotationsDirection, Optional.of(node.getModifiers()), - extractedDims.node, + type, node.getName(), "", equals, diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input index ecbea285b..10d45221b 100644 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.input @@ -43,4 +43,8 @@ class Java14 { case WEDNESDAY -> 9; }; } + + { + for (var arg : List.of()) {} + } } diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output index c8c435bbd..9779198b1 100644 --- a/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/java14.output @@ -44,4 +44,8 @@ class Java14 { case WEDNESDAY -> 9; }; } + + { + for (var arg : List.of()) {} + } }