[ https://issues.apache.org/jira/browse/FLEX-35190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15724713#comment-15724713 ]
Alex Harui commented on FLEX-35190: ----------------------------------- Hi Sankar, The patch file appears to contain changes to unrelated files. Please correct and update the patch file. It appears that the intended patch adds a default property metadata to DataItemRenderer. Did you actually try this and it fixed the problem? In the debugger, I think I am seeing an issue with the binding expression instead. > [FlexJS] DataItemRenderer breaks if extends as MXML file > -------------------------------------------------------- > > Key: FLEX-35190 > URL: https://issues.apache.org/jira/browse/FLEX-35190 > Project: Apache Flex > Issue Type: Bug > Affects Versions: Apache FlexJS 0.8.0 > Reporter: Santanu Karar > Attachments: devsena.patch > > > I took a nightly build of Apache FlexJS and tried by it's supplied > *DataGridExample* example project. The example used a custom DataItemRenderer > class, but it was an ActionScript implementation. > When I tried to create MXML file extending same DataItemRenderer class, when > used to DataGrid component, I couldn't even able to build but thrown by > compiler error: > *1551: Internal error in ABC generator subsystem, when generating code for: > E:\apache-flex-flexjs-0.8.0-bin\examples\flexjs\DataGridExample\src\products\ProductItemRendererMXML.mxml: > java.lang.NullPointerException* > I'm attaching herewith the full error details for your review: > {panel} > Description Resource Path Location Type > 1551: Internal error in ABC generator subsystem, when generating code for: > E:\apache-flex-flexjs-0.8.0-bin\examples\flexjs\DataGridExample\src\products\ProductItemRendererMXML.mxml: > java.lang.NullPointerException > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.analyzeExpression(BindingInfo.java:488) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.finishInit(BindingInfo.java:171) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.<init>(BindingInfo.java:115) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingAnalyzer.analyze(BindingAnalyzer.java:56) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingDatabase.analyze(BindingDatabase.java:122) > at > org.apache.flex.compiler.internal.codegen.databinding.MXMLBindingDirectiveHelper.visitNode(MXMLBindingDirectiveHelper.java:116) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLDataBinding(MXMLClassDirectiveProcessor.java:4797) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3696) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLInstance(MXMLClassDirectiveProcessor.java:3349) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:939) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLArray(MXMLClassDirectiveProcessor.java:3088) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:926) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3605) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLInstance(MXMLClassDirectiveProcessor.java:3349) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:939) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLArray(MXMLClassDirectiveProcessor.java:3088) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:926) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3605) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMainClassDefinitionNode(MXMLClassDirectiveProcessor.java:653) > at > org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareMXMLDocument(GlobalDirectiveProcessor.java:518) > 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:199) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:866) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase.access$300(CompilationUnitBase.java:107) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:309) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:305) > 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:222) > 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) ProductItemRendererMXML.mxml > /DataGridExample/src/products line 0 Flex Problem > {panel} > The MXML custom renderer class was simple: > {code} > <js:DataItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:js="library://ns.apache.org/flexjs/basic"> > <fx:Script> > <![CDATA[ > import org.apache.flex.html.Label; > import > org.apache.flex.html.supportClasses.DataItemRenderer; > ]]> > </fx:Script> > <js:Container width="100%" height="100%"> > <js:Label id="output" width="100" text="{data.image}" /> > </js:Container> > </js:DataItemRenderer> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)