Cyrill Zadra created FLEX-33268:
-----------------------------------

             Summary: Falcon Compile Error: NPE when not existing namespace is 
used in <fx:Style> element.
                 Key: FLEX-33268
                 URL: https://issues.apache.org/jira/browse/FLEX-33268
             Project: Apache Flex
          Issue Type: Bug
          Components: MXML Compiler
            Reporter: Cyrill Zadra
             Fix For: Apache Flex Next


Code Example to reproduce error:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx">
        
        <fx:Style>
                @namespace s "library://ns.adobe.com/flex/spark/";
                
                s|Label {
                        color:red;
                }
                
        </fx:Style>     
        
        <s:Label text="asdf " />
</s:Application>

Exception: 

C:\dev\apache-flex\falcon\compiler.tests\functional-tests\f\mxml\StyleNPE_2Test.mxml
Error: Internal error in ABC generator subsystem, when generating code for: 
C:\dev\apache-flex\falcon\compiler.tests\functional-tests\f\mxml\StyleNPE_2Test.mxml:
 java.lang.AssertionError: Unable to resolve type selector: s|Label
        at 
org.apache.flex.compiler.internal.css.codegen.CSSReducer.getSelecterLiteralForABC(CSSReducer.java:552)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSReducer.reduceSelector(CSSReducer.java:499)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.action_12(CSSEmitter.java:196)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.dispatchAction(CSSEmitter.java:270)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceAntecedent(CSSEmitter.java:1146)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduce(CSSEmitter.java:1124)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceSubgoals(CSSEmitter.java:1171)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceAntecedent(CSSEmitter.java:1145)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduce(CSSEmitter.java:1124)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceSubgoals(CSSEmitter.java:1162)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceAntecedent(CSSEmitter.java:1145)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduce(CSSEmitter.java:1124)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceSubgoals(CSSEmitter.java:1171)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceAntecedent(CSSEmitter.java:1145)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduce(CSSEmitter.java:1124)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceSubgoals(CSSEmitter.java:1162)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduceAntecedent(CSSEmitter.java:1145)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.reduce(CSSEmitter.java:1124)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.burm(CSSEmitter.java:1205)
        at 
org.apache.flex.compiler.internal.css.codegen.CSSEmitter.burm(CSSEmitter.java:1197)
        at 
org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLStyle(MXMLClassDirectiveProcessor.java:3185)
        at 
org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:771)
        at 
org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:649)
        at 
org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:619)
        at 
org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMainClassDefinitionNode(MXMLClassDirectiveProcessor.java:515)
        at 
org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareMXMLDocument(GlobalDirectiveProcessor.java:510)
        at 
org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:232)
        at 
org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
        at 
org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(ABCGenerator.java:122)
        at 
org.apache.flex.compiler.internal.units.MXMLCompilationUnit.handleABCBytesRequest(MXMLCompilationUnit.java:198)
        at 
org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:866)
        at 
org.apache.flex.compiler.internal.units.CompilationUnitBase.access$3(CompilationUnitBase.java:864)
        at 
org.apache.flex.compiler.internal.units.CompilationUnitBase$3$1.call(CompilationUnitBase.java:309)
        at 
org.apache.flex.compiler.internal.units.CompilationUnitBase$3$1.call(CompilationUnitBase.java:1)
        at 
org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
        at 
org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:1)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to