[I'd like to check this in now. It's just a checkpoint, but it does
not affect normal code generation.]
Change 20070127-ptw-G by [EMAIL PROTECTED] on 2007-01-27
11:43:47 EST
in /Users/ptw/OpenLaszlo/legals-1
Summary: 'Binary' Libraries
New Features: Compiler to support compiling a library to a 'binary'
format, that offers reduced size of delivered code and obfuscation of
the LZX source.
Bugs Fixed:
LPP-3438: 'Implement "binary libraries"'
Technical Reviewer: henry (pending)
QA Reviewer: max (pending)
Doc Reviewer: (pending)
Documentation:
Details:
lzx.rnc: New element <interface> can be used to extend schema
Compiler: Unparse super calls
JavascriptGenerator, CodeGenerator: Remove Krank Kruft
CompilerError, CompilerImplementationError: Adapt to new location
string
Function: Permit overriding name
ScriptClass: Scaffolding for outputting an LZX class as a JS class.
LibraryCompiler: Load .lzo (binary) library if available.
ClassCompiler: Split out actual generation of class code so it can
be overridden in a subclass.
DHTMLWriter: Open up to subclassing
ViewCompiler, ResourceCompiler, FontCompiler,
CompilationEnvironment, Compiler: Permit compiling of <library>
without <canvas>
InterfaceCompiler: Compiles an <interface>, updating the schema.
ViewSchema, AttributeSpec, ClassModel: Add toLZX method that
generates an <interface> from the schema.
LibraryWriter: New compiler back-end, captures object-code and
outputs it to a binary library.
CompilationEnvironment: Store object file so back-ends can
relativize paths.
NodeModel: Store methods in class model.
Compiler, Main: New option '-c' permits compiling a <library>
to .lzo.
Compiler: Add InterfaceCompiler.
Tests:
ant test, smoketest, diffed LFCdhtml -- no differences
Files:
M WEB-INF/lps/schema/lzx.rnc
M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/CompilerError.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/Function.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/
CompilerImplementationError.java
A WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptClass.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/
LibraryCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/DHTMLWriter.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/
ResourceCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
A WEB-INF/lps/server/src/org/openlaszlo/compiler/
InterfaceCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/FontCompiler.java
A WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryWriter.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/
CompilationEnvironment.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/AttributeSpec.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/Main.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070127-ptw-
G.tar