MXMLTagData: added protected setProblems() for FakeMXMLTagData to fix null exception in findMatchingEndTag()
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLTagData.java b/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLTagData.java
index f57bb08..171f58b 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLTagData.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLTagData.java
@@ -172,6 +172,11 @@
return contentEnd;
}
+ protected void setProblems(Collection<ICompilerProblem> problems)
+ {
+ this.problems = problems;
+ }
+
@SuppressWarnings("fallthrough")
MutablePrefixMap init(IMXMLData mxmlData, MXMLToken nameToken, ListIterator<MXMLToken> tokenIterator, MXMLDialect dialect, IFileSpecification spec, Collection<ICompilerProblem> problems)
{
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLTagDataDepth.java b/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLTagDataDepth.java
index 0af74b1..3b84709 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLTagDataDepth.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLTagDataDepth.java
@@ -66,12 +66,18 @@
public FakeMXMLTagData(String tagName, boolean closeTag, boolean emptyTag) {
this.tagName = tagName;
nameType = closeTag ? MXMLTokenTypes.TOKEN_CLOSE_TAG_START : MXMLTokenTypes.TOKEN_OPEN_TAG_START;
- this.emptyTag = emptyTag;
+ this.emptyTag = emptyTag;
+
+ // a call to findMatchingEndTag() will fail without this
+ this.setProblems(new ArrayList<ICompilerProblem>());
}
public FakeMXMLTagData(MXMLTagData data, boolean emptyTag) {
super(data);
this.emptyTag = emptyTag;
+
+ // a call to findMatchingEndTag() will fail without this
+ this.setProblems(new ArrayList<ICompilerProblem>());
}
@Override