More notes:
[email protected]
I see. Maybe the clone op is not a deep clone and so the cache is
getting more than just the LFC schema into it.
2:44
Max Carlson
could be...
clone()
This will return a deep clone of this Document.
so nope.
2:50
Max Carlson
Hmm it looks like the second time the type is defined, the definition !=
null, so ViewSchema.defineType() falls through to the error.
I guess the schema has the type already, but somehow recompiling for a
different runtime is causing it to be added again?
2:53
Max Carlson
so… maybe UserType definitions should be nuked from the schema when
recompiling for a specific runtime?
Obviously, TypeCompiler.resolve() must be called for the new runtime
would it make sense to nuke the schema entry there, if present?
It seems like the schema should be pristine for each compile, right?
On 12/20/10 2:35 PM, Henry Minsky wrote:
There's a cache for the schema DOM itself, insCachedSchemaDOM in
ViewSchema.java.
I'll take a look and see if that's causing problems.
On Mon, Dec 20, 2010 at 5:24 PM, P T Withington <[email protected]
<mailto:[email protected]>> wrote:
Clearly there is some cache not getting cleared...
This is probably why we were getting the "unknown type" error even
on programs that were _not_ using gradient.
Feel free to help me hunt the wumpus.
On 2010-12-20, at 16:53, Max Carlson wrote:
> Uh oh. I'm getting an error when I try to recompile house.lzx now:
>
> Error: ../lib/gradienttype.lzx:224:27: Duplicate <type>
definition for gradient; also defined at ../lib/gradienttype.lzx:224
>
> I checked and there's exactly one type declaration (the one you
checked in).
>
> Restarting tomcat allows me to compile for lzr=dhtml, but an
attempt to compile for swf10 fails with the error above...
Restarting tomcat allows me to compile for swf10, but then
recompiling for dhtml leads to the error again.
>
>
> On 12/20/10 2:05 AM, P T Withington wrote:
>> Change ptw-20101220-82u by [email protected] on 2010-12-20 04:54:41 EST
>> in /Users/ptw/OpenLaszlo/trunk-3
>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: Next step in user<type>s
>>
>> Bugs Fixed: LPP-9589 Unexpected warning information of ''gradient"
>>
>> Technical Reviewer: [email protected]
<mailto:[email protected]> (pending)
>> QA Reviewer: [email protected]
<mailto:[email protected]>, [email protected]
<mailto:[email protected]> (pending)
>>
>> Overview:
>> I've hacked in user-defined types. You can now write the
gradient
>> type as:
>>
>> <type name="gradient">
>> <accept args="value, node:LzNode, attribute:String">
>> return new lz.CSSGradient(value);
>> </accept>
>>
>> <present args="value, node:LzNode, attribute:String">
>> return value.css;
>> </present>
>> </type>
>>
>> I know this is not as general as we wanted, but it's the most I
>> can get working on short notice.
>>
>> Details:
>> Basically the types get compiled as very custom classes at
resolve time.
>>
>> Tests:
>> Rewrite gradienttype.lzx as above and run house.lzx
>>
>> Files:
>> M WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptClass.java
>> M
WEB-INF/lps/server/src/org/openlaszlo/compiler/TypeCompiler.java
>> M
WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
>>
>> Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101220-82u.tar
--
Henry Minsky
Software Architect
[email protected] <mailto:[email protected]>