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) {
