1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5
<!-- Generated by javadoc (build 1.4.2_05) on Tue Nov 30 22:11:31 EST 2004 -->
10
<META NAME="keywords" CONTENT="org.mozilla.javascript.optimizer.ClassCompiler class">
12
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
14
<SCRIPT type="text/javascript">
15
function windowTitle()
17
parent.document.title="ClassCompiler (Rhino)";
23
<BODY BGCOLOR="white" onload="windowTitle();">
26
<!-- ========= START OF TOP NAVBAR ======= -->
27
<A NAME="navbar_top"><!-- --></A>
28
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
29
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
31
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
32
<A NAME="navbar_top_firstrow"><!-- --></A>
33
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
34
<TR ALIGN="center" VALIGN="top">
35
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
36
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
37
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
38
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
39
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
40
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
41
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
45
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
51
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
52
PREV CLASS
53
NEXT CLASS</FONT></TD>
54
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
55
<A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>
56
<A HREF="ClassCompiler.html" target="_top"><B>NO FRAMES</B></A>
57
<SCRIPT type="text/javascript">
60
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
65
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
71
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
72
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
73
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
74
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
77
<A NAME="skip-navbar_top"></A>
78
<!-- ========= END OF TOP NAVBAR ========= -->
81
<!-- ======== START OF CLASS DATA ======== -->
84
org.mozilla.javascript.optimizer</FONT>
86
Class ClassCompiler</H2>
89
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.mozilla.javascript.optimizer.ClassCompiler</B>
93
<DT>public class <B>ClassCompiler</B><DT>extends java.lang.Object</DL>
96
Generates class files from script sources.
103
<DT><B>Author:</B></DT>
104
<DD>Igor Bukanov</DD>
109
<!-- ======== NESTED CLASS SUMMARY ======== -->
112
<!-- =========== FIELD SUMMARY =========== -->
115
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
117
<A NAME="constructor_summary"><!-- --></A>
118
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
119
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
120
<TD COLSPAN=2><FONT SIZE="+2">
121
<B>Constructor Summary</B></FONT></TD>
123
<TR BGCOLOR="white" CLASS="TableRowColor">
124
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#ClassCompiler(org.mozilla.javascript.CompilerEnvirons)">ClassCompiler</A></B>(<A HREF="../../../../org/mozilla/javascript/CompilerEnvirons.html" title="class in org.mozilla.javascript">CompilerEnvirons</A> compilerEnv)</CODE>
127
Construct ClassCompiler that uses the specified compiler environment
128
when generating classes.</TD>
132
<!-- ========== METHOD SUMMARY =========== -->
134
<A NAME="method_summary"><!-- --></A>
135
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
136
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
137
<TD COLSPAN=2><FONT SIZE="+2">
138
<B>Method Summary</B></FONT></TD>
140
<TR BGCOLOR="white" CLASS="TableRowColor">
141
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
142
<CODE> java.lang.Object[]</CODE></FONT></TD>
143
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#compileToClassFiles(java.lang.String, java.lang.String, int, java.lang.String)">compileToClassFiles</A></B>(java.lang.String source,
144
java.lang.String sourceLocation,
146
java.lang.String mainClassName)</CODE>
149
Compile JavaScript source into one or more Java class files.</TD>
151
<TR BGCOLOR="white" CLASS="TableRowColor">
152
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
153
<CODE> <A HREF="../../../../org/mozilla/javascript/CompilerEnvirons.html" title="class in org.mozilla.javascript">CompilerEnvirons</A></CODE></FONT></TD>
154
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getCompilerEnv()">getCompilerEnv</A></B>()</CODE>
157
Get the compiler environment the compiler uses.</TD>
159
<TR BGCOLOR="white" CLASS="TableRowColor">
160
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
161
<CODE> java.lang.String</CODE></FONT></TD>
162
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getMainMethodClass()">getMainMethodClass</A></B>()</CODE>
165
Get the name of the class for main method implementation.</TD>
167
<TR BGCOLOR="white" CLASS="TableRowColor">
168
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
169
<CODE> java.lang.Class</CODE></FONT></TD>
170
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getTargetExtends()">getTargetExtends</A></B>()</CODE>
173
Get the class that the generated target will extend.</TD>
175
<TR BGCOLOR="white" CLASS="TableRowColor">
176
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
177
<CODE> java.lang.Class[]</CODE></FONT></TD>
178
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getTargetImplements()">getTargetImplements</A></B>()</CODE>
181
Get the interfaces that the generated target will implement.</TD>
183
<TR BGCOLOR="white" CLASS="TableRowColor">
184
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
185
<CODE>protected java.lang.String</CODE></FONT></TD>
186
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#makeAuxiliaryClassName(java.lang.String, java.lang.String)">makeAuxiliaryClassName</A></B>(java.lang.String mainClassName,
187
java.lang.String auxMarker)</CODE>
190
Build class name for a auxiliary class generated by compiler.</TD>
192
<TR BGCOLOR="white" CLASS="TableRowColor">
193
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
194
<CODE> void</CODE></FONT></TD>
195
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#setMainMethodClass(java.lang.String)">setMainMethodClass</A></B>(java.lang.String className)</CODE>
198
Set the class name to use for main method implementation.</TD>
200
<TR BGCOLOR="white" CLASS="TableRowColor">
201
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
202
<CODE> void</CODE></FONT></TD>
203
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#setTargetExtends(java.lang.Class)">setTargetExtends</A></B>(java.lang.Class extendsClass)</CODE>
206
Set the class that the generated target will extend.</TD>
208
<TR BGCOLOR="white" CLASS="TableRowColor">
209
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
210
<CODE> void</CODE></FONT></TD>
211
<TD><CODE><B><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#setTargetImplements(java.lang.Class[])">setTargetImplements</A></B>(java.lang.Class[] implementsClasses)</CODE>
214
Set the interfaces that the generated target will implement.</TD>
217
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
218
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
219
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
220
<TD><B>Methods inherited from class java.lang.Object</B></TD>
222
<TR BGCOLOR="white" CLASS="TableRowColor">
223
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
229
<!-- ============ FIELD DETAIL =========== -->
232
<!-- ========= CONSTRUCTOR DETAIL ======== -->
234
<A NAME="constructor_detail"><!-- --></A>
235
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
236
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
237
<TD COLSPAN=1><FONT SIZE="+2">
238
<B>Constructor Detail</B></FONT></TD>
242
<A NAME="ClassCompiler(org.mozilla.javascript.CompilerEnvirons)"><!-- --></A><H3>
245
public <B>ClassCompiler</B>(<A HREF="../../../../org/mozilla/javascript/CompilerEnvirons.html" title="class in org.mozilla.javascript">CompilerEnvirons</A> compilerEnv)</PRE>
247
<DD>Construct ClassCompiler that uses the specified compiler environment
248
when generating classes.
252
<!-- ============ METHOD DETAIL ========== -->
254
<A NAME="method_detail"><!-- --></A>
255
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
256
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
257
<TD COLSPAN=1><FONT SIZE="+2">
258
<B>Method Detail</B></FONT></TD>
262
<A NAME="setMainMethodClass(java.lang.String)"><!-- --></A><H3>
263
setMainMethodClass</H3>
265
public void <B>setMainMethodClass</B>(java.lang.String className)</PRE>
267
<DD>Set the class name to use for main method implementation.
268
The class must have a method matching
269
<tt>public static void main(Script sc, String[] args)</tt>, it will be
270
called when <tt>main(String[] args)</tt> is called in the generated
271
class. The class name should be fully qulified name and include the
272
package name like in <tt>org.foo.Bar<tt>.
280
<A NAME="getMainMethodClass()"><!-- --></A><H3>
281
getMainMethodClass</H3>
283
public java.lang.String <B>getMainMethodClass</B>()</PRE>
285
<DD>Get the name of the class for main method implementation.
288
<DT><B>See Also:</B><DD><A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#setMainMethodClass(java.lang.String)"><CODE>setMainMethodClass(String)</CODE></A></DL>
293
<A NAME="getCompilerEnv()"><!-- --></A><H3>
296
public <A HREF="../../../../org/mozilla/javascript/CompilerEnvirons.html" title="class in org.mozilla.javascript">CompilerEnvirons</A> <B>getCompilerEnv</B>()</PRE>
298
<DD>Get the compiler environment the compiler uses.
306
<A NAME="getTargetExtends()"><!-- --></A><H3>
307
getTargetExtends</H3>
309
public java.lang.Class <B>getTargetExtends</B>()</PRE>
311
<DD>Get the class that the generated target will extend.
319
<A NAME="setTargetExtends(java.lang.Class)"><!-- --></A><H3>
320
setTargetExtends</H3>
322
public void <B>setTargetExtends</B>(java.lang.Class extendsClass)</PRE>
324
<DD>Set the class that the generated target will extend.
327
<DT><B>Parameters:</B><DD><CODE>extendsClass</CODE> - the class it extends</DL>
332
<A NAME="getTargetImplements()"><!-- --></A><H3>
333
getTargetImplements</H3>
335
public java.lang.Class[] <B>getTargetImplements</B>()</PRE>
337
<DD>Get the interfaces that the generated target will implement.
345
<A NAME="setTargetImplements(java.lang.Class[])"><!-- --></A><H3>
346
setTargetImplements</H3>
348
public void <B>setTargetImplements</B>(java.lang.Class[] implementsClasses)</PRE>
350
<DD>Set the interfaces that the generated target will implement.
353
<DT><B>Parameters:</B><DD><CODE>implementsClasses</CODE> - an array of Class objects, one for each
354
interface the target will extend</DL>
359
<A NAME="makeAuxiliaryClassName(java.lang.String, java.lang.String)"><!-- --></A><H3>
360
makeAuxiliaryClassName</H3>
362
protected java.lang.String <B>makeAuxiliaryClassName</B>(java.lang.String mainClassName,
363
java.lang.String auxMarker)</PRE>
365
<DD>Build class name for a auxiliary class generated by compiler.
366
If the compiler needs to generate extra classes beyond the main class,
367
it will call this function to build the auxiliary class name.
368
The default implementation simply appends auxMarker to mainClassName
369
but this can be overridden.
377
<A NAME="compileToClassFiles(java.lang.String, java.lang.String, int, java.lang.String)"><!-- --></A><H3>
378
compileToClassFiles</H3>
380
public java.lang.Object[] <B>compileToClassFiles</B>(java.lang.String source,
381
java.lang.String sourceLocation,
383
java.lang.String mainClassName)</PRE>
385
<DD>Compile JavaScript source into one or more Java class files.
386
The first compiled class will have name mainClassName.
387
If the results of <A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getTargetExtends()"><CODE>getTargetExtends()</CODE></A> or
388
<A HREF="../../../../org/mozilla/javascript/optimizer/ClassCompiler.html#getTargetImplements()"><CODE>getTargetImplements()</CODE></A> are not null, then the first compiled
389
class will extend the specified super class and implement
390
specified interfaces.
394
<DT><B>Returns:</B><DD>array where elements with even indexes specifies class name
395
and the followinf odd index gives class file body as byte[]
396
array. The initial elemnt of the array always holds
397
mainClassName and array[1] holds its byte code.</DL>
400
<!-- ========= END OF CLASS DATA ========= -->
404
<!-- ======= START OF BOTTOM NAVBAR ====== -->
405
<A NAME="navbar_bottom"><!-- --></A>
406
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
407
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
409
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
410
<A NAME="navbar_bottom_firstrow"><!-- --></A>
411
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
412
<TR ALIGN="center" VALIGN="top">
413
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
414
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
415
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
416
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
417
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
418
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
419
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
423
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
429
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
430
PREV CLASS
431
NEXT CLASS</FONT></TD>
432
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
433
<A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>
434
<A HREF="ClassCompiler.html" target="_top"><B>NO FRAMES</B></A>
435
<SCRIPT type="text/javascript">
438
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
443
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
449
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
450
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
451
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
452
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
455
<A NAME="skip-navbar_bottom"></A>
456
<!-- ======== END OF BOTTOM NAVBAR ======= -->