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 6679e22713dacaf9ddcb4fb1fdc8517a78b82006 Author: Josh Tynjala <[email protected]> AuthorDate: Thu Jul 25 10:03:37 2024 -0700 ASParser, VariableExpressionNode: fix start position of variable expression in for-in and for-each loops --- .../org/apache/royale/compiler/internal/parsing/as/ASParser.g | 9 ++++++++- .../royale/compiler/internal/tree/as/VariableExpressionNode.java | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g b/compiler/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g index a4ee25dfd..74e661e13 100644 --- a/compiler/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g +++ b/compiler/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g @@ -1385,7 +1385,7 @@ variableDefExpression returns[NodeBase v] /** * Matches a single variable definition in a for loop. */ -singleVariableDefExpression[ASToken varToken, boolean isConst] returns [ExpressionNodeBase n] +singleVariableDefExpression[IASToken varToken, boolean isConst] returns [ExpressionNodeBase n] { n = null; VariableNode variable = null; @@ -1396,7 +1396,14 @@ singleVariableDefExpression[ASToken varToken, boolean isConst] returns [Expressi { variable = new VariableNode(varName); if(varToken != null) + { variable.setKeyword(varToken); + variable.startBefore(varToken); + } + else + { + variable.startBefore(varName); + } variable.setIsConst(isConst); n = new VariableExpressionNode(variable); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/VariableExpressionNode.java b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/VariableExpressionNode.java index 45a9b67bb..7f63ccc8f 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/VariableExpressionNode.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/as/VariableExpressionNode.java @@ -43,6 +43,7 @@ public class VariableExpressionNode extends ExpressionNodeBase implements IVaria super(); this.variableNode = variableNode; variableNode.setParent(this); + span(variableNode); } /**
