You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2022/11/15 17:56:00 UTC
[royale-compiler] 01/06: linter: null reference checks
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 <jo...@apache.org>
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);
}
}