diff --git a/rust/src/ast_utils.rs b/rust/src/ast_utils.rs index 9fd05183..105700cd 100644 --- a/rust/src/ast_utils.rs +++ b/rust/src/ast_utils.rs @@ -388,6 +388,8 @@ pub fn token_and_spans_to_java_list<'local>( }, Token::Arrow => java_ast_token_factory.create_generic_operator(env, AstTokenType::Arrow, index_range), Token::Hash => java_ast_token_factory.create_generic_operator(env, AstTokenType::Hash, index_range), + Token::At => java_ast_token_factory.create_generic_operator(env, AstTokenType::At, index_range), + Token::Dot => java_ast_token_factory.create_generic_operator(env, AstTokenType::Dot, index_range), _ => java_ast_token_factory.create_unknown(env, &text, index_range), }; java_array_list.add(env, &list, &ast_token); diff --git a/rust/src/enums.rs b/rust/src/enums.rs index 51e293bd..49dc4bd5 100644 --- a/rust/src/enums.rs +++ b/rust/src/enums.rs @@ -75,6 +75,8 @@ pub enum AstTokenType { IdentOther, // 40 Arrow, // 41 Hash, // 42 + At, // 43 + Dot, // 44 } impl IdentifiableEnum for AstTokenType { @@ -122,6 +124,8 @@ impl IdentifiableEnum for AstTokenType { AstTokenType::IdentOther => 40, AstTokenType::Arrow => 41, AstTokenType::Hash => 42, + AstTokenType::At => 43, + AstTokenType::Dot => 44, _ => 0, } } @@ -169,6 +173,8 @@ impl IdentifiableEnum for AstTokenType { 40 => AstTokenType::IdentOther, 41 => AstTokenType::Arrow, 42 => AstTokenType::Hash, + 43 => AstTokenType::At, + 44 => AstTokenType::Dot, _ => AstTokenType::Unknown, } } diff --git a/src/main/java/com/caoccao/javet/swc4j/enums/Swc4jAstTokenType.java b/src/main/java/com/caoccao/javet/swc4j/enums/Swc4jAstTokenType.java index 750dabe9..b7e47b15 100644 --- a/src/main/java/com/caoccao/javet/swc4j/enums/Swc4jAstTokenType.java +++ b/src/main/java/com/caoccao/javet/swc4j/enums/Swc4jAstTokenType.java @@ -65,6 +65,8 @@ public enum Swc4jAstTokenType { // Operator Arrow(41, "=>", false, true), Hash(42, "#", false, true), + At(43, "@", false, true), + Dot(44, ".", false, true), ; private static final int LENGTH = values().length; diff --git a/src/test/java/com/caoccao/javet/swc4j/TestSwc4j.java b/src/test/java/com/caoccao/javet/swc4j/TestSwc4j.java index 39d946f2..de8a5ff4 100644 --- a/src/test/java/com/caoccao/javet/swc4j/TestSwc4j.java +++ b/src/test/java/com/caoccao/javet/swc4j/TestSwc4j.java @@ -129,6 +129,7 @@ public void testParseTypeScriptWithCaptureTokens() throws Swc4jCoreException { parseAndAssert("測試", options, Swc4jAstTokenType.IdentOther, "測試", 0, 2); parseAndAssert("() => {}", options, Swc4jAstTokenType.Arrow, "=>", 3, 5, 2, 5); parseAndAssert("class A { #abc; }", options, Swc4jAstTokenType.Hash, "#", 10, 11, 3, 7); + parseAndAssert("a.b", options, Swc4jAstTokenType.Dot, ".", 1, 2, 1, 3); } @Test