Do you know how in the swf9 compiler...

View: New views
3 Messages — Rating Filter:   Alert me  

Do you know how in the swf9 compiler...

by P T Withington :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It diverts the top-level statements from processing and inserts them  
into the main class?  I can't seem to follow the logic.

Re: Do you know how in the swf9 compiler...

by Henry Minsky-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

There was some hack for that, I remember setting up these constants to pass to the
script compiler

        props.put(org.openlaszlo.sc.Compiler.SWF9_APPLICATION_PREAMBLE, makeApplicationPreamble());
        props.put(org.openlaszlo.sc.Compiler.SWF9_APP_CLASSNAME, MAIN_APP_CLASSNAME);
        props.put(org.openlaszlo.sc.Compiler.SWF9_WRAPPER_CLASSNAME, EXEC_APP_CLASSNAME);

There's some code in the script compiler that sets and refers to config.mainClassName, which somehow the parsetreeprinter decides to put things into, but I'm not sure how.

  public List makeTranslationUnits(SimpleNode translatedNode, boolean compress, boolean obfuscate)
  {
  ...
...

    config.mainClassName = (String) options.get(Compiler.SWF9_APP_CLASSNAME);
    //System.err.println("mainClassName = "+config.mainClassName);





On Mon, Nov 2, 2009 at 7:37 AM, P T Withington <ptw@...> wrote:
It diverts the top-level statements from processing and inserts them into the main class?  I can't seem to follow the logic.



--
Henry Minsky
Software Architect
hminsky@...



Re: Do you know how in the swf9 compiler...

by P T Withington :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yeah, I am finding that.  Digging into it.

André discovered that labeled statements don't work, and that has led  
me down a rat hole about how the unparser unparses statements and  
blocks.  The parser is inserting all these extra levels of statements  
that hold statements, and I am trying to simplify that, but our tree-
walkers are pretty fragile...

<bleah/>

On 2009-11-02, at 10:34, Henry Minsky wrote:

> There was some hack for that, I remember setting up these constants  
> to pass
> to the
> script compiler
>
>        props.put(org.openlaszlo.sc.Compiler.SWF9_APPLICATION_PREAMBLE,
> makeApplicationPreamble());
>        props.put(org.openlaszlo.sc.Compiler.SWF9_APP_CLASSNAME,
> MAIN_APP_CLASSNAME);
>        props.put(org.openlaszlo.sc.Compiler.SWF9_WRAPPER_CLASSNAME,
> EXEC_APP_CLASSNAME);
>
> There's some code in the script compiler that sets and refers to
> config.mainClassName, which somehow the parsetreeprinter decides to  
> put
> things into, but I'm not sure how.
>
>  public List makeTranslationUnits(SimpleNode translatedNode, boolean
> compress, boolean obfuscate)
>  {
>  ...
> ...
>
>    config.mainClassName = (String)
> options.get(Compiler.SWF9_APP_CLASSNAME);
>    //System.err.println("mainClassName = "+config.mainClassName);
>
>
>
>
>
> On Mon, Nov 2, 2009 at 7:37 AM, P T Withington <ptw@...> wrote:
>
>> It diverts the top-level statements from processing and inserts  
>> them into
>> the main class?  I can't seem to follow the logic.
>>
>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky@...