From 72fe3f70844aeafa601388fec4aee166d21f1018 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Thu, 4 Jan 2024 20:17:22 +0100 Subject: [PATCH] Update to match recent `J.ArrayType` refactorings See: https://github.com/openrewrite/rewrite/pull/3848 --- .../javascript/JavaScriptVisitor.java | 24 ------------------- .../javascript/TypeScriptTypeMapping.java | 4 ++-- .../internal/TypeScriptParserVisitor.java | 19 ++++----------- 3 files changed, 6 insertions(+), 41 deletions(-) diff --git a/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java b/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java index a994e89b..b3acde07 100644 --- a/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java +++ b/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java @@ -417,30 +417,6 @@ public J visitAnnotatedType(J.AnnotatedType annotatedType, P p) { return a; } - @Override - public J visitArrayType(J.ArrayType arrayType, P p) { - J.ArrayType a = arrayType; - a = a.withPrefix(visitSpace(a.getPrefix(), Space.Location.ARRAY_TYPE_PREFIX, p)); - a = a.withMarkers(visitMarkers(a.getMarkers(), p)); - Expression temp = (Expression) visitExpression(a, p); - if (!(temp instanceof J.ArrayType)) { - return temp; - } else { - a = (J.ArrayType) temp; - } - //noinspection DataFlowIssue - a = a.withElementType(visitAndCast(a.getElementType(), p)); - a = a.withElementType(visitTypeName(a.getElementType(), p)); - a = a.withDimensions( - ListUtils.map(a.getDimensions(), dim -> - visitRightPadded(dim.withElement( - visitSpace(dim.getElement(), Space.Location.DIMENSION, p) - ), JRightPadded.Location.DIMENSION, p) - ) - ); - return a; - } - @Override public J visitParameterizedType(J.ParameterizedType type, P p) { J.ParameterizedType pt = type; diff --git a/src/main/java/org/openrewrite/javascript/TypeScriptTypeMapping.java b/src/main/java/org/openrewrite/javascript/TypeScriptTypeMapping.java index 39d83fb9..0d92815b 100644 --- a/src/main/java/org/openrewrite/javascript/TypeScriptTypeMapping.java +++ b/src/main/java/org/openrewrite/javascript/TypeScriptTypeMapping.java @@ -99,10 +99,10 @@ public JavaType type(@Nullable TSCNode node) { } private JavaType array(TSCNode node, String signature) { - JavaType.Array arr = new JavaType.Array(null, null); + JavaType.Array arr = new JavaType.Array(null, null, JavaType.EMPTY_FULLY_QUALIFIED_ARRAY); typeCache.put(signature, arr); TSCNode elementType = node.getNodeProperty("elementType"); - arr.unsafeSet(type(elementType)); + arr.unsafeSet(type(elementType), null); return arr; } diff --git a/src/main/java/org/openrewrite/javascript/internal/TypeScriptParserVisitor.java b/src/main/java/org/openrewrite/javascript/internal/TypeScriptParserVisitor.java index 8f867916..2a7db084 100644 --- a/src/main/java/org/openrewrite/javascript/internal/TypeScriptParserVisitor.java +++ b/src/main/java/org/openrewrite/javascript/internal/TypeScriptParserVisitor.java @@ -3332,27 +3332,16 @@ private J.ControlParentheses mapControlParentheses(TSCNode no private J.ArrayType mapArrayType(TSCNode node) { Space prefix = whitespace(); - - int dimensionsCount = 1; - TSCNode curElement = node.getNodeProperty("elementType"); - while (curElement.syntaxKind() == TSCSyntaxKind.ArrayType) { - dimensionsCount++; - curElement = curElement.getNodeProperty("elementType"); - } - - TypeTree typeTree = (TypeTree) visitNode(curElement); - List> dimensions = new ArrayList<>(dimensionsCount); - for (int i = 0; i < dimensionsCount; i++) { - Space before = sourceBefore(TSCSyntaxKind.OpenBracketToken); - dimensions.add(padRight(before, sourceBefore(TSCSyntaxKind.CloseBracketToken))); - } + TypeTree typeTree = (TypeTree) visitNode(node.getNodeProperty("elementType")); return new J.ArrayType( randomId(), prefix, Markers.EMPTY, typeTree, - dimensions + null, + new JLeftPadded<>(sourceBefore(TSCSyntaxKind.OpenBracketToken), sourceBefore(TSCSyntaxKind.CloseBracketToken), Markers.EMPTY), + typeTree.getType() ); }