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 ee996cd366070f992802b5c257522ecbc092d5ea
Author: Josh Tynjala <[email protected]>
AuthorDate: Mon Jan 12 14:31:11 2026 -0800

    ASTokenFormatter, ASLinter: normalize file path and provide ASFileScope to 
fix assertion errors
---
 .../src/main/java/org/apache/royale/formatter/ASTokenFormatter.java | 5 +++++
 linter/src/main/java/org/apache/royale/linter/ASLinter.java         | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

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 93faae15f..6cc27810a 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
@@ -38,6 +38,7 @@ import 
org.apache.royale.compiler.internal.parsing.as.MetadataToken;
 import org.apache.royale.compiler.internal.parsing.as.MetadataTokenTypes;
 import org.apache.royale.compiler.internal.parsing.as.RepairingTokenBuffer;
 import org.apache.royale.compiler.internal.parsing.as.StreamingASTokenizer;
+import org.apache.royale.compiler.internal.scopes.ASFileScope;
 import org.apache.royale.compiler.internal.tree.as.FileNode;
 import org.apache.royale.compiler.internal.workspaces.Workspace;
 import org.apache.royale.compiler.parsing.IASToken;
@@ -47,6 +48,7 @@ import org.apache.royale.compiler.problems.ICompilerProblem;
 import org.apache.royale.compiler.problems.UnexpectedExceptionProblem;
 import org.apache.royale.formatter.config.Semicolons;
 import org.apache.royale.formatter.internal.BaseTokenFormatter;
+import org.apache.royale.utils.FilenameNormalization;
 
 public class ASTokenFormatter extends BaseTokenFormatter {
        private static final int TOKEN_TYPE_EXTRA = 999999;
@@ -91,6 +93,8 @@ public class ASTokenFormatter extends BaseTokenFormatter {
                        problems = new ArrayList<ICompilerProblem>();
                }
 
+               filePath = FilenameNormalization.normalize(filePath);
+
                StringReader textReader = new StringReader(text);
                StreamingASTokenizer tokenizer = null;
                ASToken[] streamingTokens = null;
@@ -132,6 +136,7 @@ public class ASTokenFormatter extends BaseTokenFormatter {
                ASParser parser = new ASParser(workspace, buffer);
                parser.setFilename(filePath);
                FileNode node = new FileNode(workspace);
+               node.setScope(new ASFileScope(node));
                try {
                        parser.file(node);
                } catch (Exception e) {
diff --git a/linter/src/main/java/org/apache/royale/linter/ASLinter.java 
b/linter/src/main/java/org/apache/royale/linter/ASLinter.java
index dce93f9f4..7f73971be 100644
--- a/linter/src/main/java/org/apache/royale/linter/ASLinter.java
+++ b/linter/src/main/java/org/apache/royale/linter/ASLinter.java
@@ -31,13 +31,13 @@ import java.util.Map;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.royale.compiler.clients.problems.CompilerProblemCategorizer;
-import org.apache.royale.compiler.common.ISourceLocation;
 import org.apache.royale.compiler.internal.parsing.as.ASParser;
 import org.apache.royale.compiler.internal.parsing.as.ASToken;
 import org.apache.royale.compiler.internal.parsing.as.ASTokenTypes;
 import org.apache.royale.compiler.internal.parsing.as.IncludeHandler;
 import org.apache.royale.compiler.internal.parsing.as.RepairingTokenBuffer;
 import org.apache.royale.compiler.internal.parsing.as.StreamingASTokenizer;
+import org.apache.royale.compiler.internal.scopes.ASFileScope;
 import org.apache.royale.compiler.internal.semantics.PostProcessStep;
 import org.apache.royale.compiler.internal.tree.as.FileNode;
 import org.apache.royale.compiler.internal.workspaces.Workspace;
@@ -49,6 +49,7 @@ import 
org.apache.royale.compiler.problems.UnexpectedExceptionProblem;
 import org.apache.royale.compiler.tree.ASTNodeID;
 import org.apache.royale.compiler.tree.as.IASNode;
 import org.apache.royale.linter.internal.BaseLinter;
+import org.apache.royale.utils.FilenameNormalization;
 
 public class ASLinter extends BaseLinter {
        private static final String LINTER_TAG_OFF = "@linter:off";
@@ -63,6 +64,8 @@ public class ASLinter extends BaseLinter {
                        allProblems = new ArrayList<ICompilerProblem>();
                }
 
+               filePath = FilenameNormalization.normalize(filePath);
+
                List<ICompilerProblem> fileProblems = new 
ArrayList<ICompilerProblem>();
                try {
                        StringReader textReader = new StringReader(text);
@@ -106,6 +109,7 @@ public class ASLinter extends BaseLinter {
                        ASParser parser = new ASParser(workspace, buffer);
                        parser.setFilename(filePath);
                        FileNode node = new FileNode(workspace);
+                       node.setScope(new ASFileScope(node));
                        try {
                                parser.parseFile(node, 
EnumSet.of(PostProcessStep.CALCULATE_OFFSETS));
                        } catch (Exception e) {

Reply via email to