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 861d8098e0366b8a8e4462167aca34a1296b42ff
Author: Josh Tynjala <[email protected]>
AuthorDate: Mon Oct 31 09:40:37 2022 -0700

    linter: null reference checks
---
 .../java/org/apache/royale/linter/MXMLLinter.java  | 23 ++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/linter/src/main/java/org/apache/royale/linter/MXMLLinter.java 
b/linter/src/main/java/org/apache/royale/linter/MXMLLinter.java
index bd5662755..7a465d589 100644
--- a/linter/src/main/java/org/apache/royale/linter/MXMLLinter.java
+++ b/linter/src/main/java/org/apache/royale/linter/MXMLLinter.java
@@ -104,7 +104,9 @@ public class MXMLLinter extends BaseLinter {
                        PrefixMap prefixMap = mxmlTokenizer.getPrefixMap();
                        MXMLData mxmlData = new MXMLData(originalTokens, 
prefixMap, new StringFileSpecification(filePath, text));
                        IMXMLTagData rootTag = mxmlData.getRootTag();
-                       visitTag(rootTag, tokenQuery, fileProblems);
+                       if (rootTag != null) {
+                               visitTag(rootTag, tokenQuery, fileProblems);
+                       }
                        IMXMLUnitData current = rootTag;
                        int offset = 1;
                        String className = 
Paths.get(filePath).getFileName().toString();
@@ -112,15 +114,20 @@ public class MXMLLinter extends BaseLinter {
                        if (extensionIndex != -1) {
                                className = className.substring(0, 
extensionIndex);
                        }
-                       String componentName = 
mxmlData.getRootTag().getShortName();
+                       String componentName = null;
+                       if (rootTag != null) {
+                               componentName = rootTag.getShortName();
+                       }
                        StringBuilder builder = new StringBuilder();
                        builder.append("/* ");
                        builder.append(LINTER_TAG_OFF);
                        builder.append(" */");
                        builder.append("package{public class ");
                        builder.append(className);
-                       builder.append(" extends ");
-                       builder.append(componentName);
+                       if (componentName != null) {
+                               builder.append(" extends ");
+                               builder.append(componentName);
+                       }
                        builder.append("{");
                        while (current != null) {
                                if (current instanceof IMXMLTagData) {
@@ -192,8 +199,8 @@ public class MXMLLinter extends BaseLinter {
                                        String tokenText = 
text.substring(start, end);
                                        MXMLToken formattingToken = new 
MXMLToken(MXMLTokenQuery.TOKEN_TYPE_FORMATTING, start, end,
                                                        prevToken.getLine(), 
prevToken.getColumn() + end - start, tokenText);
-                                                       
formattingToken.setEndLine(token.getLine());
-                                                       
formattingToken.setEndLine(token.getColumn());
+                                       
formattingToken.setEndLine(token.getLine());
+                                       
formattingToken.setEndLine(token.getColumn());
                                        tokens.add(formattingToken);
                                }
                        }
@@ -207,8 +214,8 @@ public class MXMLLinter extends BaseLinter {
                                String tokenText = text.substring(start, end);
                                MXMLToken formattingToken = new 
MXMLToken(MXMLTokenQuery.TOKEN_TYPE_FORMATTING, start, end,
                                                prevToken.getLine(), 
prevToken.getColumn() + end - start, tokenText);
-                                       
formattingToken.setEndLine(prevToken.getLine());
-                                       
formattingToken.setEndLine(prevToken.getColumn());
+                               formattingToken.setEndLine(prevToken.getLine());
+                               
formattingToken.setEndLine(prevToken.getColumn());
                                tokens.add(formattingToken);
                        }
                }

Reply via email to