Fixes #164
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLScopeBuilder.java b/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLScopeBuilder.java
index 60e9353..b3c4003 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLScopeBuilder.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/mxml/MXMLScopeBuilder.java
@@ -30,6 +30,7 @@
import java.util.LinkedList;
import java.util.List;
+import org.apache.royale.compiler.internal.tree.mxml.MXMLInstanceNode;
import org.apache.commons.io.IOUtils;
import org.apache.royale.compiler.common.IFileSpecificationGetter;
import org.apache.royale.compiler.common.Multiname;
@@ -662,7 +663,7 @@
private void processState(IMXMLTagData tag, String qname)
{
- if (!qname.equals(project.getStateClass()) || tag.getMXMLDialect() == MXMLDialect.MXML_2006)
+ if (!MXMLInstanceNode.isStateClass(qname, project) || tag.getMXMLDialect() == MXMLDialect.MXML_2006)
return;
// if there is no name attribute, ignore it as a state, as name is
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLInstanceNode.java b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLInstanceNode.java
index 1405b81..3d6d469 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLInstanceNode.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLInstanceNode.java
@@ -57,9 +57,9 @@
import org.apache.royale.compiler.tree.mxml.IMXMLClassReferenceNode;
import org.apache.royale.compiler.tree.mxml.IMXMLInstanceNode;
-class MXMLInstanceNode extends MXMLClassReferenceNodeBase implements IMXMLInstanceNode
+public class MXMLInstanceNode extends MXMLClassReferenceNodeBase implements IMXMLInstanceNode
{
- private static boolean isStateClass(String instanceType, RoyaleProject project)
+ public static boolean isStateClass(String instanceType, RoyaleProject project)
{
// we are going to require that all subclasses are also named State
// but just in different packages. That way we don't have to keep resolving