[Laszlo-dev] For Review: Change 20081017-ptw-z Summary: Fix class compilation and forward references in binary libraries

André Bargull andre.bargull at udo.edu
Mon Oct 20 09:18:37 PDT 2008


The constant "$externalLibrary" should be defined in 
CompilationEnvironment, shouldn't it? And you should add a comment to 
the following line to explain why you need to retrieve the canonical 
file (in Compiler#updateSchemaFromLibrary(..))
> File key = file.getCanonicalFile()

Otherwise approved.


On 10/20/2008 4:32 PM, P T Withington wrote:
> I created
> 
> http://jira.openlaszlo.org/jira/browse/LPP-7187
> 
> for the snippet bug.
> 
> On 2008-10-20, at 08:42EDT, P T Withington wrote:
> 
>> Can we make that a separate bug?  Because I think it is a separate issue.
>>
>> Even though the state is not applied, in our new scheme, it is going 
>> to make a reference to the pak class when loaded, which is not going 
>> to work.  I think this is because we eliminated the indirection 
>> through the class table at runtime, for efficiency, but it means that 
>> classes have to be defined to be mentioned in a tag.  Either we have 
>> to back that out for all classes, or handle tags in states specially...
>>
>> On 2008-10-19, at 07:29EDT, André Bargull wrote:
>>
>>> There is still an issue with loadable snippets and compiled libraries.
>>> When replaced the <include> with an <import>-tag, I got the following 
>>> error:
>>>> <a title="#0">ERROR: reference to undefined variable 
>>>> '$lzc$class_pak'</a>
>>>> ERROR: Class undefined has not been defined yet
>>>
>>> I've verified that this worked in OL4.0.9.
>>>
>>>
>>> new main-file:
>>>> <canvas width="100%" height="100%" bgcolor="gray" debug="true">
>>>> <import name="lib" stage="defer" href="pak.lzx" />
>>>> <simplelayout />
>>>> <handler name="oninit">
>>>>   lib.load();
>>>> </handler>
>>>> <handler name="onload" reference="lib" >
>>>>   canvas.showlater.apply();
>>>> </handler>
>>>> <state name="showlater" applied="false" >
>>>>   <pak>Main</pak>
>>>> </state>
>>>> </canvas>
>>>
>>>
>>>
>>> On 10/18/2008 4:05 AM, P T Withington wrote:
>>>> Change 20081017-ptw-z by ptw at dueling-banjos.local on 2008-10-17 
>>>> 18:06:41 EDT
>>>>   in /Users/ptw/OpenLaszlo/trunk
>>>>   for http://svn.openlaszlo.org/openlaszlo/trunk
>>>>
>>>> Summary: Fix class compilation and forward references in binary 
>>>> libraries
>>>>
>>>> Bugs Fixed:
>>>> LPP-6726  Binary compilation (LPS 4.1+)
>>>>
>>>> Technical Reviewer: a.bargull at intensis.de (pending)
>>>> QA Reviewer: pbr (pending)
>>>>
>>>> Details:
>>>>   ViewSchema: Only emit schema for modelled and compiled nodes.
>>>>
>>>>   Compiler: Dynamically bind the environment option $externalLibrary
>>>>   when parsing external libraries, so...
>>>>
>>>>   ClassModel: You can note classes defined in external libraries to
>>>>   be modelled only, not compiled.  Only emit class declarations when
>>>>   a class is not from an external library and either required by a
>>>>   reference to it or defined in the compilation unit.
>>>>
>>>> Tests:
>>>>   smokecheck, test case from bug
>>>>
>>>> Files:
>>>> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
>>>> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
>>>> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
>>>>
>>>> Changeset: 
>>>> http://svn.openlaszlo.org/openlaszlo/patches/20081017-ptw-z.tar
>>>>
>>
> 
> 



More information about the Laszlo-dev mailing list