Stepped through it, and this is what I found:

A file is created in 'temp', and it has a MXML structure in it
(Sprite->Declaration->[nodeTypeToTest]).

A valid 'fileNode' is created, BUT only the top level node seems to be parsed:

MXMLFileNode(MXMLFileID)
"/Users/erik/Documents/ApacheFlex/svn/apacheFlex-falcon/compiler.tests/temp/MXMLBooleanNodeTests8309004183864644727.mxml"
1:1 loc: 0-240 abs: 0-240
/Users/erik/Documents/ApacheFlex/svn/apacheFlex-falcon/compiler.tests/temp/MXMLBooleanNodeTests8309004183864644727.mxml

In your example, Michael, I see a tree structure, not in my 'result'.

So, when the 'getMXMLArrayNode' methods starts looking for the
'FirstDescendantOfType', it will find none, return null and there is
my exception.

Where do I look next? The compiler seems to build OK (with a few
warnings as I mentioned), maybe the tests aren't using the 'correct'
compiler?

EdB


On Sun, Nov 18, 2012 at 8:46 PM, Michael Schmalle
<apa...@teotigraphix.com> wrote:
> Erik,
>
> My advice is get in Eclipse, right click on the MXMLArray test and Debug as
> JUnit, have a break point in;
>
> MXMLNodeBaseTests.java at line 129; Step through and then click on the
> fileNode variable;
>
> If the output window dosn't show;
>
> MXMLFileNode(MXMLFileID)
> "C:\Users\Graphix\projects\libraries\flex\falcon\trunk\compiler.tests\temp\MXMLBooleanNodeTests1363968697407340654.mxml"
> 1:1 loc: 0-240 abs: 0-240
> C:\Users\Graphix\projects\libraries\flex\falcon\trunk\compiler.tests\temp\MXMLBooleanNodeTests1363968697407340654.mxml
>   MXMLDocumentNode(MXMLDocumentID) "flash.display.Sprite" 0:0 loc: 0-240
> abs: 0-240
> C:\Users\Graphix\projects\libraries\flex\falcon\trunk\compiler.tests\temp\MXMLBooleanNodeTests1363968697407340654.mxml
>     MXMLDeclarationsNode(MXMLDeclarationsID) 1:4 loc: 168-228 abs: 168-228
> C:\Users\Graphix\projects\libraries\flex\falcon\trunk\compiler.tests\temp\MXMLBooleanNodeTests1363968697407340654.mxml
>       MXMLArrayNode(MXMLArrayID) "Array" 2:8 loc: 194-205 abs: 194-205
> C:\Users\Graphix\projects\libraries\flex\falcon\trunk\compiler.tests\temp\MXMLBooleanNodeTests1363968697407340654.mxml
>
>
> Then you have something wrong with the compilation unit not being created
> which means your permissions for the 'temp' folder might need to be adjusted
> to read and write or something.
>
>
> Mike
>
>
> Quoting Erik de Bruin <e...@ixsoftware.nl>:
>
>> Same result in Terminal.
>>
>> I do see a 'temp' folder.
>>
>> In JUnit (which I'm not intimately familiar with) I do see the
>> following when I run the first test in MXMLArrayNodeTests.java:
>>
>>  java.lang.NullPointerException
>> at
>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests.getMXMLArrayNode(MXMLArrayNodeTests.java:46)
>> at
>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests.MXMLArrayNode_empty1(MXMLArrayNodeTests.java:55)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>> at
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>> at
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>> at
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>> at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>> at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>>
>> EdB
>>
>>
>> On Sun, Nov 18, 2012 at 8:00 PM, Erik de Bruin <e...@ixsoftware.nl> wrote:
>>>
>>> Eclipse…
>>>
>>> Now trying ant in Terminal...
>>>
>>> EdB
>>>
>>>
>>> On Sun, Nov 18, 2012 at 7:58 PM, Cyrill Zadra <cyrill.za...@gmail.com>
>>> wrote:
>>>>
>>>> Ok.. mhh
>>>>
>>>> How do you execute the junit tests?
>>>>
>>>> With ant script or eclipse?
>>>>
>>>> On Sun, Nov 18, 2012 at 10:54 AM, Erik de Bruin <e...@ixsoftware.nl>
>>>> wrote:
>>>>>
>>>>> Cyrill,
>>>>>
>>>>> Yes, an empty 'temp' folder exists in the root of compile.tests.
>>>>>
>>>>> So, I reverted the compile.tests back to it's original state and run
>>>>> the 'download' target. That indeed also cleared up the missing library
>>>>> issue. But didn't solve the Failed tests thing :-(
>>>>>
>>>>> EdB
>>>>>
>>>>> On Sun, Nov 18, 2012 at 7:49 PM, Cyrill Zadra <cyrill.za...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Hi Erik
>>>>>>
>>>>>>> [javac]
>>>>>>> /Users/erik/Documents/ApacheFlex/svn/apacheFlex-falcon/compiler/build.xml:415:
>>>>>>> warning: 'includeantruntime' was not set, defaulting to
>>>>>>> build.sysclasspath=last; set to false for repeatable builds
>>>>>>> Warning: /Users/erik/Documents/ApacheFlex/svn/apacheFlex-sdk/ant/lib
>>>>>>> does not exist.
>>>>>>
>>>>>>
>>>>>> I have those errors to.. but shouldn't be the problem.
>>>>>>
>>>>>>> on 'compiler.tests' I got "missing required library
>>>>>>
>>>>>> 'lib/junit-4.10.jar'". Editing the entry in the 'build path/Libraries'
>>>>>> fixed that.
>>>>>>
>>>>>> Instead of fixing the entry you could also execute the download target
>>>>>> of the build.xml.
>>>>>>
>>>>>> Do you have a temp folder in compile.tests projects?
>>>>>>
>>>>>>
>>>>>>
>>>>>> cyrill
>>>>>>
>>>>>> On Sun, Nov 18, 2012 at 10:32 AM, Michael Schmalle
>>>>>> <apa...@teotigraphix.com> wrote:
>>>>>>>
>>>>>>> Usually Eclipse doesn't refresh folders immediately( the results
>>>>>>> folder is
>>>>>>> created by junit build), press F5 on the compiler.tests project
>>>>>>> folder.
>>>>>>>
>>>>>>> Hmm, you need the stack trace in the JUnit view in Eclipse to show
>>>>>>> you where
>>>>>>> exactly the null pointer was.
>>>>>>>
>>>>>>> But let me say this again, I have the same code as you and my tests
>>>>>>> are all
>>>>>>> green except the one functional test that has like 4 warnings it
>>>>>>> fails on.
>>>>>>>
>>>>>>>
>>>>>>> Mike
>>>>>>>
>>>>>>> Quoting Erik de Bruin <e...@ixsoftware.nl>:
>>>>>>>
>>>>>>>> Ha, I just found the 'result' directory, must be 'hidden' in the
>>>>>>>> Eclipse project…
>>>>>>>>
>>>>>>>> Here is another snippet:
>>>>>>>>
>>>>>>>>   <testcase
>>>>>>>>
>>>>>>>> classname="org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests"
>>>>>>>> name="MXMLArrayNode_empty1" time="0.206">
>>>>>>>>     <error
>>>>>>>> type="java.lang.NullPointerException">java.lang.NullPointerException
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests.getMXMLArrayNode(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>>
>>>>>>>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests.MXMLArrayNode_empty1(Unknown
>>>>>>>> Source)
>>>>>>>> </error>
>>>>>>>>   </testcase>
>>>>>>>>
>>>>>>>> Doesn't look good ;-)
>>>>>>>>
>>>>>>>> EdB
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Nov 18, 2012 at 7:19 PM, Michael Schmalle
>>>>>>>> <apa...@teotigraphix.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yeah, that is not right, there is something failing in your setup.
>>>>>>>>>
>>>>>>>>> Look at the stack traces of the errors.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Mike
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Quoting Erik de Bruin <e...@ixsoftware.nl>:
>>>>>>>>>
>>>>>>>>>> When running 'compiler.tests', this is a snippet of a failed test:
>>>>>>>>>>
>>>>>>>>>>     [junit] Running
>>>>>>>>>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests
>>>>>>>>>>
>>>>>>>>>>     [junit] Tests run: 7, Failures: 0, Errors: 6, Time elapsed:
>>>>>>>>>> 0.26 sec
>>>>>>>>>>
>>>>>>>>>>     [junit] TEST
>>>>>>>>>> org.apache.flex.compiler.internal.tree.mxml.MXMLArrayNodeTests
>>>>>>>>>> FAILED
>>>>>>>>>>
>>>>>>>>>> Does that point to something I need to change before my local
>>>>>>>>>> environment is 'fit to test'?
>>>>>>>>>>
>>>>>>>>>> EdB
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sun, Nov 18, 2012 at 7:10 PM, Erik de Bruin
>>>>>>>>>> <e...@ixsoftware.nl>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I do see some warnings on the 'compiler' build:
>>>>>>>>>>>
>>>>>>>>>>> "[javac]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> /Users/erik/Documents/ApacheFlex/svn/apacheFlex-falcon/compiler/build.xml:415:
>>>>>>>>>>> warning: 'includeantruntime' was not set, defaulting to
>>>>>>>>>>> build.sysclasspath=last; set to false for repeatable builds"
>>>>>>>>>>>
>>>>>>>>>>> When I do a 'wipe' and build again, I see one specific warning
>>>>>>>>>>> (other
>>>>>>>>>>> than a couple of the above):
>>>>>>>>>>>
>>>>>>>>>>> "Warning:
>>>>>>>>>>> /Users/erik/Documents/ApacheFlex/svn/apacheFlex-sdk/ant/lib
>>>>>>>>>>> does not exist."
>>>>>>>>>>>
>>>>>>>>>>> Help?
>>>>>>>>>>>
>>>>>>>>>>> EdB
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sun, Nov 18, 2012 at 6:55 PM, Erik de Bruin
>>>>>>>>>>> <e...@ixsoftware.nl>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I have followed the various instructions and was able to
>>>>>>>>>>>> successfully
>>>>>>>>>>>> build the Falcon compiler. Along the way I encountered several
>>>>>>>>>>>> issues
>>>>>>>>>>>> that are not yet documented (I'm on OS X 10.8):
>>>>>>>>>>>>
>>>>>>>>>>>> - I needed to edit the 'build.xml' file on line 50, to point the
>>>>>>>>>>>> 'sdk.branch' property to the correct location of the SDK on my
>>>>>>>>>>>> system;
>>>>>>>>>>>> - when trying to use the mxmlc on a project, I got 'permission
>>>>>>>>>>>> denied'. Setting the executable bit on the file corrected that;
>>>>>>>>>>>>
>>>>>>>>>>>> After that I was able to run from the command line and
>>>>>>>>>>>> successfully
>>>>>>>>>>>> build "Hello.as", which ran fine in the standalone Flash
>>>>>>>>>>>> debugger.
>>>>>>>>>>>>
>>>>>>>>>>>> So I proceed to get the projects 'compiler' and 'compiler.tests'
>>>>>>>>>>>> to
>>>>>>>>>>>> work in in Eclipse. After importing them, I get a 'problem' on
>>>>>>>>>>>> each
>>>>>>>>>>>> one:
>>>>>>>>>>>> - on 'compiler', I got a message about 'ANT_JAR', which after I
>>>>>>>>>>>> re-created that variable in the project build path and pointed
>>>>>>>>>>>> it to
>>>>>>>>>>>> 'ant.jar' on my system, went away;
>>>>>>>>>>>> - on 'compiler.tests' I got "missing required library
>>>>>>>>>>>> 'lib/junit-4.10.jar'". Editing the entry in the 'build
>>>>>>>>>>>> path/Libraries'
>>>>>>>>>>>> fixed that.
>>>>>>>>>>>>
>>>>>>>>>>>> I got 'build.xml' on 'compiler' working in Eclipse after adding:
>>>>>>>>>>>>
>>>>>>>>>>>> <property name="env.JFLEX_JAR"
>>>>>>>>>>>> value="/usr/share/java/jflex-1.4.3/lib/JFlex.jar"/>
>>>>>>>>>>>>
>>>>>>>>>>>> Then I ran 'build.xml' on 'compiler.tests' and that completed,
>>>>>>>>>>>> but
>>>>>>>>>>>> with plenty of FAILED tests (which I guess is expected?).
>>>>>>>>>>>>
>>>>>>>>>>>> So, my environment seems to be set up. Now: how can I help?
>>>>>>>>>>>>
>>>>>>>>>>>> Note: I'm a noob on the topic of compilers, but I can copy-paste
>>>>>>>>>>>> like
>>>>>>>>>>>> a Boss, so I'm sure you can use me ;-) Point me to the code and
>>>>>>>>>>>> put me
>>>>>>>>>>>> to work!
>>>>>>>>>>>>
>>>>>>>>>>>> EdB
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Ix Multimedia Software
>>>>>>>>>>>>
>>>>>>>>>>>> Jan Luykenstraat 27
>>>>>>>>>>>> 3521 VB Utrecht
>>>>>>>>>>>>
>>>>>>>>>>>> T. 06-51952295
>>>>>>>>>>>> I. www.ixsoftware.nl
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Ix Multimedia Software
>>>>>>>>>>>
>>>>>>>>>>> Jan Luykenstraat 27
>>>>>>>>>>> 3521 VB Utrecht
>>>>>>>>>>>
>>>>>>>>>>> T. 06-51952295
>>>>>>>>>>> I. www.ixsoftware.nl
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Ix Multimedia Software
>>>>>>>>>>
>>>>>>>>>> Jan Luykenstraat 27
>>>>>>>>>> 3521 VB Utrecht
>>>>>>>>>>
>>>>>>>>>> T. 06-51952295
>>>>>>>>>> I. www.ixsoftware.nl
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Michael Schmalle - Teoti Graphix, LLC
>>>>>>>>> http://www.teotigraphix.com
>>>>>>>>> http://blog.teotigraphix.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ix Multimedia Software
>>>>>>>>
>>>>>>>> Jan Luykenstraat 27
>>>>>>>> 3521 VB Utrecht
>>>>>>>>
>>>>>>>> T. 06-51952295
>>>>>>>> I. www.ixsoftware.nl
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Michael Schmalle - Teoti Graphix, LLC
>>>>>>> http://www.teotigraphix.com
>>>>>>> http://blog.teotigraphix.com
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ix Multimedia Software
>>>>>
>>>>> Jan Luykenstraat 27
>>>>> 3521 VB Utrecht
>>>>>
>>>>> T. 06-51952295
>>>>> I. www.ixsoftware.nl
>>>
>>>
>>>
>>>
>>> --
>>> Ix Multimedia Software
>>>
>>> Jan Luykenstraat 27
>>> 3521 VB Utrecht
>>>
>>> T. 06-51952295
>>> I. www.ixsoftware.nl
>>
>>
>>
>>
>> --
>> Ix Multimedia Software
>>
>> Jan Luykenstraat 27
>> 3521 VB Utrecht
>>
>> T. 06-51952295
>> I. www.ixsoftware.nl
>>
>
> --
> Michael Schmalle - Teoti Graphix, LLC
> http://www.teotigraphix.com
> http://blog.teotigraphix.com
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to