You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2022/12/06 17:13:47 UTC

[royale-compiler] 02/05: formatter: nullish coalescing operator

This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit aa775145095fccc63dc77b3d70eaffa4565a9cd3
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Tue Dec 6 08:46:57 2022 -0800

    formatter: nullish coalescing operator
---
 .../apache/royale/formatter/ASTokenFormatter.java    |  2 ++
 .../royale/formatter/TestLogicalOperators.java       | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
index 903c0d4f6..0ae559168 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
@@ -385,6 +385,7 @@ public class ASTokenFormatter extends BaseTokenFormatter {
 					case ASTokenTypes.TOKEN_OPERATOR_BITWISE_XOR:
 					case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_AND:
 					case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_OR:
+					case ASTokenTypes.TOKEN_OPERATOR_NULLISH_COALESCING:
 					case ASTokenTypes.TOKEN_OPERATOR_PLUS_ASSIGNMENT:
 					case ASTokenTypes.TOKEN_OPERATOR_MINUS_ASSIGNMENT:
 					case ASTokenTypes.TOKEN_OPERATOR_MULTIPLICATION_ASSIGNMENT:
@@ -869,6 +870,7 @@ public class ASTokenFormatter extends BaseTokenFormatter {
 					case ASTokenTypes.TOKEN_OPERATOR_BITWISE_XOR:
 					case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_AND:
 					case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_OR:
+					case ASTokenTypes.TOKEN_OPERATOR_NULLISH_COALESCING:
 					case ASTokenTypes.TOKEN_OPERATOR_PLUS_ASSIGNMENT:
 					case ASTokenTypes.TOKEN_OPERATOR_MINUS_ASSIGNMENT:
 					case ASTokenTypes.TOKEN_OPERATOR_MULTIPLICATION_ASSIGNMENT:
diff --git a/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java b/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java
index dcf6e03e1..2839ddc2e 100644
--- a/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java
+++ b/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java
@@ -123,4 +123,24 @@ public class TestLogicalOperators extends BaseFormatterTests {
 				// @formatter:on
 				result);
 	}
+
+	@Test
+	public void testNullishCoalescingOperator() {
+		FormatterSettings settings = new FormatterSettings();
+		settings.insertSpaceBeforeAndAfterBinaryOperators = true;
+		settings.placeOpenBraceOnNewLine = true;
+		settings.insertSpaces = false;
+		ASTokenFormatter formatter = new ASTokenFormatter(settings);
+		String result = formatter.format("file.as",
+		// @formatter:off
+			"a??b;",
+			// @formatter:on
+			problems
+		);
+		assertEquals(
+		// @formatter:off
+				"a ?? b;",
+				// @formatter:on
+				result);
+	}
 }