00001 
00002 /*
00003  *  JScripter Standard 1.0 - To Script In Java
00004  *  Copyright (C) 2008-2011  J.J.Liu<jianjunliu@126.com> <http://www.jscripter.org>
00005  *  
00006  *  This program is free software: you can redistribute it and/or modify
00007  *  it under the terms of the GNU Affero General Public License as published by
00008  *  the Free Software Foundation, either version 3 of the License, or
00009  *  (at your option) any later version.
00010  *  
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU Affero General Public License for more details.
00015  *  
00016  *  You should have received a copy of the GNU Affero General Public License
00017  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00018  */
00019 
00020 package js.dom;
00021 
00022 import js.*;
00023 import js.core.*;
00024 import js.user.*;
00025 
00026 /**
00027  * <p>An <b>opaque</b> interface for DOM Level 2 HTML implementors.</p>
00028  *
00029  * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00030  *
00031  * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00032  * generated into the target codes. Re-compilers must exit with error on the operations of
00033  * accessing that kind of class objects.
00034  * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00035  * and <tt>instanceof</tt> to it always <tt>true</tt>.
00036  */
00037 public interface DOM2HTML
00038 {
00039     /**
00040      * <p>An <b>opaque</b> class representing the global <tt>HTMLCollection</tt> class of JavaScript.</p>
00041      *
00042      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00043      * 
00044      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00045      * generated into the target codes. Re-compilers must exit with error on the operations of
00046      * accessing that kind of class objects.
00047      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00048      * and <tt>instanceof</tt> to it always <tt>true</tt>.
00049      */
00050     public static class HTMLCollection extends JsFunction<JsHTMLCollection<?>>
00051     {
00052         /**
00053          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
00054          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
00055          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
00056          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
00057          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
00058          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
00059          * either circumstance, the field names must be exactly same as the member names, as 
00060          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
00061          * based on the field names.</p>
00062          *
00063          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00064          * 
00065          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
00066          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
00067          * of class objects.
00068          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
00069          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
00070          * <pre>q.m</pre>
00071          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
00072          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
00073          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
00074          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
00075          * <pre>m</pre>
00076          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
00077          * error on the access to <b>opaque</b> fields declared by this class under any other 
00078          * circumstances.
00079          */
00080         public static class Member extends JsFunction.Member<JsHTMLCollection<?>>
00081         {
00082             public Member(JsObject.Member q, Mid mid) {
00083                 super(q, mid);
00084             }
00085             public Member(Mid mid) {
00086                 super(mid);
00087             }
00088             @Override
00089             /**
00090              * <p>Evaluates the property, represented by the current member instance, of the
00091              * argument object.</p>
00092              * @param o The argument object
00093              * @return The value of the current member based on the object argument.
00094              * @since 1.0
00095              * @javascript Re-compilers must convert the instance invocation of this method into
00096              * the JavaScript expression: 
00097              * <pre>o.m</pre>
00098              * where <tt>m</tt> is the identifier name resolved from the current member
00099              * instance of the invocation.
00100              */
00101             public HTMLCollection with(ObjectLike o) {
00102                 return new HTMLCollection(super.with(o));
00103             }
00104             @Override
00105             /**
00106              * <p>Evaluates a property, represented by the current member instance, of the
00107              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
00108              * @return The value of the current member based on the JavaScript global object.
00109              * @since 1.0
00110              * @javascript Re-compilers must convert the instance invocation of this method into
00111              * the JavaScript expression: 
00112              * <pre>m</pre>
00113              * where <tt>m</tt> is the identifier name resolved from the current member
00114              * instance of the invocation.
00115              */
00116             public HTMLCollection with() {
00117                 return with(Js.win());
00118             }
00119 
00120             /**
00121              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00122              * name of this field, qualified by the current member instance of the field, and 
00123              * to access the property of the name on an object.</p>
00124              * @since 1.0
00125              * @javascript Re-compilers must resolve the member of this instance field to the
00126              * identifier of the field name appending to the identifier resolved from its 
00127              * qualifying member with a dot in between.
00128              */
00129             public final Prototype.Member<?> prototype = new Prototype.Member<JsHTMLElement>(this, Members.prototype);
00130         }
00131 
00132         /**
00133          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
00134          * with the wrapping constructor.</p>
00135          * @param var The argument of an <b>opaque</b> object.
00136          * @since 1.0
00137          * @javascript Re-compilers must ignore the construction operation of this constructor,
00138          * that is, replacing it with its only argument.
00139          */
00140         public HTMLCollection(JsObject var) {
00141             super(var(var, (JsFunction<?>)null));
00142         }
00143 
00144         /**
00145          * <p>An <b>opaque</b> static field defining a member that is named by the field name
00146          * without a qualifying member and to access the property of the name on an object.</p>
00147          * @since 1.0
00148          * @javascript Re-compilers must resolve the member of this static field to the
00149          * identifier of the field name.
00150          */
00151         public static final Prototype.Member<?> prototype = new Prototype.Member<JsHTMLElement>(Members.prototype);
00152 
00153         public static class Prototype<T extends JsHTMLElement> extends JsObject
00154         {
00155             /**
00156              * <p>An <b>internal</b> class containing membership data for its enclosing
00157              * opaque class.</p>
00158              * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
00159              * class members.</p>
00160              *
00161              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00162              * 
00163              * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
00164              */
00165             protected static abstract class Members extends JsObject.Members
00166             {
00167                 /**
00168                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00169                  * used internally to define a member of the same name.</p>
00170                  * @since 1.0
00171                  * @see DOM2HTML.HTMLCollection.Prototype#item
00172                  * @see DOM2HTML.HTMLCollection.Prototype.Member#item
00173                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00174                  */
00175                 public final static Mid item      = id("item"     );
00176                 /**
00177                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00178                  * used internally to define a member of the same name.</p>
00179                  * @since 1.0
00180                  * @see DOM2HTML.HTMLCollection.Prototype#namedItem
00181                  * @see DOM2HTML.HTMLCollection.Prototype.Member#namedItem
00182                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00183                  */
00184                 public final static Mid namedItem = id("namedItem");
00185             }
00186             public static class Member<T extends JsHTMLElement> extends JsObject.Member
00187             {
00188                 private final Generic<?> eWrapper;
00189 
00190                 public Member(JsObject.Member q, Mid mid, Generic<?> eWrapper) {
00191                     super(q, mid);
00192                     this.eWrapper = eWrapper;
00193                 }
00194                 public Member(Mid mid, Generic<?> eWrapper) {
00195                     super(mid);
00196                     this.eWrapper = eWrapper;
00197                 }
00198                 /**
00199                  * <p>Internally constructs a member based on a qualifying member.</p>
00200                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00201                  * or <b>internal</b> classes or class members.</p>
00202                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00203                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
00204                  * declared in the declaring class of this constructor itself or its subclasses. 
00205                  * Under this circumstance, the field names must be exactly same as the member 
00206                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
00207                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
00208                  * to their names appending to the name resolved from the specified qualifying 
00209                  * member with a dot in between.</p>
00210                  * @param q A qualifying member
00211                  * @param mid The ID of the member to construct
00212                  * @since 1.0
00213                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00214                  */
00215                 public Member(JsObject.Member q, Mid mid) {
00216                     this(q, mid, null);
00217                 }
00218                 /**
00219                  * <p>Internally constructs a member without a qualifying member.</p>
00220                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00221                  * or <b>internal</b> classes or class members.</p>
00222                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00223                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
00224                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
00225                  * itself and its subclasses. Under this circumstance, the field names must be
00226                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
00227                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
00228                  * @param mid The ID of the member to construct
00229                  * @since 1.0
00230                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00231                  */
00232                 public Member(Mid mid) {
00233                     this(mid, null);
00234                 }
00235                 protected final Generic<?> getElementWrapper() {
00236                     return eWrapper;
00237                 }
00238                 @Override
00239                 /**
00240                  * <p>Evaluates the property, represented by the current member instance, of the
00241                  * argument object.</p>
00242                  * @param o The argument object
00243                  * @return The value of the current member based on the object argument.
00244                  * @since 1.0
00245                  * @javascript Re-compilers must convert the instance invocation of this method into
00246                  * the JavaScript expression: 
00247                  * <pre>o.m</pre>
00248                  * where <tt>m</tt> is the identifier name resolved from the current member
00249                  * instance of the invocation.
00250                  */
00251                 public Prototype<T> with(ObjectLike o) {
00252                     return new Prototype<T>(super.with(o), getElementWrapper());
00253                 }
00254 
00255                 /**
00256                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00257                  * name of this field, qualified by the current member instance of the field, and 
00258                  * to access the property of the name on an object.</p>
00259                  * @since 1.0
00260                  * @see JsHTMLCollection#valueOf()
00261                  * @javascript Re-compilers must resolve the member of this instance field to the
00262                  * identifier of the field name appending to the identifier resolved from its 
00263                  * qualifying member with a dot in between.
00264                  */
00265                 public final JsFunction.Member<JsHTMLCollection<T>> valueOf = new JsFunction.Member<JsHTMLCollection<T>>(this, Members.valueOf, Generic.get(JsHTMLCollection.class, getElementWrapper()));
00266                 /**
00267                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00268                  * name of this field, qualified by the current member instance of the field, and 
00269                  * to access the property of the name on an object.</p>
00270                  * @since 1.0
00271                  * @see JsHTMLCollection#item(Number)
00272                  * @javascript Re-compilers must resolve the member of this instance field to the
00273                  * identifier of the field name appending to the identifier resolved from its 
00274                  * qualifying member with a dot in between.
00275                  */
00276                 public final JsFunction.Member<T> item = new JsFunction.Member<T>(this, Members.item, getElementWrapper());
00277                 /**
00278                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00279                  * name of this field, qualified by the current member instance of the field, and 
00280                  * to access the property of the name on an object.</p>
00281                  * @since 1.0
00282                  * @see JsHTMLCollection#namedItem(String)
00283                  * @javascript Re-compilers must resolve the member of this instance field to the
00284                  * identifier of the field name appending to the identifier resolved from its 
00285                  * qualifying member with a dot in between.
00286                  */
00287                 public final JsFunction.Member<T> namedItem = new JsFunction.Member<T>(this, Members.namedItem, getElementWrapper());
00288             }
00289 
00290             private final Generic<?> eWrapper;
00291 
00292             protected Prototype(JsObject var, Generic<?> eWrapper) {
00293                 super(var(var, (JsFunction<?>)null));
00294                 this.eWrapper = eWrapper;
00295             }
00296             /**
00297              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
00298              * with the wrapping constructor.</p>
00299              * @param var The argument of an <b>opaque</b> object.
00300              * @since 1.0
00301              * @javascript Re-compilers must ignore the construction operation of this constructor,
00302              * that is, replacing it with its only argument.
00303              */
00304             public Prototype(JsObject var) {
00305                 this(var, Generic.get(JsHTMLElement.class));
00306             }
00307             public final Generic<?> getElementWrapper() {
00308                 return eWrapper;
00309             }
00310 
00311             /**
00312              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00313              * without a qualifying member and to access the property of the name on an object.</p>
00314              * @since 1.0
00315              * @see JsHTMLCollection#valueOf()
00316              * @javascript Re-compilers must resolve the member of this static field to the
00317              * identifier of the field name.
00318              */
00319             public static final JsFunction.Member<JsHTMLCollection<JsHTMLElement>> valueOf = new JsFunction.Member<JsHTMLCollection<JsHTMLElement>>(Members.valueOf, Generic.get(JsHTMLCollection.class, Generic.get(JsHTMLElement.class)));
00320             /**
00321              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00322              * without a qualifying member and to access the property of the name on an object.</p>
00323              * @since 1.0
00324              * @see JsHTMLCollection#item(Number)
00325              * @javascript Re-compilers must resolve the member of this static field to the
00326              * identifier of the field name.
00327              */
00328             public static final JsFunction.Member<?> item = new JsFunction.Member<JsHTMLElement>(Members.item, Generic.get(JsHTMLElement.class));
00329             /**
00330              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00331              * without a qualifying member and to access the property of the name on an object.</p>
00332              * @since 1.0
00333              * @see JsHTMLCollection#namedItem(String)
00334              * @javascript Re-compilers must resolve the member of this static field to the
00335              * identifier of the field name.
00336              */
00337             public static final JsFunction.Member<?> namedItem = new JsFunction.Member<JsHTMLElement>(Members.namedItem, Generic.get(JsHTMLElement.class));
00338         }
00339     }
00340 
00341     /**
00342      * <p>An <b>opaque</b> class representing the global <tt>HTMLDocument</tt> class of JavaScript.</p>
00343      *
00344      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00345      * 
00346      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00347      * generated into the target codes. Re-compilers must exit with error on the operations of
00348      * accessing that kind of class objects.
00349      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00350      * and <tt>instanceof</tt> to it always <tt>true</tt>.
00351      */
00352     public class HTMLDocument extends JsClass
00353     {
00354         /**
00355          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
00356          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
00357          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
00358          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
00359          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
00360          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
00361          * either circumstance, the field names must be exactly same as the member names, as 
00362          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
00363          * based on the field names.</p>
00364          *
00365          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00366          * 
00367          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
00368          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
00369          * of class objects.
00370          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
00371          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
00372          * <pre>q.m</pre>
00373          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
00374          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
00375          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
00376          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
00377          * <pre>m</pre>
00378          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
00379          * error on the access to <b>opaque</b> fields declared by this class under any other 
00380          * circumstances.
00381          */
00382         public static class Member extends JsClass.Member
00383         {
00384             public Member(JsObject.Member q, Mid mid) {
00385                 super(q, mid);
00386             }
00387             public Member(Mid mid) {
00388                 super(mid);
00389             }
00390             @Override
00391             /**
00392              * <p>Evaluates the property, represented by the current member instance, of the
00393              * argument object.</p>
00394              * @param o The argument object
00395              * @return The value of the current member based on the object argument.
00396              * @since 1.0
00397              * @javascript Re-compilers must convert the instance invocation of this method into
00398              * the JavaScript expression: 
00399              * <pre>o.m</pre>
00400              * where <tt>m</tt> is the identifier name resolved from the current member
00401              * instance of the invocation.
00402              */
00403             public HTMLDocument with(ObjectLike o) {
00404                 return new HTMLDocument(super.with(o));
00405             }
00406             @Override
00407             /**
00408              * <p>Evaluates a property, represented by the current member instance, of the
00409              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
00410              * @return The value of the current member based on the JavaScript global object.
00411              * @since 1.0
00412              * @javascript Re-compilers must convert the instance invocation of this method into
00413              * the JavaScript expression: 
00414              * <pre>m</pre>
00415              * where <tt>m</tt> is the identifier name resolved from the current member
00416              * instance of the invocation.
00417              */
00418             public HTMLDocument with() {
00419                 return with(Js.win());
00420             }
00421 
00422             /**
00423              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00424              * name of this field, qualified by the current member instance of the field, and 
00425              * to access the property of the name on an object.</p>
00426              * @since 1.0
00427              * @javascript Re-compilers must resolve the member of this instance field to the
00428              * identifier of the field name appending to the identifier resolved from its 
00429              * qualifying member with a dot in between.
00430              */
00431             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
00432         }
00433 
00434         /**
00435          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
00436          * with the wrapping constructor.</p>
00437          * @param var The argument of an <b>opaque</b> object.
00438          * @since 1.0
00439          * @javascript Re-compilers must ignore the construction operation of this constructor,
00440          * that is, replacing it with its only argument.
00441          */
00442         public HTMLDocument(JsObject var) {
00443             super(var(var, (JsFunction<?>)null));
00444         }
00445 
00446         /**
00447          * <p>An <b>opaque</b> static field defining a member that is named by the field name
00448          * without a qualifying member and to access the property of the name on an object.</p>
00449          * @since 1.0
00450          * @javascript Re-compilers must resolve the member of this static field to the
00451          * identifier of the field name.
00452          */
00453         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
00454 
00455         /**
00456          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
00457          * class of JavaScript.</p>
00458          *
00459          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00460          * 
00461          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00462          * generated into the target codes. Re-compilers must exit with error on the operations of
00463          * accessing that kind of class objects.
00464          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00465          * and <tt>instanceof</tt> to it always <tt>true</tt>.
00466          */
00467         public static class Prototype extends JsDocument
00468         {
00469             /**
00470              * <p>An <b>internal</b> class containing membership data for its enclosing
00471              * opaque class.</p>
00472              * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
00473              * class members.</p>
00474              *
00475              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00476              * 
00477              * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
00478              */
00479             protected static abstract class Members extends JsDocument.Members
00480             {
00481                 /**
00482                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00483                  * used internally to define a member of the same name.</p>
00484                  * @since 1.0
00485                  * @see DOM2HTML.HTMLDocument.Prototype#close
00486                  * @see DOM2HTML.HTMLDocument.Prototype.Member#close
00487                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00488                  */
00489                 public final static Mid close             = id("close"            );
00490                 /**
00491                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00492                  * used internally to define a member of the same name.</p>
00493                  * @since 1.0
00494                  * @see DOM2HTML.HTMLDocument.Prototype#getElementsByName
00495                  * @see DOM2HTML.HTMLDocument.Prototype.Member#getElementsByName
00496                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00497                  */
00498                 public final static Mid getElementsByName = id("getElementsByName");
00499                 /**
00500                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00501                  * used internally to define a member of the same name.</p>
00502                  * @since 1.0
00503                  * @see DOM2HTML.HTMLDocument.Prototype#open
00504                  * @see DOM2HTML.HTMLDocument.Prototype.Member#open
00505                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00506                  */
00507                 public final static Mid open              = id("open"             );
00508                 /**
00509                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00510                  * used internally to define a member of the same name.</p>
00511                  * @since 1.0
00512                  * @see DOM2HTML.HTMLDocument.Prototype#write
00513                  * @see DOM2HTML.HTMLDocument.Prototype.Member#write
00514                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00515                  */
00516                 public final static Mid write             = id("write"            );
00517                 /**
00518                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00519                  * used internally to define a member of the same name.</p>
00520                  * @since 1.0
00521                  * @see DOM2HTML.HTMLDocument.Prototype#writeln
00522                  * @see DOM2HTML.HTMLDocument.Prototype.Member#writeln
00523                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00524                  */
00525                 public final static Mid writeln           = id("writeln"          );
00526             }
00527             /**
00528              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
00529              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
00530              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
00531              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
00532              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
00533              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
00534              * either circumstance, the field names must be exactly same as the member names, as 
00535              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
00536              * based on the field names.</p>
00537              *
00538              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00539              * 
00540              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
00541              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
00542              * of class objects.
00543              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
00544              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
00545              * <pre>q.m</pre>
00546              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
00547              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
00548              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
00549              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
00550              * <pre>m</pre>
00551              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
00552              * error on the access to <b>opaque</b> fields declared by this class under any other 
00553              * circumstances.
00554              */
00555             public static class Member extends JsDocument.Member
00556             {
00557                 /**
00558                  * <p>Internally constructs a member based on a qualifying member.</p>
00559                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00560                  * or <b>internal</b> classes or class members.</p>
00561                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00562                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
00563                  * declared in the declaring class of this constructor itself or its subclasses. 
00564                  * Under this circumstance, the field names must be exactly same as the member 
00565                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
00566                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
00567                  * to their names appending to the name resolved from the specified qualifying 
00568                  * member with a dot in between.</p>
00569                  * @param q A qualifying member
00570                  * @param mid The ID of the member to construct
00571                  * @since 1.0
00572                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00573                  */
00574                 public Member(JsObject.Member q, Mid mid) {
00575                     super(q, mid);
00576                 }
00577                 /**
00578                  * <p>Internally constructs a member without a qualifying member.</p>
00579                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00580                  * or <b>internal</b> classes or class members.</p>
00581                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00582                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
00583                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
00584                  * itself and its subclasses. Under this circumstance, the field names must be
00585                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
00586                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
00587                  * @param mid The ID of the member to construct
00588                  * @since 1.0
00589                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00590                  */
00591                 public Member(Mid mid) {
00592                     super(mid);
00593                 }
00594                 @Override
00595                 /**
00596                  * <p>Evaluates the property, represented by the current member instance, of the
00597                  * argument object.</p>
00598                  * @param o The argument object
00599                  * @return The value of the current member based on the object argument.
00600                  * @since 1.0
00601                  * @javascript Re-compilers must convert the instance invocation of this method into
00602                  * the JavaScript expression: 
00603                  * <pre>o.m</pre>
00604                  * where <tt>m</tt> is the identifier name resolved from the current member
00605                  * instance of the invocation.
00606                  */
00607                 public Prototype with(ObjectLike o) {
00608                     return new Prototype(super.with(o));
00609                 }
00610 
00611                 /**
00612                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00613                  * name of this field, qualified by the current member instance of the field, and 
00614                  * to access the property of the name on an object.</p>
00615                  * @since 1.0
00616                  * @see JsHTMLDocument#valueOf()
00617                  * @javascript Re-compilers must resolve the member of this instance field to the
00618                  * identifier of the field name appending to the identifier resolved from its 
00619                  * qualifying member with a dot in between.
00620                  */
00621                 public final JsFunction.Member<JsHTMLDocument> valueOf = new JsFunction.Member<JsHTMLDocument>(this, Members.valueOf);
00622                 /**
00623                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00624                  * name of this field, qualified by the current member instance of the field, and 
00625                  * to access the property of the name on an object.</p>
00626                  * @since 1.0
00627                  * @see JsHTMLDocument#close()
00628                  * @javascript Re-compilers must resolve the member of this instance field to the
00629                  * identifier of the field name appending to the identifier resolved from its 
00630                  * qualifying member with a dot in between.
00631                  */
00632                 public final JsFunction.Member<?> close   = new JsFunction.Member<java.lang.Object>(this, Members.close  );
00633                 /**
00634                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00635                  * name of this field, qualified by the current member instance of the field, and 
00636                  * to access the property of the name on an object.</p>
00637                  * @since 1.0
00638                  * @see JsHTMLDocument#open()
00639                  * @javascript Re-compilers must resolve the member of this instance field to the
00640                  * identifier of the field name appending to the identifier resolved from its 
00641                  * qualifying member with a dot in between.
00642                  */
00643                 public final JsFunction.Member<?> open    = new JsFunction.Member<java.lang.Object>(this, Members.open   );
00644                 /**
00645                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00646                  * name of this field, qualified by the current member instance of the field, and 
00647                  * to access the property of the name on an object.</p>
00648                  * @since 1.0
00649                  * @see JsHTMLDocument#write(String)
00650                  * @javascript Re-compilers must resolve the member of this instance field to the
00651                  * identifier of the field name appending to the identifier resolved from its 
00652                  * qualifying member with a dot in between.
00653                  */
00654                 public final JsFunction.Member<?> write   = new JsFunction.Member<java.lang.Object>(this, Members.write  );
00655                 /**
00656                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00657                  * name of this field, qualified by the current member instance of the field, and 
00658                  * to access the property of the name on an object.</p>
00659                  * @since 1.0
00660                  * @see JsHTMLDocument#writeln(String)
00661                  * @javascript Re-compilers must resolve the member of this instance field to the
00662                  * identifier of the field name appending to the identifier resolved from its 
00663                  * qualifying member with a dot in between.
00664                  */
00665                 public final JsFunction.Member<?> writeln = new JsFunction.Member<java.lang.Object>(this, Members.writeln);
00666                 /**
00667                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00668                  * name of this field, qualified by the current member instance of the field, and 
00669                  * to access the property of the name on an object.</p>
00670                  * @since 1.0
00671                  * @see JsHTMLDocument#getElementsByTagName(String)
00672                  * @javascript Re-compilers must resolve the member of this instance field to the
00673                  * identifier of the field name appending to the identifier resolved from its 
00674                  * qualifying member with a dot in between.
00675                  */
00676                 public final JsFunction.Member<JsNodeList<JsHTMLElement>> getElementsByName = new JsFunction.Member<JsNodeList<JsHTMLElement>>(this, Members.getElementsByName);
00677             }
00678 
00679             /**
00680              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
00681              * with the wrapping constructor.</p>
00682              * @param var The argument of an <b>opaque</b> object.
00683              * @since 1.0
00684              * @javascript Re-compilers must ignore the construction operation of this constructor,
00685              * that is, replacing it with its only argument.
00686              */
00687             public Prototype(JsObject var) {
00688                 super(var(var, (JsFunction<?>)null));
00689             }
00690 
00691             /**
00692              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00693              * without a qualifying member and to access the property of the name on an object.</p>
00694              * @since 1.0
00695              * @see JsHTMLDocument#valueOf()
00696              * @javascript Re-compilers must resolve the member of this static field to the
00697              * identifier of the field name.
00698              */
00699             public static final JsFunction.Member<JsHTMLDocument> valueOf = new JsFunction.Member<JsHTMLDocument>(Members.valueOf);
00700             /**
00701              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00702              * without a qualifying member and to access the property of the name on an object.</p>
00703              * @since 1.0
00704              * @see JsHTMLDocument#close()
00705              * @javascript Re-compilers must resolve the member of this static field to the
00706              * identifier of the field name.
00707              */
00708             public static final JsFunction.Member<?> close   = new JsFunction.Member<java.lang.Object>(Members.close  );
00709             /**
00710              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00711              * without a qualifying member and to access the property of the name on an object.</p>
00712              * @since 1.0
00713              * @see JsHTMLDocument#open()
00714              * @javascript Re-compilers must resolve the member of this static field to the
00715              * identifier of the field name.
00716              */
00717             public static final JsFunction.Member<?> open    = new JsFunction.Member<java.lang.Object>(Members.open   );
00718             /**
00719              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00720              * without a qualifying member and to access the property of the name on an object.</p>
00721              * @since 1.0
00722              * @see JsHTMLDocument#write(String)
00723              * @javascript Re-compilers must resolve the member of this static field to the
00724              * identifier of the field name.
00725              */
00726             public static final JsFunction.Member<?> write   = new JsFunction.Member<java.lang.Object>(Members.write  );
00727             /**
00728              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00729              * without a qualifying member and to access the property of the name on an object.</p>
00730              * @since 1.0
00731              * @see JsHTMLDocument#writeln(String)
00732              * @javascript Re-compilers must resolve the member of this static field to the
00733              * identifier of the field name.
00734              */
00735             public static final JsFunction.Member<?> writeln = new JsFunction.Member<java.lang.Object>(Members.writeln);
00736             /**
00737              * <p>An <b>opaque</b> static field defining a member that is named by the field name
00738              * without a qualifying member and to access the property of the name on an object.</p>
00739              * @since 1.0
00740              * @see JsHTMLDocument#getElementsByTagName(String)
00741              * @javascript Re-compilers must resolve the member of this static field to the
00742              * identifier of the field name.
00743              */
00744             public static final JsFunction.Member<JsNodeList<JsHTMLElement>> getElementsByName = new JsFunction.Member<JsNodeList<JsHTMLElement>>(Members.getElementsByName);
00745         }
00746     }
00747 
00748     /**
00749      * <p>An <b>opaque</b> class representing the global <tt>HTMLElement</tt> class of JavaScript.</p>
00750      *
00751      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00752      * 
00753      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00754      * generated into the target codes. Re-compilers must exit with error on the operations of
00755      * accessing that kind of class objects.
00756      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00757      * and <tt>instanceof</tt> to it always <tt>true</tt>.
00758      */
00759     public class HTMLElement extends JsClass
00760     {
00761         /**
00762          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
00763          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
00764          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
00765          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
00766          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
00767          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
00768          * either circumstance, the field names must be exactly same as the member names, as 
00769          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
00770          * based on the field names.</p>
00771          *
00772          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00773          * 
00774          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
00775          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
00776          * of class objects.
00777          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
00778          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
00779          * <pre>q.m</pre>
00780          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
00781          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
00782          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
00783          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
00784          * <pre>m</pre>
00785          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
00786          * error on the access to <b>opaque</b> fields declared by this class under any other 
00787          * circumstances.
00788          */
00789         public static class Member extends JsClass.Member
00790         {
00791             public Member(JsObject.Member q, Mid mid) {
00792                 super(q, mid);
00793             }
00794             public Member(Mid mid) {
00795                 super(mid);
00796             }
00797             @Override
00798             /**
00799              * <p>Evaluates the property, represented by the current member instance, of the
00800              * argument object.</p>
00801              * @param o The argument object
00802              * @return The value of the current member based on the object argument.
00803              * @since 1.0
00804              * @javascript Re-compilers must convert the instance invocation of this method into
00805              * the JavaScript expression: 
00806              * <pre>o.m</pre>
00807              * where <tt>m</tt> is the identifier name resolved from the current member
00808              * instance of the invocation.
00809              */
00810             public HTMLElement with(ObjectLike o) {
00811                 return new HTMLElement(super.with(o));
00812             }
00813             @Override
00814             /**
00815              * <p>Evaluates a property, represented by the current member instance, of the
00816              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
00817              * @return The value of the current member based on the JavaScript global object.
00818              * @since 1.0
00819              * @javascript Re-compilers must convert the instance invocation of this method into
00820              * the JavaScript expression: 
00821              * <pre>m</pre>
00822              * where <tt>m</tt> is the identifier name resolved from the current member
00823              * instance of the invocation.
00824              */
00825             public HTMLElement with() {
00826                 return with(Js.win());
00827             }
00828 
00829             /**
00830              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00831              * name of this field, qualified by the current member instance of the field, and 
00832              * to access the property of the name on an object.</p>
00833              * @since 1.0
00834              * @javascript Re-compilers must resolve the member of this instance field to the
00835              * identifier of the field name appending to the identifier resolved from its 
00836              * qualifying member with a dot in between.
00837              */
00838             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
00839         }
00840 
00841         /**
00842          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
00843          * with the wrapping constructor.</p>
00844          * @param var The argument of an <b>opaque</b> object.
00845          * @since 1.0
00846          * @javascript Re-compilers must ignore the construction operation of this constructor,
00847          * that is, replacing it with its only argument.
00848          */
00849         public HTMLElement(JsObject var) {
00850             super(var(var, (JsFunction<?>)null));
00851         }
00852 
00853         /**
00854          * <p>An <b>opaque</b> static field defining a member that is named by the field name
00855          * without a qualifying member and to access the property of the name on an object.</p>
00856          * @since 1.0
00857          * @javascript Re-compilers must resolve the member of this static field to the
00858          * identifier of the field name.
00859          */
00860         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
00861 
00862         /**
00863          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
00864          * class of JavaScript.</p>
00865          *
00866          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00867          * 
00868          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
00869          * generated into the target codes. Re-compilers must exit with error on the operations of
00870          * accessing that kind of class objects.
00871          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
00872          * and <tt>instanceof</tt> to it always <tt>true</tt>.
00873          */
00874         public static class Prototype extends JsElement
00875         {
00876             /**
00877              * <p>An <b>internal</b> class containing membership data for its enclosing
00878              * opaque class.</p>
00879              * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
00880              * class members.</p>
00881              *
00882              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00883              * 
00884              * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
00885              */
00886             protected static abstract class Members extends JsElement.Members
00887             {
00888                 /**
00889                  * <p>An <b>internal</b> static field defining a member ID of the field name and
00890                  * used internally to define a member of the same name.</p>
00891                  * @since 1.0
00892                  * @see DOM2HTML.HTMLElement.Prototype#scrollIntoView
00893                  * @see DOM2HTML.HTMLElement.Prototype.Member#scrollIntoView
00894                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
00895                  */
00896                 public final static Mid scrollIntoView = id("scrollIntoView"  );
00897             }
00898             /**
00899              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
00900              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
00901              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
00902              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
00903              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
00904              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
00905              * either circumstance, the field names must be exactly same as the member names, as 
00906              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
00907              * based on the field names.</p>
00908              *
00909              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
00910              * 
00911              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
00912              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
00913              * of class objects.
00914              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
00915              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
00916              * <pre>q.m</pre>
00917              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
00918              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
00919              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
00920              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
00921              * <pre>m</pre>
00922              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
00923              * error on the access to <b>opaque</b> fields declared by this class under any other 
00924              * circumstances.
00925              */
00926             public static class Member extends JsElement.Member
00927             {
00928                 /**
00929                  * <p>Internally constructs a member based on a qualifying member.</p>
00930                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00931                  * or <b>internal</b> classes or class members.</p>
00932                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00933                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
00934                  * declared in the declaring class of this constructor itself or its subclasses. 
00935                  * Under this circumstance, the field names must be exactly same as the member 
00936                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
00937                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
00938                  * to their names appending to the name resolved from the specified qualifying 
00939                  * member with a dot in between.</p>
00940                  * @param q A qualifying member
00941                  * @param mid The ID of the member to construct
00942                  * @since 1.0
00943                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00944                  */
00945                 public Member(JsObject.Member q, Mid mid) {
00946                     super(q, mid);
00947                 }
00948                 /**
00949                  * <p>Internally constructs a member without a qualifying member.</p>
00950                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
00951                  * or <b>internal</b> classes or class members.</p>
00952                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
00953                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
00954                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
00955                  * itself and its subclasses. Under this circumstance, the field names must be
00956                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
00957                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
00958                  * @param mid The ID of the member to construct
00959                  * @since 1.0
00960                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
00961                  */
00962                 public Member(Mid mid) {
00963                     super(mid);
00964                 }
00965                 @Override
00966                 /**
00967                  * <p>Evaluates the property, represented by the current member instance, of the
00968                  * argument object.</p>
00969                  * @param o The argument object
00970                  * @return The value of the current member based on the object argument.
00971                  * @since 1.0
00972                  * @javascript Re-compilers must convert the instance invocation of this method into
00973                  * the JavaScript expression: 
00974                  * <pre>o.m</pre>
00975                  * where <tt>m</tt> is the identifier name resolved from the current member
00976                  * instance of the invocation.
00977                  */
00978                 public Prototype with(ObjectLike o) {
00979                     return new Prototype(super.with(o));
00980                 }
00981 
00982                 /**
00983                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00984                  * name of this field, qualified by the current member instance of the field, and 
00985                  * to access the property of the name on an object.</p>
00986                  * @since 1.0
00987                  * @see JsHTMLElement#valueOf()
00988                  * @javascript Re-compilers must resolve the member of this instance field to the
00989                  * identifier of the field name appending to the identifier resolved from its 
00990                  * qualifying member with a dot in between.
00991                  */
00992                 public final JsFunction.Member<JsHTMLElement> valueOf = new JsFunction.Member<JsHTMLElement>(this, Members.valueOf);
00993                 /**
00994                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
00995                  * name of this field, qualified by the current member instance of the field, and 
00996                  * to access the property of the name on an object.</p>
00997                  * @since 1.0
00998                  * @see JsHTMLElement#scrollIntoView()
00999                  * @see JsHTMLElement#scrollIntoView(Boolean)
01000                  * @javascript Re-compilers must resolve the member of this instance field to the
01001                  * identifier of the field name appending to the identifier resolved from its 
01002                  * qualifying member with a dot in between.
01003                  */
01004                 public final JsFunction.Member<?> scrollIntoView = new JsFunction.Member<java.lang.Object>(this, Members.scrollIntoView);
01005             }
01006 
01007             /**
01008              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01009              * with the wrapping constructor.</p>
01010              * @param var The argument of an <b>opaque</b> object.
01011              * @since 1.0
01012              * @javascript Re-compilers must ignore the construction operation of this constructor,
01013              * that is, replacing it with its only argument.
01014              */
01015             public Prototype(JsObject var) {
01016                 super(var(var, (JsFunction<?>)null));
01017             }
01018 
01019             /**
01020              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01021              * without a qualifying member and to access the property of the name on an object.</p>
01022              * @since 1.0
01023              * @see JsHTMLElement#valueOf()
01024              * @javascript Re-compilers must resolve the member of this static field to the
01025              * identifier of the field name.
01026              */
01027             public static final JsFunction.Member<JsHTMLElement> valueOf = new JsFunction.Member<JsHTMLElement>(Members.valueOf);
01028             /**
01029              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01030              * without a qualifying member and to access the property of the name on an object.</p>
01031              * @since 1.0
01032              * @see JsHTMLElement#scrollIntoView()
01033              * @see JsHTMLElement#scrollIntoView(Boolean)
01034              * @javascript Re-compilers must resolve the member of this static field to the
01035              * identifier of the field name.
01036              */
01037             public static final JsFunction.Member<?> scrollIntoView = new JsFunction.Member<java.lang.Object>(Members.scrollIntoView);
01038         }
01039     }
01040 
01041     /**
01042      * <p>An <b>opaque</b> class representing the global <tt>HTMLAnchorElement</tt> class of JavaScript.</p>
01043      *
01044      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01045      * 
01046      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01047      * generated into the target codes. Re-compilers must exit with error on the operations of
01048      * accessing that kind of class objects.
01049      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01050      * and <tt>instanceof</tt> to it always <tt>true</tt>.
01051      */
01052     public class HTMLAnchorElement extends JsClass
01053     {
01054         /**
01055          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01056          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01057          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01058          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01059          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01060          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01061          * either circumstance, the field names must be exactly same as the member names, as 
01062          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01063          * based on the field names.</p>
01064          *
01065          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01066          * 
01067          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01068          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01069          * of class objects.
01070          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01071          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01072          * <pre>q.m</pre>
01073          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01074          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01075          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01076          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01077          * <pre>m</pre>
01078          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01079          * error on the access to <b>opaque</b> fields declared by this class under any other 
01080          * circumstances.
01081          */
01082         public static class Member extends JsClass.Member
01083         {
01084             public Member(JsObject.Member q, Mid mid) {
01085                 super(q, mid);
01086             }
01087             public Member(Mid mid) {
01088                 super(mid);
01089             }
01090             @Override
01091             /**
01092              * <p>Evaluates the property, represented by the current member instance, of the
01093              * argument object.</p>
01094              * @param o The argument object
01095              * @return The value of the current member based on the object argument.
01096              * @since 1.0
01097              * @javascript Re-compilers must convert the instance invocation of this method into
01098              * the JavaScript expression: 
01099              * <pre>o.m</pre>
01100              * where <tt>m</tt> is the identifier name resolved from the current member
01101              * instance of the invocation.
01102              */
01103             public HTMLAnchorElement with(ObjectLike o) {
01104                 return new HTMLAnchorElement(super.with(o));
01105             }
01106             @Override
01107             /**
01108              * <p>Evaluates a property, represented by the current member instance, of the
01109              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
01110              * @return The value of the current member based on the JavaScript global object.
01111              * @since 1.0
01112              * @javascript Re-compilers must convert the instance invocation of this method into
01113              * the JavaScript expression: 
01114              * <pre>m</pre>
01115              * where <tt>m</tt> is the identifier name resolved from the current member
01116              * instance of the invocation.
01117              */
01118             public HTMLAnchorElement with() {
01119                 return with(Js.win());
01120             }
01121 
01122             /**
01123              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01124              * name of this field, qualified by the current member instance of the field, and 
01125              * to access the property of the name on an object.</p>
01126              * @since 1.0
01127              * @javascript Re-compilers must resolve the member of this instance field to the
01128              * identifier of the field name appending to the identifier resolved from its 
01129              * qualifying member with a dot in between.
01130              */
01131             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
01132         }
01133 
01134         /**
01135          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01136          * with the wrapping constructor.</p>
01137          * @param var The argument of an <b>opaque</b> object.
01138          * @since 1.0
01139          * @javascript Re-compilers must ignore the construction operation of this constructor,
01140          * that is, replacing it with its only argument.
01141          */
01142         public HTMLAnchorElement(JsObject var) {
01143             super(var(var, (JsFunction<?>)null));
01144         }
01145 
01146         /**
01147          * <p>An <b>opaque</b> static field defining a member that is named by the field name
01148          * without a qualifying member and to access the property of the name on an object.</p>
01149          * @since 1.0
01150          * @javascript Re-compilers must resolve the member of this static field to the
01151          * identifier of the field name.
01152          */
01153         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
01154 
01155         /**
01156          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
01157          * class of JavaScript.</p>
01158          *
01159          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01160          * 
01161          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01162          * generated into the target codes. Re-compilers must exit with error on the operations of
01163          * accessing that kind of class objects.
01164          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01165          * and <tt>instanceof</tt> to it always <tt>true</tt>.
01166          */
01167         public static class Prototype extends JsHTMLElement
01168         {
01169             /**
01170              * <p>An <b>internal</b> class containing membership data for its enclosing
01171              * opaque class.</p>
01172              * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
01173              * class members.</p>
01174              *
01175              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01176              * 
01177              * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
01178              */
01179             protected static abstract class Members extends JsHTMLElement.Members
01180             {
01181                 /**
01182                  * <p>An <b>internal</b> static field defining a member ID of the field name and
01183                  * used internally to define a member of the same name.</p>
01184                  * @since 1.0
01185                  * @see DOM2HTML.HTMLAnchorElement.Prototype#blur
01186                  * @see DOM2HTML.HTMLAnchorElement.Prototype.Member#blur
01187                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
01188                  */
01189                 public final static Mid blur   = id("blur"  );
01190                 /**
01191                  * <p>An <b>internal</b> static field defining a member ID of the field name and
01192                  * used internally to define a member of the same name.</p>
01193                  * @since 1.0
01194                  * @see DOM2HTML.HTMLAnchorElement.Prototype#focus
01195                  * @see DOM2HTML.HTMLAnchorElement.Prototype.Member#focus
01196                  * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
01197                  */
01198                 public final static Mid focus = id("focus");
01199             }
01200             /**
01201              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01202              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01203              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01204              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01205              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01206              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01207              * either circumstance, the field names must be exactly same as the member names, as 
01208              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01209              * based on the field names.</p>
01210              *
01211              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01212              * 
01213              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01214              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01215              * of class objects.
01216              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01217              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01218              * <pre>q.m</pre>
01219              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01220              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01221              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01222              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01223              * <pre>m</pre>
01224              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01225              * error on the access to <b>opaque</b> fields declared by this class under any other 
01226              * circumstances.
01227              */
01228             public static class Member extends JsHTMLElement.Member
01229             {
01230                 /**
01231                  * <p>Internally constructs a member based on a qualifying member.</p>
01232                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01233                  * or <b>internal</b> classes or class members.</p>
01234                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01235                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
01236                  * declared in the declaring class of this constructor itself or its subclasses. 
01237                  * Under this circumstance, the field names must be exactly same as the member 
01238                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
01239                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
01240                  * to their names appending to the name resolved from the specified qualifying 
01241                  * member with a dot in between.</p>
01242                  * @param q A qualifying member
01243                  * @param mid The ID of the member to construct
01244                  * @since 1.0
01245                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01246                  */
01247                 public Member(JsObject.Member q, Mid mid) {
01248                     super(q, mid);
01249                 }
01250                 /**
01251                  * <p>Internally constructs a member without a qualifying member.</p>
01252                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01253                  * or <b>internal</b> classes or class members.</p>
01254                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01255                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
01256                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
01257                  * itself and its subclasses. Under this circumstance, the field names must be
01258                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
01259                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
01260                  * @param mid The ID of the member to construct
01261                  * @since 1.0
01262                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01263                  */
01264                 public Member(Mid mid) {
01265                     super(mid);
01266                 }
01267                 @Override
01268                 /**
01269                  * <p>Evaluates the property, represented by the current member instance, of the
01270                  * argument object.</p>
01271                  * @param o The argument object
01272                  * @return The value of the current member based on the object argument.
01273                  * @since 1.0
01274                  * @javascript Re-compilers must convert the instance invocation of this method into
01275                  * the JavaScript expression: 
01276                  * <pre>o.m</pre>
01277                  * where <tt>m</tt> is the identifier name resolved from the current member
01278                  * instance of the invocation.
01279                  */
01280                 public Prototype with(ObjectLike o) {
01281                     return new Prototype(super.with(o));
01282                 }
01283 
01284                 /**
01285                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01286                  * name of this field, qualified by the current member instance of the field, and 
01287                  * to access the property of the name on an object.</p>
01288                  * @since 1.0
01289                  * @see JsHTMLAnchorElement#valueOf()
01290                  * @javascript Re-compilers must resolve the member of this instance field to the
01291                  * identifier of the field name appending to the identifier resolved from its 
01292                  * qualifying member with a dot in between.
01293                  */
01294                 public final JsFunction.Member<JsHTMLAnchorElement> valueOf = new JsFunction.Member<JsHTMLAnchorElement>(this, Members.valueOf);
01295                 /**
01296                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01297                  * name of this field, qualified by the current member instance of the field, and 
01298                  * to access the property of the name on an object.</p>
01299                  * @since 1.0
01300                  * @see JsHTMLAnchorElement#blur()
01301                  * @javascript Re-compilers must resolve the member of this instance field to the
01302                  * identifier of the field name appending to the identifier resolved from its 
01303                  * qualifying member with a dot in between.
01304                  */
01305                 public final JsFunction.Member<?> blur   = new JsFunction.Member<java.lang.Object>(this, Members.blur  );
01306                 /**
01307                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01308                  * name of this field, qualified by the current member instance of the field, and 
01309                  * to access the property of the name on an object.</p>
01310                  * @since 1.0
01311                  * @see JsHTMLAnchorElement#focus()
01312                  * @javascript Re-compilers must resolve the member of this instance field to the
01313                  * identifier of the field name appending to the identifier resolved from its 
01314                  * qualifying member with a dot in between.
01315                  */
01316                 public final JsFunction.Member<?> focus = new JsFunction.Member<java.lang.Object>(this, Members.focus);
01317             }
01318 
01319             /**
01320              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01321              * with the wrapping constructor.</p>
01322              * @param var The argument of an <b>opaque</b> object.
01323              * @since 1.0
01324              * @javascript Re-compilers must ignore the construction operation of this constructor,
01325              * that is, replacing it with its only argument.
01326              */
01327             public Prototype(JsObject var) {
01328                 super(var(var, (JsFunction<?>)null));
01329             }
01330 
01331             /**
01332              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01333              * without a qualifying member and to access the property of the name on an object.</p>
01334              * @since 1.0
01335              * @see JsHTMLAnchorElement#valueOf()
01336              * @javascript Re-compilers must resolve the member of this static field to the
01337              * identifier of the field name.
01338              */
01339             public static final JsFunction.Member<JsHTMLAnchorElement> valueOf = new JsFunction.Member<JsHTMLAnchorElement>(Members.valueOf);
01340             /**
01341              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01342              * without a qualifying member and to access the property of the name on an object.</p>
01343              * @since 1.0
01344              * @see JsHTMLAnchorElement#blur()
01345              * @javascript Re-compilers must resolve the member of this static field to the
01346              * identifier of the field name.
01347              */
01348             public static final JsFunction.Member<?> blur   = new JsFunction.Member<java.lang.Object>(Members.blur  );
01349             /**
01350              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01351              * without a qualifying member and to access the property of the name on an object.</p>
01352              * @since 1.0
01353              * @see JsHTMLAnchorElement#focus()
01354              * @javascript Re-compilers must resolve the member of this static field to the
01355              * identifier of the field name.
01356              */
01357             public static final JsFunction.Member<?> focus = new JsFunction.Member<java.lang.Object>(Members.focus);
01358         }
01359     }
01360 
01361     /**
01362      * <p>An <b>opaque</b> class representing the global <tt>HTMLAppletElement</tt> class of JavaScript.</p>
01363      *
01364      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01365      * 
01366      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01367      * generated into the target codes. Re-compilers must exit with error on the operations of
01368      * accessing that kind of class objects.
01369      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01370      * and <tt>instanceof</tt> to it always <tt>true</tt>.
01371      */
01372     public class HTMLAppletElement extends JsClass
01373     {
01374         /**
01375          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01376          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01377          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01378          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01379          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01380          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01381          * either circumstance, the field names must be exactly same as the member names, as 
01382          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01383          * based on the field names.</p>
01384          *
01385          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01386          * 
01387          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01388          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01389          * of class objects.
01390          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01391          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01392          * <pre>q.m</pre>
01393          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01394          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01395          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01396          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01397          * <pre>m</pre>
01398          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01399          * error on the access to <b>opaque</b> fields declared by this class under any other 
01400          * circumstances.
01401          */
01402         public static class Member extends JsClass.Member
01403         {
01404             public Member(JsObject.Member q, Mid mid) {
01405                 super(q, mid);
01406             }
01407             public Member(Mid mid) {
01408                 super(mid);
01409             }
01410             @Override
01411             /**
01412              * <p>Evaluates the property, represented by the current member instance, of the
01413              * argument object.</p>
01414              * @param o The argument object
01415              * @return The value of the current member based on the object argument.
01416              * @since 1.0
01417              * @javascript Re-compilers must convert the instance invocation of this method into
01418              * the JavaScript expression: 
01419              * <pre>o.m</pre>
01420              * where <tt>m</tt> is the identifier name resolved from the current member
01421              * instance of the invocation.
01422              */
01423             public HTMLAppletElement with(ObjectLike o) {
01424                 return new HTMLAppletElement(super.with(o));
01425             }
01426             @Override
01427             /**
01428              * <p>Evaluates a property, represented by the current member instance, of the
01429              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
01430              * @return The value of the current member based on the JavaScript global object.
01431              * @since 1.0
01432              * @javascript Re-compilers must convert the instance invocation of this method into
01433              * the JavaScript expression: 
01434              * <pre>m</pre>
01435              * where <tt>m</tt> is the identifier name resolved from the current member
01436              * instance of the invocation.
01437              */
01438             public HTMLAppletElement with() {
01439                 return with(Js.win());
01440             }
01441 
01442             /**
01443              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01444              * name of this field, qualified by the current member instance of the field, and 
01445              * to access the property of the name on an object.</p>
01446              * @since 1.0
01447              * @javascript Re-compilers must resolve the member of this instance field to the
01448              * identifier of the field name appending to the identifier resolved from its 
01449              * qualifying member with a dot in between.
01450              */
01451             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
01452         }
01453 
01454         /**
01455          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01456          * with the wrapping constructor.</p>
01457          * @param var The argument of an <b>opaque</b> object.
01458          * @since 1.0
01459          * @javascript Re-compilers must ignore the construction operation of this constructor,
01460          * that is, replacing it with its only argument.
01461          */
01462         public HTMLAppletElement(JsObject var) {
01463             super(var(var, (JsFunction<?>)null));
01464         }
01465 
01466         /**
01467          * <p>An <b>opaque</b> static field defining a member that is named by the field name
01468          * without a qualifying member and to access the property of the name on an object.</p>
01469          * @since 1.0
01470          * @javascript Re-compilers must resolve the member of this static field to the
01471          * identifier of the field name.
01472          */
01473         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
01474 
01475         /**
01476          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
01477          * class of JavaScript.</p>
01478          *
01479          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01480          * 
01481          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01482          * generated into the target codes. Re-compilers must exit with error on the operations of
01483          * accessing that kind of class objects.
01484          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01485          * and <tt>instanceof</tt> to it always <tt>true</tt>.
01486          */
01487         public static class Prototype extends JsHTMLElement
01488         {
01489             /**
01490              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01491              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01492              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01493              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01494              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01495              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01496              * either circumstance, the field names must be exactly same as the member names, as 
01497              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01498              * based on the field names.</p>
01499              *
01500              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01501              * 
01502              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01503              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01504              * of class objects.
01505              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01506              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01507              * <pre>q.m</pre>
01508              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01509              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01510              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01511              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01512              * <pre>m</pre>
01513              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01514              * error on the access to <b>opaque</b> fields declared by this class under any other 
01515              * circumstances.
01516              */
01517             public static class Member extends JsHTMLElement.Member
01518             {
01519                 /**
01520                  * <p>Internally constructs a member based on a qualifying member.</p>
01521                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01522                  * or <b>internal</b> classes or class members.</p>
01523                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01524                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
01525                  * declared in the declaring class of this constructor itself or its subclasses. 
01526                  * Under this circumstance, the field names must be exactly same as the member 
01527                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
01528                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
01529                  * to their names appending to the name resolved from the specified qualifying 
01530                  * member with a dot in between.</p>
01531                  * @param q A qualifying member
01532                  * @param mid The ID of the member to construct
01533                  * @since 1.0
01534                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01535                  */
01536                 public Member(JsObject.Member q, Mid mid) {
01537                     super(q, mid);
01538                 }
01539                 /**
01540                  * <p>Internally constructs a member without a qualifying member.</p>
01541                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01542                  * or <b>internal</b> classes or class members.</p>
01543                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01544                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
01545                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
01546                  * itself and its subclasses. Under this circumstance, the field names must be
01547                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
01548                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
01549                  * @param mid The ID of the member to construct
01550                  * @since 1.0
01551                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01552                  */
01553                 public Member(Mid mid) {
01554                     super(mid);
01555                 }
01556                 @Override
01557                 /**
01558                  * <p>Evaluates the property, represented by the current member instance, of the
01559                  * argument object.</p>
01560                  * @param o The argument object
01561                  * @return The value of the current member based on the object argument.
01562                  * @since 1.0
01563                  * @javascript Re-compilers must convert the instance invocation of this method into
01564                  * the JavaScript expression: 
01565                  * <pre>o.m</pre>
01566                  * where <tt>m</tt> is the identifier name resolved from the current member
01567                  * instance of the invocation.
01568                  */
01569                 public Prototype with(ObjectLike o) {
01570                     return new Prototype(super.with(o));
01571                 }
01572 
01573                 /**
01574                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01575                  * name of this field, qualified by the current member instance of the field, and 
01576                  * to access the property of the name on an object.</p>
01577                  * @since 1.0
01578                  * @see JsHTMLAppletElement#valueOf()
01579                  * @javascript Re-compilers must resolve the member of this instance field to the
01580                  * identifier of the field name appending to the identifier resolved from its 
01581                  * qualifying member with a dot in between.
01582                  */
01583                 public final JsFunction.Member<JsHTMLAppletElement> valueOf = new JsFunction.Member<JsHTMLAppletElement>(this, Members.valueOf);
01584             }
01585 
01586             /**
01587              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01588              * with the wrapping constructor.</p>
01589              * @param var The argument of an <b>opaque</b> object.
01590              * @since 1.0
01591              * @javascript Re-compilers must ignore the construction operation of this constructor,
01592              * that is, replacing it with its only argument.
01593              */
01594             public Prototype(JsObject var) {
01595                 super(var(var, (JsFunction<?>)null));
01596             }
01597 
01598             /**
01599              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01600              * without a qualifying member and to access the property of the name on an object.</p>
01601              * @since 1.0
01602              * @see JsHTMLAppletElement#valueOf()
01603              * @javascript Re-compilers must resolve the member of this static field to the
01604              * identifier of the field name.
01605              */
01606             public static final JsFunction.Member<JsHTMLAppletElement> valueOf = new JsFunction.Member<JsHTMLAppletElement>(Members.valueOf);
01607         }
01608     }
01609 
01610     /**
01611      * <p>An <b>opaque</b> class representing the global <tt>HTMLAreaElement</tt> class of JavaScript.</p>
01612      *
01613      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01614      * 
01615      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01616      * generated into the target codes. Re-compilers must exit with error on the operations of
01617      * accessing that kind of class objects.
01618      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01619      * and <tt>instanceof</tt> to it always <tt>true</tt>.
01620      */
01621     public class HTMLAreaElement extends JsClass
01622     {
01623         /**
01624          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01625          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01626          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01627          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01628          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01629          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01630          * either circumstance, the field names must be exactly same as the member names, as 
01631          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01632          * based on the field names.</p>
01633          *
01634          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01635          * 
01636          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01637          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01638          * of class objects.
01639          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01640          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01641          * <pre>q.m</pre>
01642          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01643          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01644          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01645          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01646          * <pre>m</pre>
01647          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01648          * error on the access to <b>opaque</b> fields declared by this class under any other 
01649          * circumstances.
01650          */
01651         public static class Member extends JsClass.Member
01652         {
01653             public Member(JsObject.Member q, Mid mid) {
01654                 super(q, mid);
01655             }
01656             public Member(Mid mid) {
01657                 super(mid);
01658             }
01659             @Override
01660             /**
01661              * <p>Evaluates the property, represented by the current member instance, of the
01662              * argument object.</p>
01663              * @param o The argument object
01664              * @return The value of the current member based on the object argument.
01665              * @since 1.0
01666              * @javascript Re-compilers must convert the instance invocation of this method into
01667              * the JavaScript expression: 
01668              * <pre>o.m</pre>
01669              * where <tt>m</tt> is the identifier name resolved from the current member
01670              * instance of the invocation.
01671              */
01672             public HTMLAreaElement with(ObjectLike o) {
01673                 return new HTMLAreaElement(super.with(o));
01674             }
01675             @Override
01676             /**
01677              * <p>Evaluates a property, represented by the current member instance, of the
01678              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
01679              * @return The value of the current member based on the JavaScript global object.
01680              * @since 1.0
01681              * @javascript Re-compilers must convert the instance invocation of this method into
01682              * the JavaScript expression: 
01683              * <pre>m</pre>
01684              * where <tt>m</tt> is the identifier name resolved from the current member
01685              * instance of the invocation.
01686              */
01687             public HTMLAreaElement with() {
01688                 return with(Js.win());
01689             }
01690 
01691             /**
01692              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01693              * name of this field, qualified by the current member instance of the field, and 
01694              * to access the property of the name on an object.</p>
01695              * @since 1.0
01696              * @javascript Re-compilers must resolve the member of this instance field to the
01697              * identifier of the field name appending to the identifier resolved from its 
01698              * qualifying member with a dot in between.
01699              */
01700             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
01701         }
01702 
01703         /**
01704          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01705          * with the wrapping constructor.</p>
01706          * @param var The argument of an <b>opaque</b> object.
01707          * @since 1.0
01708          * @javascript Re-compilers must ignore the construction operation of this constructor,
01709          * that is, replacing it with its only argument.
01710          */
01711         public HTMLAreaElement(JsObject var) {
01712             super(var(var, (JsFunction<?>)null));
01713         }
01714 
01715         /**
01716          * <p>An <b>opaque</b> static field defining a member that is named by the field name
01717          * without a qualifying member and to access the property of the name on an object.</p>
01718          * @since 1.0
01719          * @javascript Re-compilers must resolve the member of this static field to the
01720          * identifier of the field name.
01721          */
01722         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
01723 
01724         /**
01725          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
01726          * class of JavaScript.</p>
01727          *
01728          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01729          * 
01730          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01731          * generated into the target codes. Re-compilers must exit with error on the operations of
01732          * accessing that kind of class objects.
01733          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01734          * and <tt>instanceof</tt> to it always <tt>true</tt>.
01735          */
01736         public static class Prototype extends JsHTMLElement
01737         {
01738             /**
01739              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01740              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01741              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01742              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01743              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01744              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01745              * either circumstance, the field names must be exactly same as the member names, as 
01746              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01747              * based on the field names.</p>
01748              *
01749              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01750              * 
01751              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01752              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01753              * of class objects.
01754              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01755              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01756              * <pre>q.m</pre>
01757              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01758              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01759              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01760              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01761              * <pre>m</pre>
01762              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01763              * error on the access to <b>opaque</b> fields declared by this class under any other 
01764              * circumstances.
01765              */
01766             public static class Member extends JsHTMLElement.Member
01767             {
01768                 /**
01769                  * <p>Internally constructs a member based on a qualifying member.</p>
01770                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01771                  * or <b>internal</b> classes or class members.</p>
01772                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01773                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
01774                  * declared in the declaring class of this constructor itself or its subclasses. 
01775                  * Under this circumstance, the field names must be exactly same as the member 
01776                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
01777                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
01778                  * to their names appending to the name resolved from the specified qualifying 
01779                  * member with a dot in between.</p>
01780                  * @param q A qualifying member
01781                  * @param mid The ID of the member to construct
01782                  * @since 1.0
01783                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01784                  */
01785                 public Member(JsObject.Member q, Mid mid) {
01786                     super(q, mid);
01787                 }
01788                 /**
01789                  * <p>Internally constructs a member without a qualifying member.</p>
01790                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
01791                  * or <b>internal</b> classes or class members.</p>
01792                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
01793                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
01794                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
01795                  * itself and its subclasses. Under this circumstance, the field names must be
01796                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
01797                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
01798                  * @param mid The ID of the member to construct
01799                  * @since 1.0
01800                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
01801                  */
01802                 public Member(Mid mid) {
01803                     super(mid);
01804                 }
01805                 @Override
01806                 /**
01807                  * <p>Evaluates the property, represented by the current member instance, of the
01808                  * argument object.</p>
01809                  * @param o The argument object
01810                  * @return The value of the current member based on the object argument.
01811                  * @since 1.0
01812                  * @javascript Re-compilers must convert the instance invocation of this method into
01813                  * the JavaScript expression: 
01814                  * <pre>o.m</pre>
01815                  * where <tt>m</tt> is the identifier name resolved from the current member
01816                  * instance of the invocation.
01817                  */
01818                 public Prototype with(ObjectLike o) {
01819                     return new Prototype(super.with(o));
01820                 }
01821 
01822                 /**
01823                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01824                  * name of this field, qualified by the current member instance of the field, and 
01825                  * to access the property of the name on an object.</p>
01826                  * @since 1.0
01827                  * @see JsHTMLAreaElement#valueOf()
01828                  * @javascript Re-compilers must resolve the member of this instance field to the
01829                  * identifier of the field name appending to the identifier resolved from its 
01830                  * qualifying member with a dot in between.
01831                  */
01832                 public final JsFunction.Member<JsHTMLAreaElement> valueOf = new JsFunction.Member<JsHTMLAreaElement>(this, Members.valueOf);
01833             }
01834 
01835             /**
01836              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01837              * with the wrapping constructor.</p>
01838              * @param var The argument of an <b>opaque</b> object.
01839              * @since 1.0
01840              * @javascript Re-compilers must ignore the construction operation of this constructor,
01841              * that is, replacing it with its only argument.
01842              */
01843             public Prototype(JsObject var) {
01844                 super(var(var, (JsFunction<?>)null));
01845             }
01846 
01847             /**
01848              * <p>An <b>opaque</b> static field defining a member that is named by the field name
01849              * without a qualifying member and to access the property of the name on an object.</p>
01850              * @since 1.0
01851              * @see JsHTMLAreaElement#valueOf()
01852              * @javascript Re-compilers must resolve the member of this static field to the
01853              * identifier of the field name.
01854              */
01855             public static final JsFunction.Member<JsHTMLAreaElement> valueOf = new JsFunction.Member<JsHTMLAreaElement>(Members.valueOf);
01856         }
01857     }
01858 
01859     /**
01860      * <p>An <b>opaque</b> class representing the global <tt>HTMLBaseElement</tt> class of JavaScript.</p>
01861      *
01862      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01863      * 
01864      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01865      * generated into the target codes. Re-compilers must exit with error on the operations of
01866      * accessing that kind of class objects.
01867      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01868      * and <tt>instanceof</tt> to it always <tt>true</tt>.
01869      */
01870     public class HTMLBaseElement extends JsClass
01871     {
01872         /**
01873          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01874          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01875          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01876          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01877          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01878          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01879          * either circumstance, the field names must be exactly same as the member names, as 
01880          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01881          * based on the field names.</p>
01882          *
01883          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01884          * 
01885          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
01886          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
01887          * of class objects.
01888          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
01889          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
01890          * <pre>q.m</pre>
01891          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
01892          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
01893          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
01894          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
01895          * <pre>m</pre>
01896          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
01897          * error on the access to <b>opaque</b> fields declared by this class under any other 
01898          * circumstances.
01899          */
01900         public static class Member extends JsClass.Member
01901         {
01902             public Member(JsObject.Member q, Mid mid) {
01903                 super(q, mid);
01904             }
01905             public Member(Mid mid) {
01906                 super(mid);
01907             }
01908             @Override
01909             /**
01910              * <p>Evaluates the property, represented by the current member instance, of the
01911              * argument object.</p>
01912              * @param o The argument object
01913              * @return The value of the current member based on the object argument.
01914              * @since 1.0
01915              * @javascript Re-compilers must convert the instance invocation of this method into
01916              * the JavaScript expression: 
01917              * <pre>o.m</pre>
01918              * where <tt>m</tt> is the identifier name resolved from the current member
01919              * instance of the invocation.
01920              */
01921             public HTMLBaseElement with(ObjectLike o) {
01922                 return new HTMLBaseElement(super.with(o));
01923             }
01924             @Override
01925             /**
01926              * <p>Evaluates a property, represented by the current member instance, of the
01927              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
01928              * @return The value of the current member based on the JavaScript global object.
01929              * @since 1.0
01930              * @javascript Re-compilers must convert the instance invocation of this method into
01931              * the JavaScript expression: 
01932              * <pre>m</pre>
01933              * where <tt>m</tt> is the identifier name resolved from the current member
01934              * instance of the invocation.
01935              */
01936             public HTMLBaseElement with() {
01937                 return with(Js.win());
01938             }
01939 
01940             /**
01941              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
01942              * name of this field, qualified by the current member instance of the field, and 
01943              * to access the property of the name on an object.</p>
01944              * @since 1.0
01945              * @javascript Re-compilers must resolve the member of this instance field to the
01946              * identifier of the field name appending to the identifier resolved from its 
01947              * qualifying member with a dot in between.
01948              */
01949             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
01950         }
01951 
01952         /**
01953          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
01954          * with the wrapping constructor.</p>
01955          * @param var The argument of an <b>opaque</b> object.
01956          * @since 1.0
01957          * @javascript Re-compilers must ignore the construction operation of this constructor,
01958          * that is, replacing it with its only argument.
01959          */
01960         public HTMLBaseElement(JsObject var) {
01961             super(var(var, (JsFunction<?>)null));
01962         }
01963 
01964         /**
01965          * <p>An <b>opaque</b> static field defining a member that is named by the field name
01966          * without a qualifying member and to access the property of the name on an object.</p>
01967          * @since 1.0
01968          * @javascript Re-compilers must resolve the member of this static field to the
01969          * identifier of the field name.
01970          */
01971         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
01972 
01973         /**
01974          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
01975          * class of JavaScript.</p>
01976          *
01977          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01978          * 
01979          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
01980          * generated into the target codes. Re-compilers must exit with error on the operations of
01981          * accessing that kind of class objects.
01982          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
01983          * and <tt>instanceof</tt> to it always <tt>true</tt>.
01984          */
01985         public static class Prototype extends JsHTMLElement
01986         {
01987             /**
01988              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
01989              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
01990              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
01991              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
01992              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
01993              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
01994              * either circumstance, the field names must be exactly same as the member names, as 
01995              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
01996              * based on the field names.</p>
01997              *
01998              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
01999              * 
02000              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02001              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02002              * of class objects.
02003              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02004              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02005              * <pre>q.m</pre>
02006              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02007              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02008              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02009              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02010              * <pre>m</pre>
02011              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02012              * error on the access to <b>opaque</b> fields declared by this class under any other 
02013              * circumstances.
02014              */
02015             public static class Member extends JsHTMLElement.Member
02016             {
02017                 /**
02018                  * <p>Internally constructs a member based on a qualifying member.</p>
02019                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02020                  * or <b>internal</b> classes or class members.</p>
02021                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02022                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
02023                  * declared in the declaring class of this constructor itself or its subclasses. 
02024                  * Under this circumstance, the field names must be exactly same as the member 
02025                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
02026                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
02027                  * to their names appending to the name resolved from the specified qualifying 
02028                  * member with a dot in between.</p>
02029                  * @param q A qualifying member
02030                  * @param mid The ID of the member to construct
02031                  * @since 1.0
02032                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02033                  */
02034                 public Member(JsObject.Member q, Mid mid) {
02035                     super(q, mid);
02036                 }
02037                 /**
02038                  * <p>Internally constructs a member without a qualifying member.</p>
02039                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02040                  * or <b>internal</b> classes or class members.</p>
02041                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02042                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
02043                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
02044                  * itself and its subclasses. Under this circumstance, the field names must be
02045                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
02046                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
02047                  * @param mid The ID of the member to construct
02048                  * @since 1.0
02049                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02050                  */
02051                 public Member(Mid mid) {
02052                     super(mid);
02053                 }
02054                 @Override
02055                 /**
02056                  * <p>Evaluates the property, represented by the current member instance, of the
02057                  * argument object.</p>
02058                  * @param o The argument object
02059                  * @return The value of the current member based on the object argument.
02060                  * @since 1.0
02061                  * @javascript Re-compilers must convert the instance invocation of this method into
02062                  * the JavaScript expression: 
02063                  * <pre>o.m</pre>
02064                  * where <tt>m</tt> is the identifier name resolved from the current member
02065                  * instance of the invocation.
02066                  */
02067                 public Prototype with(ObjectLike o) {
02068                     return new Prototype(super.with(o));
02069                 }
02070 
02071                 /**
02072                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02073                  * name of this field, qualified by the current member instance of the field, and 
02074                  * to access the property of the name on an object.</p>
02075                  * @since 1.0
02076                  * @see JsHTMLBaseElement#valueOf()
02077                  * @javascript Re-compilers must resolve the member of this instance field to the
02078                  * identifier of the field name appending to the identifier resolved from its 
02079                  * qualifying member with a dot in between.
02080                  */
02081                 public final JsFunction.Member<JsHTMLBaseElement> valueOf = new JsFunction.Member<JsHTMLBaseElement>(this, Members.valueOf);
02082             }
02083 
02084             /**
02085              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02086              * with the wrapping constructor.</p>
02087              * @param var The argument of an <b>opaque</b> object.
02088              * @since 1.0
02089              * @see JsHTMLBaseElement#valueOf()
02090              * @javascript Re-compilers must ignore the construction operation of this constructor,
02091              * that is, replacing it with its only argument.
02092              */
02093             public Prototype(JsObject var) {
02094                 super(var(var, (JsFunction<?>)null));
02095             }
02096 
02097             /**
02098              * <p>An <b>opaque</b> static field defining a member that is named by the field name
02099              * without a qualifying member and to access the property of the name on an object.</p>
02100              * @since 1.0
02101              * @javascript Re-compilers must resolve the member of this static field to the
02102              * identifier of the field name.
02103              */
02104             public static final JsFunction.Member<JsHTMLBaseElement> valueOf = new JsFunction.Member<JsHTMLBaseElement>(Members.valueOf);
02105         }
02106     }
02107 
02108     /**
02109      * <p>An <b>opaque</b> class representing the global <tt>HTMLBaseFontElement</tt> class of JavaScript.</p>
02110      *
02111      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02112      * 
02113      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02114      * generated into the target codes. Re-compilers must exit with error on the operations of
02115      * accessing that kind of class objects.
02116      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02117      * and <tt>instanceof</tt> to it always <tt>true</tt>.
02118      */
02119     public class HTMLBaseFontElement extends JsClass
02120     {
02121         /**
02122          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02123          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02124          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02125          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02126          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02127          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02128          * either circumstance, the field names must be exactly same as the member names, as 
02129          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02130          * based on the field names.</p>
02131          *
02132          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02133          * 
02134          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02135          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02136          * of class objects.
02137          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02138          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02139          * <pre>q.m</pre>
02140          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02141          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02142          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02143          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02144          * <pre>m</pre>
02145          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02146          * error on the access to <b>opaque</b> fields declared by this class under any other 
02147          * circumstances.
02148          */
02149         public static class Member extends JsClass.Member
02150         {
02151             public Member(JsObject.Member q, Mid mid) {
02152                 super(q, mid);
02153             }
02154             public Member(Mid mid) {
02155                 super(mid);
02156             }
02157             @Override
02158             /**
02159              * <p>Evaluates the property, represented by the current member instance, of the
02160              * argument object.</p>
02161              * @param o The argument object
02162              * @return The value of the current member based on the object argument.
02163              * @since 1.0
02164              * @javascript Re-compilers must convert the instance invocation of this method into
02165              * the JavaScript expression: 
02166              * <pre>o.m</pre>
02167              * where <tt>m</tt> is the identifier name resolved from the current member
02168              * instance of the invocation.
02169              */
02170             public HTMLBaseFontElement with(ObjectLike o) {
02171                 return new HTMLBaseFontElement(super.with(o));
02172             }
02173             @Override
02174             /**
02175              * <p>Evaluates a property, represented by the current member instance, of the
02176              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
02177              * @return The value of the current member based on the JavaScript global object.
02178              * @since 1.0
02179              * @javascript Re-compilers must convert the instance invocation of this method into
02180              * the JavaScript expression: 
02181              * <pre>m</pre>
02182              * where <tt>m</tt> is the identifier name resolved from the current member
02183              * instance of the invocation.
02184              */
02185             public HTMLBaseFontElement with() {
02186                 return with(Js.win());
02187             }
02188 
02189             /**
02190              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02191              * name of this field, qualified by the current member instance of the field, and 
02192              * to access the property of the name on an object.</p>
02193              * @since 1.0
02194              * @javascript Re-compilers must resolve the member of this instance field to the
02195              * identifier of the field name appending to the identifier resolved from its 
02196              * qualifying member with a dot in between.
02197              */
02198             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
02199         }
02200 
02201         /**
02202          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02203          * with the wrapping constructor.</p>
02204          * @param var The argument of an <b>opaque</b> object.
02205          * @since 1.0
02206          * @javascript Re-compilers must ignore the construction operation of this constructor,
02207          * that is, replacing it with its only argument.
02208          */
02209         public HTMLBaseFontElement(JsObject var) {
02210             super(var(var, (JsFunction<?>)null));
02211         }
02212 
02213         /**
02214          * <p>An <b>opaque</b> static field defining a member that is named by the field name
02215          * without a qualifying member and to access the property of the name on an object.</p>
02216          * @since 1.0
02217          * @javascript Re-compilers must resolve the member of this static field to the
02218          * identifier of the field name.
02219          */
02220         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
02221 
02222         /**
02223          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
02224          * class of JavaScript.</p>
02225          *
02226          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02227          * 
02228          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02229          * generated into the target codes. Re-compilers must exit with error on the operations of
02230          * accessing that kind of class objects.
02231          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02232          * and <tt>instanceof</tt> to it always <tt>true</tt>.
02233          */
02234         public static class Prototype extends JsHTMLElement
02235         {
02236             /**
02237              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02238              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02239              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02240              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02241              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02242              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02243              * either circumstance, the field names must be exactly same as the member names, as 
02244              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02245              * based on the field names.</p>
02246              *
02247              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02248              * 
02249              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02250              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02251              * of class objects.
02252              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02253              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02254              * <pre>q.m</pre>
02255              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02256              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02257              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02258              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02259              * <pre>m</pre>
02260              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02261              * error on the access to <b>opaque</b> fields declared by this class under any other 
02262              * circumstances.
02263              */
02264             public static class Member extends JsHTMLElement.Member
02265             {
02266                 /**
02267                  * <p>Internally constructs a member based on a qualifying member.</p>
02268                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02269                  * or <b>internal</b> classes or class members.</p>
02270                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02271                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
02272                  * declared in the declaring class of this constructor itself or its subclasses. 
02273                  * Under this circumstance, the field names must be exactly same as the member 
02274                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
02275                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
02276                  * to their names appending to the name resolved from the specified qualifying 
02277                  * member with a dot in between.</p>
02278                  * @param q A qualifying member
02279                  * @param mid The ID of the member to construct
02280                  * @since 1.0
02281                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02282                  */
02283                 public Member(JsObject.Member q, Mid mid) {
02284                     super(q, mid);
02285                 }
02286                 /**
02287                  * <p>Internally constructs a member without a qualifying member.</p>
02288                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02289                  * or <b>internal</b> classes or class members.</p>
02290                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02291                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
02292                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
02293                  * itself and its subclasses. Under this circumstance, the field names must be
02294                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
02295                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
02296                  * @param mid The ID of the member to construct
02297                  * @since 1.0
02298                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02299                  */
02300                 public Member(Mid mid) {
02301                     super(mid);
02302                 }
02303                 @Override
02304                 /**
02305                  * <p>Evaluates the property, represented by the current member instance, of the
02306                  * argument object.</p>
02307                  * @param o The argument object
02308                  * @return The value of the current member based on the object argument.
02309                  * @since 1.0
02310                  * @javascript Re-compilers must convert the instance invocation of this method into
02311                  * the JavaScript expression: 
02312                  * <pre>o.m</pre>
02313                  * where <tt>m</tt> is the identifier name resolved from the current member
02314                  * instance of the invocation.
02315                  */
02316                 public Prototype with(ObjectLike o) {
02317                     return new Prototype(super.with(o));
02318                 }
02319 
02320                 /**
02321                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02322                  * name of this field, qualified by the current member instance of the field, and 
02323                  * to access the property of the name on an object.</p>
02324                  * @since 1.0
02325                  * @see JsHTMLBaseFontElement#valueOf()
02326                  * @javascript Re-compilers must resolve the member of this instance field to the
02327                  * identifier of the field name appending to the identifier resolved from its 
02328                  * qualifying member with a dot in between.
02329                  */
02330                 public final JsFunction.Member<JsHTMLBaseFontElement> valueOf = new JsFunction.Member<JsHTMLBaseFontElement>(this, Members.valueOf);
02331             }
02332 
02333             /**
02334              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02335              * with the wrapping constructor.</p>
02336              * @param var The argument of an <b>opaque</b> object.
02337              * @since 1.0
02338              * @see JsHTMLBaseFontElement#valueOf()
02339              * @javascript Re-compilers must ignore the construction operation of this constructor,
02340              * that is, replacing it with its only argument.
02341              */
02342             public Prototype(JsObject var) {
02343                 super(var(var, (JsFunction<?>)null));
02344             }
02345 
02346             /**
02347              * <p>An <b>opaque</b> static field defining a member that is named by the field name
02348              * without a qualifying member and to access the property of the name on an object.</p>
02349              * @since 1.0
02350              * @javascript Re-compilers must resolve the member of this static field to the
02351              * identifier of the field name.
02352              */
02353             public static final JsFunction.Member<JsHTMLBaseFontElement> valueOf = new JsFunction.Member<JsHTMLBaseFontElement>(Members.valueOf);
02354         }
02355     }
02356 
02357     /**
02358      * <p>An <b>opaque</b> class representing the global <tt>HTMLQuoteElement</tt> class of JavaScript.</p>
02359      *
02360      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02361      * 
02362      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02363      * generated into the target codes. Re-compilers must exit with error on the operations of
02364      * accessing that kind of class objects.
02365      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02366      * and <tt>instanceof</tt> to it always <tt>true</tt>.
02367      */
02368     public class HTMLQuoteElement extends JsClass
02369     {
02370         /**
02371          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02372          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02373          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02374          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02375          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02376          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02377          * either circumstance, the field names must be exactly same as the member names, as 
02378          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02379          * based on the field names.</p>
02380          *
02381          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02382          * 
02383          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02384          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02385          * of class objects.
02386          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02387          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02388          * <pre>q.m</pre>
02389          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02390          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02391          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02392          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02393          * <pre>m</pre>
02394          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02395          * error on the access to <b>opaque</b> fields declared by this class under any other 
02396          * circumstances.
02397          */
02398         public static class Member extends JsClass.Member
02399         {
02400             public Member(JsObject.Member q, Mid mid) {
02401                 super(q, mid);
02402             }
02403             public Member(Mid mid) {
02404                 super(mid);
02405             }
02406             @Override
02407             /**
02408              * <p>Evaluates the property, represented by the current member instance, of the
02409              * argument object.</p>
02410              * @param o The argument object
02411              * @return The value of the current member based on the object argument.
02412              * @since 1.0
02413              * @javascript Re-compilers must convert the instance invocation of this method into
02414              * the JavaScript expression: 
02415              * <pre>o.m</pre>
02416              * where <tt>m</tt> is the identifier name resolved from the current member
02417              * instance of the invocation.
02418              */
02419             public HTMLQuoteElement with(ObjectLike o) {
02420                 return new HTMLQuoteElement(super.with(o));
02421             }
02422             @Override
02423             /**
02424              * <p>Evaluates a property, represented by the current member instance, of the
02425              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
02426              * @return The value of the current member based on the JavaScript global object.
02427              * @since 1.0
02428              * @javascript Re-compilers must convert the instance invocation of this method into
02429              * the JavaScript expression: 
02430              * <pre>m</pre>
02431              * where <tt>m</tt> is the identifier name resolved from the current member
02432              * instance of the invocation.
02433              */
02434             public HTMLQuoteElement with() {
02435                 return with(Js.win());
02436             }
02437 
02438             /**
02439              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02440              * name of this field, qualified by the current member instance of the field, and 
02441              * to access the property of the name on an object.</p>
02442              * @since 1.0
02443              * @javascript Re-compilers must resolve the member of this instance field to the
02444              * identifier of the field name appending to the identifier resolved from its 
02445              * qualifying member with a dot in between.
02446              */
02447             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
02448         }
02449 
02450         /**
02451          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02452          * with the wrapping constructor.</p>
02453          * @param var The argument of an <b>opaque</b> object.
02454          * @since 1.0
02455          * @javascript Re-compilers must ignore the construction operation of this constructor,
02456          * that is, replacing it with its only argument.
02457          */
02458         public HTMLQuoteElement(JsObject var) {
02459             super(var(var, (JsFunction<?>)null));
02460         }
02461 
02462         /**
02463          * <p>An <b>opaque</b> static field defining a member that is named by the field name
02464          * without a qualifying member and to access the property of the name on an object.</p>
02465          * @since 1.0
02466          * @javascript Re-compilers must resolve the member of this static field to the
02467          * identifier of the field name.
02468          */
02469         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
02470 
02471         /**
02472          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
02473          * class of JavaScript.</p>
02474          *
02475          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02476          * 
02477          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02478          * generated into the target codes. Re-compilers must exit with error on the operations of
02479          * accessing that kind of class objects.
02480          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02481          * and <tt>instanceof</tt> to it always <tt>true</tt>.
02482          */
02483         public static class Prototype extends JsHTMLElement
02484         {
02485             /**
02486              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02487              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02488              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02489              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02490              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02491              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02492              * either circumstance, the field names must be exactly same as the member names, as 
02493              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02494              * based on the field names.</p>
02495              *
02496              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02497              * 
02498              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02499              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02500              * of class objects.
02501              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02502              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02503              * <pre>q.m</pre>
02504              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02505              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02506              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02507              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02508              * <pre>m</pre>
02509              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02510              * error on the access to <b>opaque</b> fields declared by this class under any other 
02511              * circumstances.
02512              */
02513             public static class Member extends JsHTMLElement.Member
02514             {
02515                 /**
02516                  * <p>Internally constructs a member based on a qualifying member.</p>
02517                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02518                  * or <b>internal</b> classes or class members.</p>
02519                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02520                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
02521                  * declared in the declaring class of this constructor itself or its subclasses. 
02522                  * Under this circumstance, the field names must be exactly same as the member 
02523                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
02524                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
02525                  * to their names appending to the name resolved from the specified qualifying 
02526                  * member with a dot in between.</p>
02527                  * @param q A qualifying member
02528                  * @param mid The ID of the member to construct
02529                  * @since 1.0
02530                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02531                  */
02532                 public Member(JsObject.Member q, Mid mid) {
02533                     super(q, mid);
02534                 }
02535                 /**
02536                  * <p>Internally constructs a member without a qualifying member.</p>
02537                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02538                  * or <b>internal</b> classes or class members.</p>
02539                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02540                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
02541                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
02542                  * itself and its subclasses. Under this circumstance, the field names must be
02543                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
02544                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
02545                  * @param mid The ID of the member to construct
02546                  * @since 1.0
02547                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02548                  */
02549                 public Member(Mid mid) {
02550                     super(mid);
02551                 }
02552                 @Override
02553                 /**
02554                  * <p>Evaluates the property, represented by the current member instance, of the
02555                  * argument object.</p>
02556                  * @param o The argument object
02557                  * @return The value of the current member based on the object argument.
02558                  * @since 1.0
02559                  * @javascript Re-compilers must convert the instance invocation of this method into
02560                  * the JavaScript expression: 
02561                  * <pre>o.m</pre>
02562                  * where <tt>m</tt> is the identifier name resolved from the current member
02563                  * instance of the invocation.
02564                  */
02565                 public Prototype with(ObjectLike o) {
02566                     return new Prototype(super.with(o));
02567                 }
02568 
02569                 /**
02570                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02571                  * name of this field, qualified by the current member instance of the field, and 
02572                  * to access the property of the name on an object.</p>
02573                  * @since 1.0
02574                  * @see JsHTMLQuoteElement#valueOf()
02575                  * @javascript Re-compilers must resolve the member of this instance field to the
02576                  * identifier of the field name appending to the identifier resolved from its 
02577                  * qualifying member with a dot in between.
02578                  */
02579                 public final JsFunction.Member<JsHTMLQuoteElement> valueOf = new JsFunction.Member<JsHTMLQuoteElement>(this, Members.valueOf);
02580             }
02581 
02582             /**
02583              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02584              * with the wrapping constructor.</p>
02585              * @param var The argument of an <b>opaque</b> object.
02586              * @since 1.0
02587              * @javascript Re-compilers must ignore the construction operation of this constructor,
02588              * that is, replacing it with its only argument.
02589              */
02590             public Prototype(JsObject var) {
02591                 super(var(var, (JsFunction<?>)null));
02592             }
02593 
02594             /**
02595              * <p>An <b>opaque</b> static field defining a member that is named by the field name
02596              * without a qualifying member and to access the property of the name on an object.</p>
02597              * @since 1.0
02598              * @see JsHTMLQuoteElement#valueOf()
02599              * @javascript Re-compilers must resolve the member of this static field to the
02600              * identifier of the field name.
02601              */
02602             public static final JsFunction.Member<JsHTMLQuoteElement> valueOf = new JsFunction.Member<JsHTMLQuoteElement>(Members.valueOf);
02603         }
02604 
02605     }
02606 
02607     /**
02608      * <p>An <b>opaque</b> class representing the global <tt>HTMLBodyElement</tt> class of JavaScript.</p>
02609      *
02610      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02611      * 
02612      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02613      * generated into the target codes. Re-compilers must exit with error on the operations of
02614      * accessing that kind of class objects.
02615      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02616      * and <tt>instanceof</tt> to it always <tt>true</tt>.
02617      */
02618     public class HTMLBodyElement extends JsClass
02619     {
02620         /**
02621          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02622          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02623          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02624          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02625          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02626          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02627          * either circumstance, the field names must be exactly same as the member names, as 
02628          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02629          * based on the field names.</p>
02630          *
02631          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02632          * 
02633          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02634          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02635          * of class objects.
02636          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02637          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02638          * <pre>q.m</pre>
02639          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02640          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02641          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02642          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02643          * <pre>m</pre>
02644          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02645          * error on the access to <b>opaque</b> fields declared by this class under any other 
02646          * circumstances.
02647          */
02648         public static class Member extends JsClass.Member
02649         {
02650             public Member(JsObject.Member q, Mid mid) {
02651                 super(q, mid);
02652             }
02653             public Member(Mid mid) {
02654                 super(mid);
02655             }
02656             @Override
02657             /**
02658              * <p>Evaluates the property, represented by the current member instance, of the
02659              * argument object.</p>
02660              * @param o The argument object
02661              * @return The value of the current member based on the object argument.
02662              * @since 1.0
02663              * @javascript Re-compilers must convert the instance invocation of this method into
02664              * the JavaScript expression: 
02665              * <pre>o.m</pre>
02666              * where <tt>m</tt> is the identifier name resolved from the current member
02667              * instance of the invocation.
02668              */
02669             public HTMLBodyElement with(ObjectLike o) {
02670                 return new HTMLBodyElement(super.with(o));
02671             }
02672             @Override
02673             /**
02674              * <p>Evaluates a property, represented by the current member instance, of the
02675              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
02676              * @return The value of the current member based on the JavaScript global object.
02677              * @since 1.0
02678              * @javascript Re-compilers must convert the instance invocation of this method into
02679              * the JavaScript expression: 
02680              * <pre>m</pre>
02681              * where <tt>m</tt> is the identifier name resolved from the current member
02682              * instance of the invocation.
02683              */
02684             public HTMLBodyElement with() {
02685                 return with(Js.win());
02686             }
02687 
02688             /**
02689              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02690              * name of this field, qualified by the current member instance of the field, and 
02691              * to access the property of the name on an object.</p>
02692              * @since 1.0
02693              * @javascript Re-compilers must resolve the member of this instance field to the
02694              * identifier of the field name appending to the identifier resolved from its 
02695              * qualifying member with a dot in between.
02696              */
02697             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
02698         }
02699 
02700         /**
02701          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02702          * with the wrapping constructor.</p>
02703          * @param var The argument of an <b>opaque</b> object.
02704          * @since 1.0
02705          * @javascript Re-compilers must ignore the construction operation of this constructor,
02706          * that is, replacing it with its only argument.
02707          */
02708         public HTMLBodyElement(JsObject var) {
02709             super(var(var, (JsFunction<?>)null));
02710         }
02711 
02712         /**
02713          * <p>An <b>opaque</b> static field defining a member that is named by the field name
02714          * without a qualifying member and to access the property of the name on an object.</p>
02715          * @since 1.0
02716          * @javascript Re-compilers must resolve the member of this static field to the
02717          * identifier of the field name.
02718          */
02719         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
02720 
02721         /**
02722          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
02723          * class of JavaScript.</p>
02724          *
02725          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02726          * 
02727          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02728          * generated into the target codes. Re-compilers must exit with error on the operations of
02729          * accessing that kind of class objects.
02730          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02731          * and <tt>instanceof</tt> to it always <tt>true</tt>.
02732          */
02733         public static class Prototype extends JsHTMLElement
02734         {
02735             /**
02736              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02737              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02738              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02739              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02740              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02741              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02742              * either circumstance, the field names must be exactly same as the member names, as 
02743              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02744              * based on the field names.</p>
02745              *
02746              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02747              * 
02748              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02749              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02750              * of class objects.
02751              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02752              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02753              * <pre>q.m</pre>
02754              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02755              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02756              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02757              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02758              * <pre>m</pre>
02759              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02760              * error on the access to <b>opaque</b> fields declared by this class under any other 
02761              * circumstances.
02762              */
02763             public static class Member extends JsHTMLElement.Member
02764             {
02765                 /**
02766                  * <p>Internally constructs a member based on a qualifying member.</p>
02767                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02768                  * or <b>internal</b> classes or class members.</p>
02769                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02770                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
02771                  * declared in the declaring class of this constructor itself or its subclasses. 
02772                  * Under this circumstance, the field names must be exactly same as the member 
02773                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
02774                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
02775                  * to their names appending to the name resolved from the specified qualifying 
02776                  * member with a dot in between.</p>
02777                  * @param q A qualifying member
02778                  * @param mid The ID of the member to construct
02779                  * @since 1.0
02780                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02781                  */
02782                 public Member(JsObject.Member q, Mid mid) {
02783                     super(q, mid);
02784                 }
02785                 /**
02786                  * <p>Internally constructs a member without a qualifying member.</p>
02787                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
02788                  * or <b>internal</b> classes or class members.</p>
02789                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
02790                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
02791                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
02792                  * itself and its subclasses. Under this circumstance, the field names must be
02793                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
02794                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
02795                  * @param mid The ID of the member to construct
02796                  * @since 1.0
02797                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
02798                  */
02799                 public Member(Mid mid) {
02800                     super(mid);
02801                 }
02802                 @Override
02803                 /**
02804                  * <p>Evaluates the property, represented by the current member instance, of the
02805                  * argument object.</p>
02806                  * @param o The argument object
02807                  * @return The value of the current member based on the object argument.
02808                  * @since 1.0
02809                  * @javascript Re-compilers must convert the instance invocation of this method into
02810                  * the JavaScript expression: 
02811                  * <pre>o.m</pre>
02812                  * where <tt>m</tt> is the identifier name resolved from the current member
02813                  * instance of the invocation.
02814                  */
02815                 public Prototype with(ObjectLike o) {
02816                     return new Prototype(super.with(o));
02817                 }
02818 
02819                 /**
02820                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02821                  * name of this field, qualified by the current member instance of the field, and 
02822                  * to access the property of the name on an object.</p>
02823                  * @since 1.0
02824                  * @see JsHTMLBodyElement#valueOf()
02825                  * @javascript Re-compilers must resolve the member of this instance field to the
02826                  * identifier of the field name appending to the identifier resolved from its 
02827                  * qualifying member with a dot in between.
02828                  */
02829                 public final JsFunction.Member<JsHTMLBodyElement> valueOf = new JsFunction.Member<JsHTMLBodyElement>(this, Members.valueOf);
02830             }
02831 
02832             /**
02833              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02834              * with the wrapping constructor.</p>
02835              * @param var The argument of an <b>opaque</b> object.
02836              * @since 1.0
02837              * @javascript Re-compilers must ignore the construction operation of this constructor,
02838              * that is, replacing it with its only argument.
02839              */
02840             public Prototype(JsObject var) {
02841                 super(var(var, (JsFunction<?>)null));
02842             }
02843 
02844             /**
02845              * <p>An <b>opaque</b> static field defining a member that is named by the field name
02846              * without a qualifying member and to access the property of the name on an object.</p>
02847              * @since 1.0
02848              * @see JsHTMLBodyElement#valueOf()
02849              * @javascript Re-compilers must resolve the member of this static field to the
02850              * identifier of the field name.
02851              */
02852             public static final JsFunction.Member<JsHTMLBodyElement> valueOf = new JsFunction.Member<JsHTMLBodyElement>(Members.valueOf);
02853         }
02854     }
02855 
02856     /**
02857      * <p>An <b>opaque</b> class representing the global <tt>HTMLBRElement</tt> class of JavaScript.</p>
02858      *
02859      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02860      * 
02861      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02862      * generated into the target codes. Re-compilers must exit with error on the operations of
02863      * accessing that kind of class objects.
02864      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02865      * and <tt>instanceof</tt> to it always <tt>true</tt>.
02866      */
02867     public class HTMLBRElement extends JsClass
02868     {
02869         /**
02870          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02871          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02872          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02873          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02874          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02875          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02876          * either circumstance, the field names must be exactly same as the member names, as 
02877          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02878          * based on the field names.</p>
02879          *
02880          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02881          * 
02882          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02883          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02884          * of class objects.
02885          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
02886          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
02887          * <pre>q.m</pre>
02888          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
02889          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
02890          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
02891          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
02892          * <pre>m</pre>
02893          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
02894          * error on the access to <b>opaque</b> fields declared by this class under any other 
02895          * circumstances.
02896          */
02897         public static class Member extends JsClass.Member
02898         {
02899             public Member(JsObject.Member q, Mid mid) {
02900                 super(q, mid);
02901             }
02902             public Member(Mid mid) {
02903                 super(mid);
02904             }
02905             @Override
02906             /**
02907              * <p>Evaluates the property, represented by the current member instance, of the
02908              * argument object.</p>
02909              * @param o The argument object
02910              * @return The value of the current member based on the object argument.
02911              * @since 1.0
02912              * @javascript Re-compilers must convert the instance invocation of this method into
02913              * the JavaScript expression: 
02914              * <pre>o.m</pre>
02915              * where <tt>m</tt> is the identifier name resolved from the current member
02916              * instance of the invocation.
02917              */
02918             public HTMLBRElement with(ObjectLike o) {
02919                 return new HTMLBRElement(super.with(o));
02920             }
02921             @Override
02922             /**
02923              * <p>Evaluates a property, represented by the current member instance, of the
02924              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
02925              * @return The value of the current member based on the JavaScript global object.
02926              * @since 1.0
02927              * @javascript Re-compilers must convert the instance invocation of this method into
02928              * the JavaScript expression: 
02929              * <pre>m</pre>
02930              * where <tt>m</tt> is the identifier name resolved from the current member
02931              * instance of the invocation.
02932              */
02933             public HTMLBRElement with() {
02934                 return with(Js.win());
02935             }
02936 
02937             /**
02938              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
02939              * name of this field, qualified by the current member instance of the field, and 
02940              * to access the property of the name on an object.</p>
02941              * @since 1.0
02942              * @javascript Re-compilers must resolve the member of this instance field to the
02943              * identifier of the field name appending to the identifier resolved from its 
02944              * qualifying member with a dot in between.
02945              */
02946             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
02947         }
02948 
02949         /**
02950          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
02951          * with the wrapping constructor.</p>
02952          * @param var The argument of an <b>opaque</b> object.
02953          * @since 1.0
02954          * @javascript Re-compilers must ignore the construction operation of this constructor,
02955          * that is, replacing it with its only argument.
02956          */
02957         public HTMLBRElement(JsObject var) {
02958             super(var(var, (JsFunction<?>)null));
02959         }
02960 
02961         /**
02962          * <p>An <b>opaque</b> static field defining a member that is named by the field name
02963          * without a qualifying member and to access the property of the name on an object.</p>
02964          * @since 1.0
02965          * @javascript Re-compilers must resolve the member of this static field to the
02966          * identifier of the field name.
02967          */
02968         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
02969 
02970         /**
02971          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
02972          * class of JavaScript.</p>
02973          *
02974          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02975          * 
02976          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
02977          * generated into the target codes. Re-compilers must exit with error on the operations of
02978          * accessing that kind of class objects.
02979          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
02980          * and <tt>instanceof</tt> to it always <tt>true</tt>.
02981          */
02982         public static class Prototype extends JsHTMLElement
02983         {
02984             /**
02985              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
02986              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
02987              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
02988              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
02989              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
02990              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
02991              * either circumstance, the field names must be exactly same as the member names, as 
02992              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
02993              * based on the field names.</p>
02994              *
02995              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
02996              * 
02997              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
02998              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
02999              * of class objects.
03000              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03001              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03002              * <pre>q.m</pre>
03003              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03004              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03005              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03006              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03007              * <pre>m</pre>
03008              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03009              * error on the access to <b>opaque</b> fields declared by this class under any other 
03010              * circumstances.
03011              */
03012             public static class Member extends JsHTMLElement.Member
03013             {
03014                 /**
03015                  * <p>Internally constructs a member based on a qualifying member.</p>
03016                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03017                  * or <b>internal</b> classes or class members.</p>
03018                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03019                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
03020                  * declared in the declaring class of this constructor itself or its subclasses. 
03021                  * Under this circumstance, the field names must be exactly same as the member 
03022                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
03023                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
03024                  * to their names appending to the name resolved from the specified qualifying 
03025                  * member with a dot in between.</p>
03026                  * @param q A qualifying member
03027                  * @param mid The ID of the member to construct
03028                  * @since 1.0
03029                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03030                  */
03031                 public Member(JsObject.Member q, Mid mid) {
03032                     super(q, mid);
03033                 }
03034                 /**
03035                  * <p>Internally constructs a member without a qualifying member.</p>
03036                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03037                  * or <b>internal</b> classes or class members.</p>
03038                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03039                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
03040                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
03041                  * itself and its subclasses. Under this circumstance, the field names must be
03042                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
03043                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
03044                  * @param mid The ID of the member to construct
03045                  * @since 1.0
03046                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03047                  */
03048                 public Member(Mid mid) {
03049                     super(mid);
03050                 }
03051                 @Override
03052                 /**
03053                  * <p>Evaluates the property, represented by the current member instance, of the
03054                  * argument object.</p>
03055                  * @param o The argument object
03056                  * @return The value of the current member based on the object argument.
03057                  * @since 1.0
03058                  * @javascript Re-compilers must convert the instance invocation of this method into
03059                  * the JavaScript expression: 
03060                  * <pre>o.m</pre>
03061                  * where <tt>m</tt> is the identifier name resolved from the current member
03062                  * instance of the invocation.
03063                  */
03064                 public Prototype with(ObjectLike o) {
03065                     return new Prototype(super.with(o));
03066                 }
03067 
03068                 /**
03069                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03070                  * name of this field, qualified by the current member instance of the field, and 
03071                  * to access the property of the name on an object.</p>
03072                  * @since 1.0
03073                  * @see JsHTMLBRElement#valueOf()
03074                  * @javascript Re-compilers must resolve the member of this instance field to the
03075                  * identifier of the field name appending to the identifier resolved from its 
03076                  * qualifying member with a dot in between.
03077                  */
03078                 public final JsFunction.Member<JsHTMLBRElement> valueOf = new JsFunction.Member<JsHTMLBRElement>(this, Members.valueOf);
03079             }
03080 
03081             /**
03082              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03083              * with the wrapping constructor.</p>
03084              * @param var The argument of an <b>opaque</b> object.
03085              * @since 1.0
03086              * @javascript Re-compilers must ignore the construction operation of this constructor,
03087              * that is, replacing it with its only argument.
03088              */
03089             public Prototype(JsObject var) {
03090                 super(var(var, (JsFunction<?>)null));
03091             }
03092 
03093             /**
03094              * <p>An <b>opaque</b> static field defining a member that is named by the field name
03095              * without a qualifying member and to access the property of the name on an object.</p>
03096              * @since 1.0
03097              * @see JsHTMLBRElement#valueOf()
03098              * @javascript Re-compilers must resolve the member of this static field to the
03099              * identifier of the field name.
03100              */
03101             public static final JsFunction.Member<JsHTMLBRElement> valueOf = new JsFunction.Member<JsHTMLBRElement>(Members.valueOf);
03102         }
03103     }
03104 
03105     /**
03106      * <p>An <b>opaque</b> class representing the global <tt>HTMLTableCaptionElement</tt> class of JavaScript.</p>
03107      *
03108      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03109      * 
03110      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03111      * generated into the target codes. Re-compilers must exit with error on the operations of
03112      * accessing that kind of class objects.
03113      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03114      * and <tt>instanceof</tt> to it always <tt>true</tt>.
03115      */
03116     public class HTMLTableCaptionElement extends JsClass
03117     {
03118         /**
03119          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03120          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03121          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03122          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03123          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03124          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03125          * either circumstance, the field names must be exactly same as the member names, as 
03126          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03127          * based on the field names.</p>
03128          *
03129          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03130          * 
03131          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03132          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03133          * of class objects.
03134          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03135          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03136          * <pre>q.m</pre>
03137          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03138          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03139          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03140          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03141          * <pre>m</pre>
03142          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03143          * error on the access to <b>opaque</b> fields declared by this class under any other 
03144          * circumstances.
03145          */
03146         public static class Member extends JsClass.Member
03147         {
03148             public Member(JsObject.Member q, Mid mid) {
03149                 super(q, mid);
03150             }
03151             public Member(Mid mid) {
03152                 super(mid);
03153             }
03154             @Override
03155             /**
03156              * <p>Evaluates the property, represented by the current member instance, of the
03157              * argument object.</p>
03158              * @param o The argument object
03159              * @return The value of the current member based on the object argument.
03160              * @since 1.0
03161              * @javascript Re-compilers must convert the instance invocation of this method into
03162              * the JavaScript expression: 
03163              * <pre>o.m</pre>
03164              * where <tt>m</tt> is the identifier name resolved from the current member
03165              * instance of the invocation.
03166              */
03167             public HTMLTableCaptionElement with(ObjectLike o) {
03168                 return new HTMLTableCaptionElement(super.with(o));
03169             }
03170             @Override
03171             /**
03172              * <p>Evaluates a property, represented by the current member instance, of the
03173              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
03174              * @return The value of the current member based on the JavaScript global object.
03175              * @since 1.0
03176              * @javascript Re-compilers must convert the instance invocation of this method into
03177              * the JavaScript expression: 
03178              * <pre>m</pre>
03179              * where <tt>m</tt> is the identifier name resolved from the current member
03180              * instance of the invocation.
03181              */
03182             public HTMLTableCaptionElement with() {
03183                 return with(Js.win());
03184             }
03185 
03186             /**
03187              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03188              * name of this field, qualified by the current member instance of the field, and 
03189              * to access the property of the name on an object.</p>
03190              * @since 1.0
03191              * @javascript Re-compilers must resolve the member of this instance field to the
03192              * identifier of the field name appending to the identifier resolved from its 
03193              * qualifying member with a dot in between.
03194              */
03195             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
03196         }
03197 
03198         /**
03199          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03200          * with the wrapping constructor.</p>
03201          * @param var The argument of an <b>opaque</b> object.
03202          * @since 1.0
03203          * @javascript Re-compilers must ignore the construction operation of this constructor,
03204          * that is, replacing it with its only argument.
03205          */
03206         public HTMLTableCaptionElement(JsObject var) {
03207             super(var(var, (JsFunction<?>)null));
03208         }
03209 
03210         /**
03211          * <p>An <b>opaque</b> static field defining a member that is named by the field name
03212          * without a qualifying member and to access the property of the name on an object.</p>
03213          * @since 1.0
03214          * @javascript Re-compilers must resolve the member of this static field to the
03215          * identifier of the field name.
03216          */
03217         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
03218 
03219         /**
03220          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
03221          * class of JavaScript.</p>
03222          *
03223          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03224          * 
03225          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03226          * generated into the target codes. Re-compilers must exit with error on the operations of
03227          * accessing that kind of class objects.
03228          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03229          * and <tt>instanceof</tt> to it always <tt>true</tt>.
03230          */
03231         public static class Prototype extends JsHTMLElement
03232         {
03233             /**
03234              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03235              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03236              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03237              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03238              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03239              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03240              * either circumstance, the field names must be exactly same as the member names, as 
03241              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03242              * based on the field names.</p>
03243              *
03244              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03245              * 
03246              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03247              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03248              * of class objects.
03249              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03250              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03251              * <pre>q.m</pre>
03252              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03253              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03254              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03255              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03256              * <pre>m</pre>
03257              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03258              * error on the access to <b>opaque</b> fields declared by this class under any other 
03259              * circumstances.
03260              */
03261             public static class Member extends JsHTMLElement.Member
03262             {
03263                 /**
03264                  * <p>Internally constructs a member based on a qualifying member.</p>
03265                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03266                  * or <b>internal</b> classes or class members.</p>
03267                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03268                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
03269                  * declared in the declaring class of this constructor itself or its subclasses. 
03270                  * Under this circumstance, the field names must be exactly same as the member 
03271                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
03272                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
03273                  * to their names appending to the name resolved from the specified qualifying 
03274                  * member with a dot in between.</p>
03275                  * @param q A qualifying member
03276                  * @param mid The ID of the member to construct
03277                  * @since 1.0
03278                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03279                  */
03280                 public Member(JsObject.Member q, Mid mid) {
03281                     super(q, mid);
03282                 }
03283                 /**
03284                  * <p>Internally constructs a member without a qualifying member.</p>
03285                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03286                  * or <b>internal</b> classes or class members.</p>
03287                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03288                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
03289                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
03290                  * itself and its subclasses. Under this circumstance, the field names must be
03291                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
03292                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
03293                  * @param mid The ID of the member to construct
03294                  * @since 1.0
03295                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03296                  */
03297                 public Member(Mid mid) {
03298                     super(mid);
03299                 }
03300                 @Override
03301                 /**
03302                  * <p>Evaluates the property, represented by the current member instance, of the
03303                  * argument object.</p>
03304                  * @param o The argument object
03305                  * @return The value of the current member based on the object argument.
03306                  * @since 1.0
03307                  * @javascript Re-compilers must convert the instance invocation of this method into
03308                  * the JavaScript expression: 
03309                  * <pre>o.m</pre>
03310                  * where <tt>m</tt> is the identifier name resolved from the current member
03311                  * instance of the invocation.
03312                  */
03313                 public Prototype with(ObjectLike o) {
03314                     return new Prototype(super.with(o));
03315                 }
03316 
03317                 /**
03318                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03319                  * name of this field, qualified by the current member instance of the field, and 
03320                  * to access the property of the name on an object.</p>
03321                  * @since 1.0
03322                  * @see JsHTMLTableCaptionElement#valueOf()
03323                  * @javascript Re-compilers must resolve the member of this instance field to the
03324                  * identifier of the field name appending to the identifier resolved from its 
03325                  * qualifying member with a dot in between.
03326                  */
03327                 public final JsFunction.Member<JsHTMLTableCaptionElement> valueOf = new JsFunction.Member<JsHTMLTableCaptionElement>(this, Members.valueOf);
03328             }
03329 
03330             /**
03331              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03332              * with the wrapping constructor.</p>
03333              * @param var The argument of an <b>opaque</b> object.
03334              * @since 1.0
03335              * @javascript Re-compilers must ignore the construction operation of this constructor,
03336              * that is, replacing it with its only argument.
03337              */
03338             public Prototype(JsObject var) {
03339                 super(var(var, (JsFunction<?>)null));
03340             }
03341 
03342             /**
03343              * <p>An <b>opaque</b> static field defining a member that is named by the field name
03344              * without a qualifying member and to access the property of the name on an object.</p>
03345              * @since 1.0
03346              * @see JsHTMLTableCaptionElement#valueOf()
03347              * @javascript Re-compilers must resolve the member of this static field to the
03348              * identifier of the field name.
03349              */
03350             public static final JsFunction.Member<JsHTMLTableCaptionElement> valueOf = new JsFunction.Member<JsHTMLTableCaptionElement>(Members.valueOf);
03351         }
03352     }
03353 
03354     /**
03355      * <p>An <b>opaque</b> class representing the global <tt>HTMLTableColElement</tt> class of JavaScript.</p>
03356      *
03357      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03358      * 
03359      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03360      * generated into the target codes. Re-compilers must exit with error on the operations of
03361      * accessing that kind of class objects.
03362      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03363      * and <tt>instanceof</tt> to it always <tt>true</tt>.
03364      */
03365     public class HTMLTableColElement extends JsClass
03366     {
03367         /**
03368          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03369          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03370          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03371          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03372          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03373          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03374          * either circumstance, the field names must be exactly same as the member names, as 
03375          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03376          * based on the field names.</p>
03377          *
03378          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03379          * 
03380          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03381          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03382          * of class objects.
03383          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03384          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03385          * <pre>q.m</pre>
03386          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03387          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03388          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03389          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03390          * <pre>m</pre>
03391          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03392          * error on the access to <b>opaque</b> fields declared by this class under any other 
03393          * circumstances.
03394          */
03395         public static class Member extends JsClass.Member
03396         {
03397             public Member(JsObject.Member q, Mid mid) {
03398                 super(q, mid);
03399             }
03400             public Member(Mid mid) {
03401                 super(mid);
03402             }
03403             @Override
03404             /**
03405              * <p>Evaluates the property, represented by the current member instance, of the
03406              * argument object.</p>
03407              * @param o The argument object
03408              * @return The value of the current member based on the object argument.
03409              * @since 1.0
03410              * @javascript Re-compilers must convert the instance invocation of this method into
03411              * the JavaScript expression: 
03412              * <pre>o.m</pre>
03413              * where <tt>m</tt> is the identifier name resolved from the current member
03414              * instance of the invocation.
03415              */
03416             public HTMLTableColElement with(ObjectLike o) {
03417                 return new HTMLTableColElement(super.with(o));
03418             }
03419             @Override
03420             /**
03421              * <p>Evaluates a property, represented by the current member instance, of the
03422              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
03423              * @return The value of the current member based on the JavaScript global object.
03424              * @since 1.0
03425              * @javascript Re-compilers must convert the instance invocation of this method into
03426              * the JavaScript expression: 
03427              * <pre>m</pre>
03428              * where <tt>m</tt> is the identifier name resolved from the current member
03429              * instance of the invocation.
03430              */
03431             public HTMLTableColElement with() {
03432                 return with(Js.win());
03433             }
03434 
03435             /**
03436              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03437              * name of this field, qualified by the current member instance of the field, and 
03438              * to access the property of the name on an object.</p>
03439              * @since 1.0
03440              * @javascript Re-compilers must resolve the member of this instance field to the
03441              * identifier of the field name appending to the identifier resolved from its 
03442              * qualifying member with a dot in between.
03443              */
03444             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
03445         }
03446 
03447         /**
03448          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03449          * with the wrapping constructor.</p>
03450          * @param var The argument of an <b>opaque</b> object.
03451          * @since 1.0
03452          * @javascript Re-compilers must ignore the construction operation of this constructor,
03453          * that is, replacing it with its only argument.
03454          */
03455         public HTMLTableColElement(JsObject var) {
03456             super(var(var, (JsFunction<?>)null));
03457         }
03458 
03459         /**
03460          * <p>An <b>opaque</b> static field defining a member that is named by the field name
03461          * without a qualifying member and to access the property of the name on an object.</p>
03462          * @since 1.0
03463          * @javascript Re-compilers must resolve the member of this static field to the
03464          * identifier of the field name.
03465          */
03466         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
03467 
03468         /**
03469          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
03470          * class of JavaScript.</p>
03471          *
03472          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03473          * 
03474          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03475          * generated into the target codes. Re-compilers must exit with error on the operations of
03476          * accessing that kind of class objects.
03477          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03478          * and <tt>instanceof</tt> to it always <tt>true</tt>.
03479          */
03480         public static class Prototype extends JsHTMLElement
03481         {
03482             /**
03483              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03484              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03485              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03486              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03487              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03488              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03489              * either circumstance, the field names must be exactly same as the member names, as 
03490              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03491              * based on the field names.</p>
03492              *
03493              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03494              * 
03495              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03496              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03497              * of class objects.
03498              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03499              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03500              * <pre>q.m</pre>
03501              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03502              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03503              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03504              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03505              * <pre>m</pre>
03506              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03507              * error on the access to <b>opaque</b> fields declared by this class under any other 
03508              * circumstances.
03509              */
03510             public static class Member extends JsHTMLElement.Member
03511             {
03512                 /**
03513                  * <p>Internally constructs a member based on a qualifying member.</p>
03514                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03515                  * or <b>internal</b> classes or class members.</p>
03516                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03517                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
03518                  * declared in the declaring class of this constructor itself or its subclasses. 
03519                  * Under this circumstance, the field names must be exactly same as the member 
03520                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
03521                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
03522                  * to their names appending to the name resolved from the specified qualifying 
03523                  * member with a dot in between.</p>
03524                  * @param q A qualifying member
03525                  * @param mid The ID of the member to construct
03526                  * @since 1.0
03527                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03528                  */
03529                 public Member(JsObject.Member q, Mid mid) {
03530                     super(q, mid);
03531                 }
03532                 /**
03533                  * <p>Internally constructs a member without a qualifying member.</p>
03534                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03535                  * or <b>internal</b> classes or class members.</p>
03536                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03537                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
03538                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
03539                  * itself and its subclasses. Under this circumstance, the field names must be
03540                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
03541                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
03542                  * @param mid The ID of the member to construct
03543                  * @since 1.0
03544                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03545                  */
03546                 public Member(Mid mid) {
03547                     super(mid);
03548                 }
03549                 @Override
03550                 /**
03551                  * <p>Evaluates the property, represented by the current member instance, of the
03552                  * argument object.</p>
03553                  * @param o The argument object
03554                  * @return The value of the current member based on the object argument.
03555                  * @since 1.0
03556                  * @javascript Re-compilers must convert the instance invocation of this method into
03557                  * the JavaScript expression: 
03558                  * <pre>o.m</pre>
03559                  * where <tt>m</tt> is the identifier name resolved from the current member
03560                  * instance of the invocation.
03561                  */
03562                 public Prototype with(ObjectLike o) {
03563                     return new Prototype(super.with(o));
03564                 }
03565 
03566                 /**
03567                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03568                  * name of this field, qualified by the current member instance of the field, and 
03569                  * to access the property of the name on an object.</p>
03570                  * @since 1.0
03571                  * @see JsHTMLTableColElement#valueOf()
03572                  * @javascript Re-compilers must resolve the member of this instance field to the
03573                  * identifier of the field name appending to the identifier resolved from its 
03574                  * qualifying member with a dot in between.
03575                  */
03576                 public final JsFunction.Member<JsHTMLTableColElement> valueOf = new JsFunction.Member<JsHTMLTableColElement>(this, Members.valueOf);
03577             }
03578 
03579             /**
03580              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03581              * with the wrapping constructor.</p>
03582              * @param var The argument of an <b>opaque</b> object.
03583              * @since 1.0
03584              * @javascript Re-compilers must ignore the construction operation of this constructor,
03585              * that is, replacing it with its only argument.
03586              */
03587             public Prototype(JsObject var) {
03588                 super(var(var, (JsFunction<?>)null));
03589             }
03590 
03591             /**
03592              * <p>An <b>opaque</b> static field defining a member that is named by the field name
03593              * without a qualifying member and to access the property of the name on an object.</p>
03594              * @since 1.0
03595              * @see JsHTMLTableColElement#valueOf()
03596              * @javascript Re-compilers must resolve the member of this static field to the
03597              * identifier of the field name.
03598              */
03599             public static final JsFunction.Member<JsHTMLTableColElement> valueOf = new JsFunction.Member<JsHTMLTableColElement>(Members.valueOf);
03600         }
03601     }
03602 
03603     /**
03604      * <p>An <b>opaque</b> class representing the global <tt>HTMLModElement</tt> class of JavaScript.</p>
03605      *
03606      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03607      * 
03608      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03609      * generated into the target codes. Re-compilers must exit with error on the operations of
03610      * accessing that kind of class objects.
03611      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03612      * and <tt>instanceof</tt> to it always <tt>true</tt>.
03613      */
03614     public class HTMLModElement extends JsClass
03615     {
03616         /**
03617          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03618          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03619          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03620          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03621          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03622          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03623          * either circumstance, the field names must be exactly same as the member names, as 
03624          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03625          * based on the field names.</p>
03626          *
03627          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03628          * 
03629          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03630          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03631          * of class objects.
03632          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03633          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03634          * <pre>q.m</pre>
03635          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03636          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03637          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03638          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03639          * <pre>m</pre>
03640          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03641          * error on the access to <b>opaque</b> fields declared by this class under any other 
03642          * circumstances.
03643          */
03644         public static class Member extends JsClass.Member
03645         {
03646             public Member(JsObject.Member q, Mid mid) {
03647                 super(q, mid);
03648             }
03649             public Member(Mid mid) {
03650                 super(mid);
03651             }
03652             @Override
03653             /**
03654              * <p>Evaluates the property, represented by the current member instance, of the
03655              * argument object.</p>
03656              * @param o The argument object
03657              * @return The value of the current member based on the object argument.
03658              * @since 1.0
03659              * @javascript Re-compilers must convert the instance invocation of this method into
03660              * the JavaScript expression: 
03661              * <pre>o.m</pre>
03662              * where <tt>m</tt> is the identifier name resolved from the current member
03663              * instance of the invocation.
03664              */
03665             public HTMLModElement with(ObjectLike o) {
03666                 return new HTMLModElement(super.with(o));
03667             }
03668             @Override
03669             /**
03670              * <p>Evaluates a property, represented by the current member instance, of the
03671              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
03672              * @return The value of the current member based on the JavaScript global object.
03673              * @since 1.0
03674              * @javascript Re-compilers must convert the instance invocation of this method into
03675              * the JavaScript expression: 
03676              * <pre>m</pre>
03677              * where <tt>m</tt> is the identifier name resolved from the current member
03678              * instance of the invocation.
03679              */
03680             public HTMLModElement with() {
03681                 return with(Js.win());
03682             }
03683 
03684             /**
03685              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03686              * name of this field, qualified by the current member instance of the field, and 
03687              * to access the property of the name on an object.</p>
03688              * @since 1.0
03689              * @javascript Re-compilers must resolve the member of this instance field to the
03690              * identifier of the field name appending to the identifier resolved from its 
03691              * qualifying member with a dot in between.
03692              */
03693             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
03694         }
03695 
03696         /**
03697          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03698          * with the wrapping constructor.</p>
03699          * @param var The argument of an <b>opaque</b> object.
03700          * @since 1.0
03701          * @javascript Re-compilers must ignore the construction operation of this constructor,
03702          * that is, replacing it with its only argument.
03703          */
03704         public HTMLModElement(JsObject var) {
03705             super(var(var, (JsFunction<?>)null));
03706         }
03707 
03708         /**
03709          * <p>An <b>opaque</b> static field defining a member that is named by the field name
03710          * without a qualifying member and to access the property of the name on an object.</p>
03711          * @since 1.0
03712          * @javascript Re-compilers must resolve the member of this static field to the
03713          * identifier of the field name.
03714          */
03715         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
03716 
03717         /**
03718          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
03719          * class of JavaScript.</p>
03720          *
03721          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03722          * 
03723          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03724          * generated into the target codes. Re-compilers must exit with error on the operations of
03725          * accessing that kind of class objects.
03726          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03727          * and <tt>instanceof</tt> to it always <tt>true</tt>.
03728          */
03729         public static class Prototype extends JsHTMLElement
03730         {
03731             /**
03732              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03733              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03734              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03735              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03736              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03737              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03738              * either circumstance, the field names must be exactly same as the member names, as 
03739              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03740              * based on the field names.</p>
03741              *
03742              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03743              * 
03744              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03745              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03746              * of class objects.
03747              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03748              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03749              * <pre>q.m</pre>
03750              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03751              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03752              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03753              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03754              * <pre>m</pre>
03755              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03756              * error on the access to <b>opaque</b> fields declared by this class under any other 
03757              * circumstances.
03758              */
03759             public static class Member extends JsHTMLElement.Member
03760             {
03761                 /**
03762                  * <p>Internally constructs a member based on a qualifying member.</p>
03763                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03764                  * or <b>internal</b> classes or class members.</p>
03765                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03766                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
03767                  * declared in the declaring class of this constructor itself or its subclasses. 
03768                  * Under this circumstance, the field names must be exactly same as the member 
03769                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
03770                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
03771                  * to their names appending to the name resolved from the specified qualifying 
03772                  * member with a dot in between.</p>
03773                  * @param q A qualifying member
03774                  * @param mid The ID of the member to construct
03775                  * @since 1.0
03776                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03777                  */
03778                 public Member(JsObject.Member q, Mid mid) {
03779                     super(q, mid);
03780                 }
03781                 /**
03782                  * <p>Internally constructs a member without a qualifying member.</p>
03783                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
03784                  * or <b>internal</b> classes or class members.</p>
03785                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
03786                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
03787                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
03788                  * itself and its subclasses. Under this circumstance, the field names must be
03789                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
03790                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
03791                  * @param mid The ID of the member to construct
03792                  * @since 1.0
03793                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
03794                  */
03795                 public Member(Mid mid) {
03796                     super(mid);
03797                 }
03798                 @Override
03799                 /**
03800                  * <p>Evaluates the property, represented by the current member instance, of the
03801                  * argument object.</p>
03802                  * @param o The argument object
03803                  * @return The value of the current member based on the object argument.
03804                  * @since 1.0
03805                  * @javascript Re-compilers must convert the instance invocation of this method into
03806                  * the JavaScript expression: 
03807                  * <pre>o.m</pre>
03808                  * where <tt>m</tt> is the identifier name resolved from the current member
03809                  * instance of the invocation.
03810                  */
03811                 public Prototype with(ObjectLike o) {
03812                     return new Prototype(super.with(o));
03813                 }
03814 
03815                 /**
03816                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03817                  * name of this field, qualified by the current member instance of the field, and 
03818                  * to access the property of the name on an object.</p>
03819                  * @since 1.0
03820                  * @see JsHTMLModElement#valueOf()
03821                  * @javascript Re-compilers must resolve the member of this instance field to the
03822                  * identifier of the field name appending to the identifier resolved from its 
03823                  * qualifying member with a dot in between.
03824                  */
03825                 public final JsFunction.Member<JsHTMLModElement> valueOf = new JsFunction.Member<JsHTMLModElement>(this, Members.valueOf);
03826             }
03827 
03828             /**
03829              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03830              * with the wrapping constructor.</p>
03831              * @param var The argument of an <b>opaque</b> object.
03832              * @since 1.0
03833              * @javascript Re-compilers must ignore the construction operation of this constructor,
03834              * that is, replacing it with its only argument.
03835              */
03836             public Prototype(JsObject var) {
03837                 super(var(var, (JsFunction<?>)null));
03838             }
03839 
03840             /**
03841              * <p>An <b>opaque</b> static field defining a member that is named by the field name
03842              * without a qualifying member and to access the property of the name on an object.</p>
03843              * @since 1.0
03844              * @see JsHTMLModElement#valueOf()
03845              * @javascript Re-compilers must resolve the member of this static field to the
03846              * identifier of the field name.
03847              */
03848             public static final JsFunction.Member<JsHTMLModElement> valueOf = new JsFunction.Member<JsHTMLModElement>(Members.valueOf);
03849         }
03850     }
03851 
03852     /**
03853      * <p>An <b>opaque</b> class representing the global <tt>HTMLDirectoryElement</tt> class of JavaScript.</p>
03854      *
03855      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03856      * 
03857      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03858      * generated into the target codes. Re-compilers must exit with error on the operations of
03859      * accessing that kind of class objects.
03860      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03861      * and <tt>instanceof</tt> to it always <tt>true</tt>.
03862      */
03863     public class HTMLDirectoryElement extends JsClass
03864     {
03865         /**
03866          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03867          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03868          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03869          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03870          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03871          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03872          * either circumstance, the field names must be exactly same as the member names, as 
03873          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03874          * based on the field names.</p>
03875          *
03876          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03877          * 
03878          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03879          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03880          * of class objects.
03881          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03882          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03883          * <pre>q.m</pre>
03884          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
03885          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
03886          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
03887          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
03888          * <pre>m</pre>
03889          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
03890          * error on the access to <b>opaque</b> fields declared by this class under any other 
03891          * circumstances.
03892          */
03893         public static class Member extends JsClass.Member
03894         {
03895             public Member(JsObject.Member q, Mid mid) {
03896                 super(q, mid);
03897             }
03898             public Member(Mid mid) {
03899                 super(mid);
03900             }
03901             @Override
03902             /**
03903              * <p>Evaluates the property, represented by the current member instance, of the
03904              * argument object.</p>
03905              * @param o The argument object
03906              * @return The value of the current member based on the object argument.
03907              * @since 1.0
03908              * @javascript Re-compilers must convert the instance invocation of this method into
03909              * the JavaScript expression: 
03910              * <pre>o.m</pre>
03911              * where <tt>m</tt> is the identifier name resolved from the current member
03912              * instance of the invocation.
03913              */
03914             public HTMLDirectoryElement with(ObjectLike o) {
03915                 return new HTMLDirectoryElement(super.with(o));
03916             }
03917             @Override
03918             /**
03919              * <p>Evaluates a property, represented by the current member instance, of the
03920              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
03921              * @return The value of the current member based on the JavaScript global object.
03922              * @since 1.0
03923              * @javascript Re-compilers must convert the instance invocation of this method into
03924              * the JavaScript expression: 
03925              * <pre>m</pre>
03926              * where <tt>m</tt> is the identifier name resolved from the current member
03927              * instance of the invocation.
03928              */
03929             public HTMLDirectoryElement with() {
03930                 return with(Js.win());
03931             }
03932 
03933             /**
03934              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
03935              * name of this field, qualified by the current member instance of the field, and 
03936              * to access the property of the name on an object.</p>
03937              * @since 1.0
03938              * @javascript Re-compilers must resolve the member of this instance field to the
03939              * identifier of the field name appending to the identifier resolved from its 
03940              * qualifying member with a dot in between.
03941              */
03942             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
03943         }
03944 
03945         /**
03946          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
03947          * with the wrapping constructor.</p>
03948          * @param var The argument of an <b>opaque</b> object.
03949          * @since 1.0
03950          * @javascript Re-compilers must ignore the construction operation of this constructor,
03951          * that is, replacing it with its only argument.
03952          */
03953         public HTMLDirectoryElement(JsObject var) {
03954             super(var(var, (JsFunction<?>)null));
03955         }
03956 
03957         /**
03958          * <p>An <b>opaque</b> static field defining a member that is named by the field name
03959          * without a qualifying member and to access the property of the name on an object.</p>
03960          * @since 1.0
03961          * @javascript Re-compilers must resolve the member of this static field to the
03962          * identifier of the field name.
03963          */
03964         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
03965 
03966         /**
03967          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
03968          * class of JavaScript.</p>
03969          *
03970          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03971          * 
03972          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
03973          * generated into the target codes. Re-compilers must exit with error on the operations of
03974          * accessing that kind of class objects.
03975          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
03976          * and <tt>instanceof</tt> to it always <tt>true</tt>.
03977          */
03978         public static class Prototype extends JsHTMLElement
03979         {
03980             /**
03981              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
03982              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
03983              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
03984              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
03985              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
03986              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
03987              * either circumstance, the field names must be exactly same as the member names, as 
03988              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
03989              * based on the field names.</p>
03990              *
03991              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
03992              * 
03993              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
03994              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
03995              * of class objects.
03996              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
03997              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
03998              * <pre>q.m</pre>
03999              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04000              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04001              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04002              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04003              * <pre>m</pre>
04004              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04005              * error on the access to <b>opaque</b> fields declared by this class under any other 
04006              * circumstances.
04007              */
04008             public static class Member extends JsHTMLElement.Member
04009             {
04010                 /**
04011                  * <p>Internally constructs a member based on a qualifying member.</p>
04012                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04013                  * or <b>internal</b> classes or class members.</p>
04014                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04015                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
04016                  * declared in the declaring class of this constructor itself or its subclasses. 
04017                  * Under this circumstance, the field names must be exactly same as the member 
04018                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
04019                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
04020                  * to their names appending to the name resolved from the specified qualifying 
04021                  * member with a dot in between.</p>
04022                  * @param q A qualifying member
04023                  * @param mid The ID of the member to construct
04024                  * @since 1.0
04025                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04026                  */
04027                 public Member(JsObject.Member q, Mid mid) {
04028                     super(q, mid);
04029                 }
04030                 /**
04031                  * <p>Internally constructs a member without a qualifying member.</p>
04032                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04033                  * or <b>internal</b> classes or class members.</p>
04034                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04035                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
04036                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
04037                  * itself and its subclasses. Under this circumstance, the field names must be
04038                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
04039                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
04040                  * @param mid The ID of the member to construct
04041                  * @since 1.0
04042                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04043                  */
04044                 public Member(Mid mid) {
04045                     super(mid);
04046                 }
04047                 @Override
04048                 /**
04049                  * <p>Evaluates the property, represented by the current member instance, of the
04050                  * argument object.</p>
04051                  * @param o The argument object
04052                  * @return The value of the current member based on the object argument.
04053                  * @since 1.0
04054                  * @javascript Re-compilers must convert the instance invocation of this method into
04055                  * the JavaScript expression: 
04056                  * <pre>o.m</pre>
04057                  * where <tt>m</tt> is the identifier name resolved from the current member
04058                  * instance of the invocation.
04059                  */
04060                 public Prototype with(ObjectLike o) {
04061                     return new Prototype(super.with(o));
04062                 }
04063 
04064                 /**
04065                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04066                  * name of this field, qualified by the current member instance of the field, and 
04067                  * to access the property of the name on an object.</p>
04068                  * @since 1.0
04069                  * @see JsHTMLDirectoryElement#valueOf()
04070                  * @javascript Re-compilers must resolve the member of this instance field to the
04071                  * identifier of the field name appending to the identifier resolved from its 
04072                  * qualifying member with a dot in between.
04073                  */
04074                 public final JsFunction.Member<JsHTMLDirectoryElement> valueOf = new JsFunction.Member<JsHTMLDirectoryElement>(this, Members.valueOf);
04075             }
04076 
04077             /**
04078              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04079              * with the wrapping constructor.</p>
04080              * @param var The argument of an <b>opaque</b> object.
04081              * @since 1.0
04082              * @javascript Re-compilers must ignore the construction operation of this constructor,
04083              * that is, replacing it with its only argument.
04084              */
04085             public Prototype(JsObject var) {
04086                 super(var(var, (JsFunction<?>)null));
04087             }
04088 
04089             /**
04090              * <p>An <b>opaque</b> static field defining a member that is named by the field name
04091              * without a qualifying member and to access the property of the name on an object.</p>
04092              * @since 1.0
04093              * @see JsHTMLDirectoryElement#valueOf()
04094              * @javascript Re-compilers must resolve the member of this static field to the
04095              * identifier of the field name.
04096              */
04097             public static final JsFunction.Member<JsHTMLDirectoryElement> valueOf = new JsFunction.Member<JsHTMLDirectoryElement>(Members.valueOf);
04098         }
04099     }
04100 
04101     /**
04102      * <p>An <b>opaque</b> class representing the global <tt>HTMLDivElement</tt> class of JavaScript.</p>
04103      *
04104      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04105      * 
04106      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04107      * generated into the target codes. Re-compilers must exit with error on the operations of
04108      * accessing that kind of class objects.
04109      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04110      * and <tt>instanceof</tt> to it always <tt>true</tt>.
04111      */
04112     public class HTMLDivElement extends JsClass
04113     {
04114         /**
04115          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04116          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04117          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04118          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04119          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04120          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04121          * either circumstance, the field names must be exactly same as the member names, as 
04122          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04123          * based on the field names.</p>
04124          *
04125          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04126          * 
04127          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04128          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04129          * of class objects.
04130          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04131          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04132          * <pre>q.m</pre>
04133          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04134          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04135          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04136          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04137          * <pre>m</pre>
04138          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04139          * error on the access to <b>opaque</b> fields declared by this class under any other 
04140          * circumstances.
04141          */
04142         public static class Member extends JsClass.Member
04143         {
04144             public Member(JsObject.Member q, Mid mid) {
04145                 super(q, mid);
04146             }
04147             public Member(Mid mid) {
04148                 super(mid);
04149             }
04150             @Override
04151             /**
04152              * <p>Evaluates the property, represented by the current member instance, of the
04153              * argument object.</p>
04154              * @param o The argument object
04155              * @return The value of the current member based on the object argument.
04156              * @since 1.0
04157              * @javascript Re-compilers must convert the instance invocation of this method into
04158              * the JavaScript expression: 
04159              * <pre>o.m</pre>
04160              * where <tt>m</tt> is the identifier name resolved from the current member
04161              * instance of the invocation.
04162              */
04163             public HTMLDivElement with(ObjectLike o) {
04164                 return new HTMLDivElement(super.with(o));
04165             }
04166             @Override
04167             /**
04168              * <p>Evaluates a property, represented by the current member instance, of the
04169              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
04170              * @return The value of the current member based on the JavaScript global object.
04171              * @since 1.0
04172              * @javascript Re-compilers must convert the instance invocation of this method into
04173              * the JavaScript expression: 
04174              * <pre>m</pre>
04175              * where <tt>m</tt> is the identifier name resolved from the current member
04176              * instance of the invocation.
04177              */
04178             public HTMLDivElement with() {
04179                 return with(Js.win());
04180             }
04181 
04182             /**
04183              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04184              * name of this field, qualified by the current member instance of the field, and 
04185              * to access the property of the name on an object.</p>
04186              * @since 1.0
04187              * @javascript Re-compilers must resolve the member of this instance field to the
04188              * identifier of the field name appending to the identifier resolved from its 
04189              * qualifying member with a dot in between.
04190              */
04191             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
04192         }
04193 
04194         /**
04195          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04196          * with the wrapping constructor.</p>
04197          * @param var The argument of an <b>opaque</b> object.
04198          * @since 1.0
04199          * @javascript Re-compilers must ignore the construction operation of this constructor,
04200          * that is, replacing it with its only argument.
04201          */
04202         public HTMLDivElement(JsObject var) {
04203             super(var(var, (JsFunction<?>)null));
04204         }
04205 
04206         /**
04207          * <p>An <b>opaque</b> static field defining a member that is named by the field name
04208          * without a qualifying member and to access the property of the name on an object.</p>
04209          * @since 1.0
04210          * @javascript Re-compilers must resolve the member of this static field to the
04211          * identifier of the field name.
04212          */
04213         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
04214 
04215         /**
04216          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
04217          * class of JavaScript.</p>
04218          *
04219          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04220          * 
04221          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04222          * generated into the target codes. Re-compilers must exit with error on the operations of
04223          * accessing that kind of class objects.
04224          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04225          * and <tt>instanceof</tt> to it always <tt>true</tt>.
04226          */
04227         public static class Prototype extends JsHTMLElement
04228         {
04229             /**
04230              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04231              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04232              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04233              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04234              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04235              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04236              * either circumstance, the field names must be exactly same as the member names, as 
04237              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04238              * based on the field names.</p>
04239              *
04240              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04241              * 
04242              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04243              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04244              * of class objects.
04245              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04246              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04247              * <pre>q.m</pre>
04248              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04249              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04250              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04251              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04252              * <pre>m</pre>
04253              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04254              * error on the access to <b>opaque</b> fields declared by this class under any other 
04255              * circumstances.
04256              */
04257             public static class Member extends JsHTMLElement.Member
04258             {
04259                 /**
04260                  * <p>Internally constructs a member based on a qualifying member.</p>
04261                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04262                  * or <b>internal</b> classes or class members.</p>
04263                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04264                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
04265                  * declared in the declaring class of this constructor itself or its subclasses. 
04266                  * Under this circumstance, the field names must be exactly same as the member 
04267                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
04268                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
04269                  * to their names appending to the name resolved from the specified qualifying 
04270                  * member with a dot in between.</p>
04271                  * @param q A qualifying member
04272                  * @param mid The ID of the member to construct
04273                  * @since 1.0
04274                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04275                  */
04276                 public Member(JsObject.Member q, Mid mid) {
04277                     super(q, mid);
04278                 }
04279                 /**
04280                  * <p>Internally constructs a member without a qualifying member.</p>
04281                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04282                  * or <b>internal</b> classes or class members.</p>
04283                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04284                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
04285                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
04286                  * itself and its subclasses. Under this circumstance, the field names must be
04287                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
04288                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
04289                  * @param mid The ID of the member to construct
04290                  * @since 1.0
04291                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04292                  */
04293                 public Member(Mid mid) {
04294                     super(mid);
04295                 }
04296                 @Override
04297                 /**
04298                  * <p>Evaluates the property, represented by the current member instance, of the
04299                  * argument object.</p>
04300                  * @param o The argument object
04301                  * @return The value of the current member based on the object argument.
04302                  * @since 1.0
04303                  * @javascript Re-compilers must convert the instance invocation of this method into
04304                  * the JavaScript expression: 
04305                  * <pre>o.m</pre>
04306                  * where <tt>m</tt> is the identifier name resolved from the current member
04307                  * instance of the invocation.
04308                  */
04309                 public Prototype with(ObjectLike o) {
04310                     return new Prototype(super.with(o));
04311                 }
04312 
04313                 /**
04314                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04315                  * name of this field, qualified by the current member instance of the field, and 
04316                  * to access the property of the name on an object.</p>
04317                  * @since 1.0
04318                  * @see JsHTMLDivElement#valueOf()
04319                  * @javascript Re-compilers must resolve the member of this instance field to the
04320                  * identifier of the field name appending to the identifier resolved from its 
04321                  * qualifying member with a dot in between.
04322                  */
04323                 public final JsFunction.Member<JsHTMLDivElement> valueOf = new JsFunction.Member<JsHTMLDivElement>(this, Members.valueOf);
04324             }
04325 
04326             /**
04327              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04328              * with the wrapping constructor.</p>
04329              * @param var The argument of an <b>opaque</b> object.
04330              * @since 1.0
04331              * @javascript Re-compilers must ignore the construction operation of this constructor,
04332              * that is, replacing it with its only argument.
04333              */
04334             public Prototype(JsObject var) {
04335                 super(var(var, (JsFunction<?>)null));
04336             }
04337 
04338             /**
04339              * <p>An <b>opaque</b> static field defining a member that is named by the field name
04340              * without a qualifying member and to access the property of the name on an object.</p>
04341              * @since 1.0
04342              * @see JsHTMLDivElement#valueOf()
04343              * @javascript Re-compilers must resolve the member of this static field to the
04344              * identifier of the field name.
04345              */
04346             public static final JsFunction.Member<JsHTMLDivElement> valueOf = new JsFunction.Member<JsHTMLDivElement>(Members.valueOf);
04347         }
04348     }
04349 
04350     /**
04351      * <p>An <b>opaque</b> class representing the global <tt>HTMLDListElement</tt> class of JavaScript.</p>
04352      *
04353      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04354      * 
04355      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04356      * generated into the target codes. Re-compilers must exit with error on the operations of
04357      * accessing that kind of class objects.
04358      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04359      * and <tt>instanceof</tt> to it always <tt>true</tt>.
04360      */
04361     public class HTMLDListElement extends JsClass
04362     {
04363         /**
04364          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04365          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04366          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04367          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04368          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04369          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04370          * either circumstance, the field names must be exactly same as the member names, as 
04371          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04372          * based on the field names.</p>
04373          *
04374          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04375          * 
04376          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04377          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04378          * of class objects.
04379          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04380          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04381          * <pre>q.m</pre>
04382          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04383          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04384          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04385          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04386          * <pre>m</pre>
04387          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04388          * error on the access to <b>opaque</b> fields declared by this class under any other 
04389          * circumstances.
04390          */
04391         public static class Member extends JsClass.Member
04392         {
04393             public Member(JsObject.Member q, Mid mid) {
04394                 super(q, mid);
04395             }
04396             public Member(Mid mid) {
04397                 super(mid);
04398             }
04399             @Override
04400             /**
04401              * <p>Evaluates the property, represented by the current member instance, of the
04402              * argument object.</p>
04403              * @param o The argument object
04404              * @return The value of the current member based on the object argument.
04405              * @since 1.0
04406              * @javascript Re-compilers must convert the instance invocation of this method into
04407              * the JavaScript expression: 
04408              * <pre>o.m</pre>
04409              * where <tt>m</tt> is the identifier name resolved from the current member
04410              * instance of the invocation.
04411              */
04412             public HTMLDListElement with(ObjectLike o) {
04413                 return new HTMLDListElement(super.with(o));
04414             }
04415             @Override
04416             /**
04417              * <p>Evaluates a property, represented by the current member instance, of the
04418              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
04419              * @return The value of the current member based on the JavaScript global object.
04420              * @since 1.0
04421              * @javascript Re-compilers must convert the instance invocation of this method into
04422              * the JavaScript expression: 
04423              * <pre>m</pre>
04424              * where <tt>m</tt> is the identifier name resolved from the current member
04425              * instance of the invocation.
04426              */
04427             public HTMLDListElement with() {
04428                 return with(Js.win());
04429             }
04430 
04431             /**
04432              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04433              * name of this field, qualified by the current member instance of the field, and 
04434              * to access the property of the name on an object.</p>
04435              * @since 1.0
04436              * @javascript Re-compilers must resolve the member of this instance field to the
04437              * identifier of the field name appending to the identifier resolved from its 
04438              * qualifying member with a dot in between.
04439              */
04440             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
04441         }
04442 
04443         /**
04444          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04445          * with the wrapping constructor.</p>
04446          * @param var The argument of an <b>opaque</b> object.
04447          * @since 1.0
04448          * @javascript Re-compilers must ignore the construction operation of this constructor,
04449          * that is, replacing it with its only argument.
04450          */
04451         public HTMLDListElement(JsObject var) {
04452             super(var(var, (JsFunction<?>)null));
04453         }
04454 
04455         /**
04456          * <p>An <b>opaque</b> static field defining a member that is named by the field name
04457          * without a qualifying member and to access the property of the name on an object.</p>
04458          * @since 1.0
04459          * @javascript Re-compilers must resolve the member of this static field to the
04460          * identifier of the field name.
04461          */
04462         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
04463 
04464         /**
04465          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
04466          * class of JavaScript.</p>
04467          *
04468          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04469          * 
04470          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04471          * generated into the target codes. Re-compilers must exit with error on the operations of
04472          * accessing that kind of class objects.
04473          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04474          * and <tt>instanceof</tt> to it always <tt>true</tt>.
04475          */
04476         public static class Prototype extends JsHTMLElement
04477         {
04478             /**
04479              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04480              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04481              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04482              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04483              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04484              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04485              * either circumstance, the field names must be exactly same as the member names, as 
04486              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04487              * based on the field names.</p>
04488              *
04489              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04490              * 
04491              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04492              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04493              * of class objects.
04494              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04495              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04496              * <pre>q.m</pre>
04497              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04498              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04499              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04500              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04501              * <pre>m</pre>
04502              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04503              * error on the access to <b>opaque</b> fields declared by this class under any other 
04504              * circumstances.
04505              */
04506             public static class Member extends JsHTMLElement.Member
04507             {
04508                 /**
04509                  * <p>Internally constructs a member based on a qualifying member.</p>
04510                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04511                  * or <b>internal</b> classes or class members.</p>
04512                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04513                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
04514                  * declared in the declaring class of this constructor itself or its subclasses. 
04515                  * Under this circumstance, the field names must be exactly same as the member 
04516                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
04517                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
04518                  * to their names appending to the name resolved from the specified qualifying 
04519                  * member with a dot in between.</p>
04520                  * @param q A qualifying member
04521                  * @param mid The ID of the member to construct
04522                  * @since 1.0
04523                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04524                  */
04525                 public Member(JsObject.Member q, Mid mid) {
04526                     super(q, mid);
04527                 }
04528                 /**
04529                  * <p>Internally constructs a member without a qualifying member.</p>
04530                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04531                  * or <b>internal</b> classes or class members.</p>
04532                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04533                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
04534                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
04535                  * itself and its subclasses. Under this circumstance, the field names must be
04536                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
04537                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
04538                  * @param mid The ID of the member to construct
04539                  * @since 1.0
04540                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04541                  */
04542                 public Member(Mid mid) {
04543                     super(mid);
04544                 }
04545                 @Override
04546                 /**
04547                  * <p>Evaluates the property, represented by the current member instance, of the
04548                  * argument object.</p>
04549                  * @param o The argument object
04550                  * @return The value of the current member based on the object argument.
04551                  * @since 1.0
04552                  * @javascript Re-compilers must convert the instance invocation of this method into
04553                  * the JavaScript expression: 
04554                  * <pre>o.m</pre>
04555                  * where <tt>m</tt> is the identifier name resolved from the current member
04556                  * instance of the invocation.
04557                  */
04558                 public Prototype with(ObjectLike o) {
04559                     return new Prototype(super.with(o));
04560                 }
04561 
04562                 /**
04563                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04564                  * name of this field, qualified by the current member instance of the field, and 
04565                  * to access the property of the name on an object.</p>
04566                  * @since 1.0
04567                  * @see JsHTMLDListElement#valueOf()
04568                  * @javascript Re-compilers must resolve the member of this instance field to the
04569                  * identifier of the field name appending to the identifier resolved from its 
04570                  * qualifying member with a dot in between.
04571                  */
04572                 public final JsFunction.Member<JsHTMLDListElement> valueOf = new JsFunction.Member<JsHTMLDListElement>(this, Members.valueOf);
04573             }
04574 
04575             /**
04576              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04577              * with the wrapping constructor.</p>
04578              * @param var The argument of an <b>opaque</b> object.
04579              * @since 1.0
04580              * @javascript Re-compilers must ignore the construction operation of this constructor,
04581              * that is, replacing it with its only argument.
04582              */
04583             public Prototype(JsObject var) {
04584                 super(var(var, (JsFunction<?>)null));
04585             }
04586 
04587             /**
04588              * <p>An <b>opaque</b> static field defining a member that is named by the field name
04589              * without a qualifying member and to access the property of the name on an object.</p>
04590              * @since 1.0
04591              * @see JsHTMLDListElement#valueOf()
04592              * @javascript Re-compilers must resolve the member of this static field to the
04593              * identifier of the field name.
04594              */
04595             public static final JsFunction.Member<JsHTMLDListElement> valueOf = new JsFunction.Member<JsHTMLDListElement>(Members.valueOf);
04596         }
04597     }
04598 
04599     /**
04600      * <p>An <b>opaque</b> class representing the global <tt>HTMLFieldSetElement</tt> class of JavaScript.</p>
04601      *
04602      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04603      * 
04604      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04605      * generated into the target codes. Re-compilers must exit with error on the operations of
04606      * accessing that kind of class objects.
04607      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04608      * and <tt>instanceof</tt> to it always <tt>true</tt>.
04609      */
04610     public class HTMLFieldSetElement extends JsClass
04611     {
04612         /**
04613          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04614          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04615          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04616          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04617          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04618          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04619          * either circumstance, the field names must be exactly same as the member names, as 
04620          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04621          * based on the field names.</p>
04622          *
04623          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04624          * 
04625          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04626          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04627          * of class objects.
04628          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04629          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04630          * <pre>q.m</pre>
04631          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04632          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04633          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04634          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04635          * <pre>m</pre>
04636          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04637          * error on the access to <b>opaque</b> fields declared by this class under any other 
04638          * circumstances.
04639          */
04640         public static class Member extends JsClass.Member
04641         {
04642             public Member(JsObject.Member q, Mid mid) {
04643                 super(q, mid);
04644             }
04645             public Member(Mid mid) {
04646                 super(mid);
04647             }
04648             @Override
04649             /**
04650              * <p>Evaluates the property, represented by the current member instance, of the
04651              * argument object.</p>
04652              * @param o The argument object
04653              * @return The value of the current member based on the object argument.
04654              * @since 1.0
04655              * @javascript Re-compilers must convert the instance invocation of this method into
04656              * the JavaScript expression: 
04657              * <pre>o.m</pre>
04658              * where <tt>m</tt> is the identifier name resolved from the current member
04659              * instance of the invocation.
04660              */
04661             public HTMLFieldSetElement with(ObjectLike o) {
04662                 return new HTMLFieldSetElement(super.with(o));
04663             }
04664             @Override
04665             /**
04666              * <p>Evaluates a property, represented by the current member instance, of the
04667              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
04668              * @return The value of the current member based on the JavaScript global object.
04669              * @since 1.0
04670              * @javascript Re-compilers must convert the instance invocation of this method into
04671              * the JavaScript expression: 
04672              * <pre>m</pre>
04673              * where <tt>m</tt> is the identifier name resolved from the current member
04674              * instance of the invocation.
04675              */
04676             public HTMLFieldSetElement with() {
04677                 return with(Js.win());
04678             }
04679 
04680             /**
04681              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04682              * name of this field, qualified by the current member instance of the field, and 
04683              * to access the property of the name on an object.</p>
04684              * @since 1.0
04685              * @javascript Re-compilers must resolve the member of this instance field to the
04686              * identifier of the field name appending to the identifier resolved from its 
04687              * qualifying member with a dot in between.
04688              */
04689             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
04690         }
04691 
04692         /**
04693          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04694          * with the wrapping constructor.</p>
04695          * @param var The argument of an <b>opaque</b> object.
04696          * @since 1.0
04697          * @javascript Re-compilers must ignore the construction operation of this constructor,
04698          * that is, replacing it with its only argument.
04699          */
04700         public HTMLFieldSetElement(JsObject var) {
04701             super(var(var, (JsFunction<?>)null));
04702         }
04703 
04704         /**
04705          * <p>An <b>opaque</b> static field defining a member that is named by the field name
04706          * without a qualifying member and to access the property of the name on an object.</p>
04707          * @since 1.0
04708          * @javascript Re-compilers must resolve the member of this static field to the
04709          * identifier of the field name.
04710          */
04711         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
04712 
04713         /**
04714          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
04715          * class of JavaScript.</p>
04716          *
04717          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04718          * 
04719          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04720          * generated into the target codes. Re-compilers must exit with error on the operations of
04721          * accessing that kind of class objects.
04722          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04723          * and <tt>instanceof</tt> to it always <tt>true</tt>.
04724          */
04725         public static class Prototype extends JsHTMLElement
04726         {
04727             /**
04728              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04729              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04730              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04731              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04732              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04733              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04734              * either circumstance, the field names must be exactly same as the member names, as 
04735              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04736              * based on the field names.</p>
04737              *
04738              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04739              * 
04740              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04741              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04742              * of class objects.
04743              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04744              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04745              * <pre>q.m</pre>
04746              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04747              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04748              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04749              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04750              * <pre>m</pre>
04751              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04752              * error on the access to <b>opaque</b> fields declared by this class under any other 
04753              * circumstances.
04754              */
04755             public static class Member extends JsHTMLElement.Member
04756             {
04757                 /**
04758                  * <p>Internally constructs a member based on a qualifying member.</p>
04759                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04760                  * or <b>internal</b> classes or class members.</p>
04761                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04762                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
04763                  * declared in the declaring class of this constructor itself or its subclasses. 
04764                  * Under this circumstance, the field names must be exactly same as the member 
04765                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
04766                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
04767                  * to their names appending to the name resolved from the specified qualifying 
04768                  * member with a dot in between.</p>
04769                  * @param q A qualifying member
04770                  * @param mid The ID of the member to construct
04771                  * @since 1.0
04772                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04773                  */
04774                 public Member(JsObject.Member q, Mid mid) {
04775                     super(q, mid);
04776                 }
04777                 /**
04778                  * <p>Internally constructs a member without a qualifying member.</p>
04779                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
04780                  * or <b>internal</b> classes or class members.</p>
04781                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
04782                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
04783                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
04784                  * itself and its subclasses. Under this circumstance, the field names must be
04785                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
04786                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
04787                  * @param mid The ID of the member to construct
04788                  * @since 1.0
04789                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
04790                  */
04791                 public Member(Mid mid) {
04792                     super(mid);
04793                 }
04794                 @Override
04795                 /**
04796                  * <p>Evaluates the property, represented by the current member instance, of the
04797                  * argument object.</p>
04798                  * @param o The argument object
04799                  * @return The value of the current member based on the object argument.
04800                  * @since 1.0
04801                  * @javascript Re-compilers must convert the instance invocation of this method into
04802                  * the JavaScript expression: 
04803                  * <pre>o.m</pre>
04804                  * where <tt>m</tt> is the identifier name resolved from the current member
04805                  * instance of the invocation.
04806                  */
04807                 public Prototype with(ObjectLike o) {
04808                     return new Prototype(super.with(o));
04809                 }
04810 
04811                 /**
04812                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04813                  * name of this field, qualified by the current member instance of the field, and 
04814                  * to access the property of the name on an object.</p>
04815                  * @since 1.0
04816                  * @see JsHTMLFieldSetElement#valueOf()
04817                  * @javascript Re-compilers must resolve the member of this instance field to the
04818                  * identifier of the field name appending to the identifier resolved from its 
04819                  * qualifying member with a dot in between.
04820                  */
04821                 public final JsFunction.Member<JsHTMLFieldSetElement> valueOf = new JsFunction.Member<JsHTMLFieldSetElement>(this, Members.valueOf);
04822             }
04823 
04824             /**
04825              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04826              * with the wrapping constructor.</p>
04827              * @param var The argument of an <b>opaque</b> object.
04828              * @since 1.0
04829              * @javascript Re-compilers must ignore the construction operation of this constructor,
04830              * that is, replacing it with its only argument.
04831              */
04832             public Prototype(JsObject var) {
04833                 super(var(var, (JsFunction<?>)null));
04834             }
04835 
04836             /**
04837              * <p>An <b>opaque</b> static field defining a member that is named by the field name
04838              * without a qualifying member and to access the property of the name on an object.</p>
04839              * @since 1.0
04840              * @see JsHTMLFieldSetElement#valueOf()
04841              * @javascript Re-compilers must resolve the member of this static field to the
04842              * identifier of the field name.
04843              */
04844             public static final JsFunction.Member<JsHTMLFieldSetElement> valueOf = new JsFunction.Member<JsHTMLFieldSetElement>(Members.valueOf);
04845         }
04846     }
04847 
04848     /**
04849      * <p>An <b>opaque</b> class representing the global <tt>HTMLFontElement</tt> class of JavaScript.</p>
04850      *
04851      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04852      * 
04853      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04854      * generated into the target codes. Re-compilers must exit with error on the operations of
04855      * accessing that kind of class objects.
04856      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04857      * and <tt>instanceof</tt> to it always <tt>true</tt>.
04858      */
04859     public class HTMLFontElement extends JsClass
04860     {
04861         /**
04862          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04863          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04864          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04865          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04866          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04867          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04868          * either circumstance, the field names must be exactly same as the member names, as 
04869          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04870          * based on the field names.</p>
04871          *
04872          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04873          * 
04874          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04875          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04876          * of class objects.
04877          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04878          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04879          * <pre>q.m</pre>
04880          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04881          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04882          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04883          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04884          * <pre>m</pre>
04885          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
04886          * error on the access to <b>opaque</b> fields declared by this class under any other 
04887          * circumstances.
04888          */
04889         public static class Member extends JsClass.Member
04890         {
04891             public Member(JsObject.Member q, Mid mid) {
04892                 super(q, mid);
04893             }
04894             public Member(Mid mid) {
04895                 super(mid);
04896             }
04897             @Override
04898             /**
04899              * <p>Evaluates the property, represented by the current member instance, of the
04900              * argument object.</p>
04901              * @param o The argument object
04902              * @return The value of the current member based on the object argument.
04903              * @since 1.0
04904              * @javascript Re-compilers must convert the instance invocation of this method into
04905              * the JavaScript expression: 
04906              * <pre>o.m</pre>
04907              * where <tt>m</tt> is the identifier name resolved from the current member
04908              * instance of the invocation.
04909              */
04910             public HTMLFontElement with(ObjectLike o) {
04911                 return new HTMLFontElement(super.with(o));
04912             }
04913             @Override
04914             /**
04915              * <p>Evaluates a property, represented by the current member instance, of the
04916              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
04917              * @return The value of the current member based on the JavaScript global object.
04918              * @since 1.0
04919              * @javascript Re-compilers must convert the instance invocation of this method into
04920              * the JavaScript expression: 
04921              * <pre>m</pre>
04922              * where <tt>m</tt> is the identifier name resolved from the current member
04923              * instance of the invocation.
04924              */
04925             public HTMLFontElement with() {
04926                 return with(Js.win());
04927             }
04928 
04929             /**
04930              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
04931              * name of this field, qualified by the current member instance of the field, and 
04932              * to access the property of the name on an object.</p>
04933              * @since 1.0
04934              * @javascript Re-compilers must resolve the member of this instance field to the
04935              * identifier of the field name appending to the identifier resolved from its 
04936              * qualifying member with a dot in between.
04937              */
04938             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
04939         }
04940 
04941         /**
04942          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
04943          * with the wrapping constructor.</p>
04944          * @param var The argument of an <b>opaque</b> object.
04945          * @since 1.0
04946          * @javascript Re-compilers must ignore the construction operation of this constructor,
04947          * that is, replacing it with its only argument.
04948          */
04949         public HTMLFontElement(JsObject var) {
04950             super(var(var, (JsFunction<?>)null));
04951         }
04952 
04953         /**
04954          * <p>An <b>opaque</b> static field defining a member that is named by the field name
04955          * without a qualifying member and to access the property of the name on an object.</p>
04956          * @since 1.0
04957          * @javascript Re-compilers must resolve the member of this static field to the
04958          * identifier of the field name.
04959          */
04960         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
04961 
04962         /**
04963          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
04964          * class of JavaScript.</p>
04965          *
04966          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04967          * 
04968          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
04969          * generated into the target codes. Re-compilers must exit with error on the operations of
04970          * accessing that kind of class objects.
04971          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
04972          * and <tt>instanceof</tt> to it always <tt>true</tt>.
04973          */
04974         public static class Prototype extends JsHTMLElement
04975         {
04976             /**
04977              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
04978              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
04979              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
04980              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
04981              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
04982              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
04983              * either circumstance, the field names must be exactly same as the member names, as 
04984              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
04985              * based on the field names.</p>
04986              *
04987              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
04988              * 
04989              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
04990              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
04991              * of class objects.
04992              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
04993              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
04994              * <pre>q.m</pre>
04995              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
04996              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
04997              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
04998              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
04999              * <pre>m</pre>
05000              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05001              * error on the access to <b>opaque</b> fields declared by this class under any other 
05002              * circumstances.
05003              */
05004             public static class Member extends JsHTMLElement.Member
05005             {
05006                 /**
05007                  * <p>Internally constructs a member based on a qualifying member.</p>
05008                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05009                  * or <b>internal</b> classes or class members.</p>
05010                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05011                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
05012                  * declared in the declaring class of this constructor itself or its subclasses. 
05013                  * Under this circumstance, the field names must be exactly same as the member 
05014                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
05015                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
05016                  * to their names appending to the name resolved from the specified qualifying 
05017                  * member with a dot in between.</p>
05018                  * @param q A qualifying member
05019                  * @param mid The ID of the member to construct
05020                  * @since 1.0
05021                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05022                  */
05023                 public Member(JsObject.Member q, Mid mid) {
05024                     super(q, mid);
05025                 }
05026                 /**
05027                  * <p>Internally constructs a member without a qualifying member.</p>
05028                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05029                  * or <b>internal</b> classes or class members.</p>
05030                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05031                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
05032                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
05033                  * itself and its subclasses. Under this circumstance, the field names must be
05034                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
05035                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
05036                  * @param mid The ID of the member to construct
05037                  * @since 1.0
05038                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05039                  */
05040                 public Member(Mid mid) {
05041                     super(mid);
05042                 }
05043                 @Override
05044                 /**
05045                  * <p>Evaluates the property, represented by the current member instance, of the
05046                  * argument object.</p>
05047                  * @param o The argument object
05048                  * @return The value of the current member based on the object argument.
05049                  * @since 1.0
05050                  * @javascript Re-compilers must convert the instance invocation of this method into
05051                  * the JavaScript expression: 
05052                  * <pre>o.m</pre>
05053                  * where <tt>m</tt> is the identifier name resolved from the current member
05054                  * instance of the invocation.
05055                  */
05056                 public Prototype with(ObjectLike o) {
05057                     return new Prototype(super.with(o));
05058                 }
05059 
05060                 /**
05061                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05062                  * name of this field, qualified by the current member instance of the field, and 
05063                  * to access the property of the name on an object.</p>
05064                  * @since 1.0
05065                  * @see JsHTMLFontElement#valueOf()
05066                  * @javascript Re-compilers must resolve the member of this instance field to the
05067                  * identifier of the field name appending to the identifier resolved from its 
05068                  * qualifying member with a dot in between.
05069                  */
05070                 public final JsFunction.Member<JsHTMLFontElement> valueOf = new JsFunction.Member<JsHTMLFontElement>(this, Members.valueOf);
05071             }
05072 
05073             /**
05074              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05075              * with the wrapping constructor.</p>
05076              * @param var The argument of an <b>opaque</b> object.
05077              * @since 1.0
05078              * @javascript Re-compilers must ignore the construction operation of this constructor,
05079              * that is, replacing it with its only argument.
05080              */
05081             public Prototype(JsObject var) {
05082                 super(var(var, (JsFunction<?>)null));
05083             }
05084 
05085             /**
05086              * <p>An <b>opaque</b> static field defining a member that is named by the field name
05087              * without a qualifying member and to access the property of the name on an object.</p>
05088              * @since 1.0
05089              * @see JsHTMLFontElement#valueOf()
05090              * @javascript Re-compilers must resolve the member of this static field to the
05091              * identifier of the field name.
05092              */
05093             public static final JsFunction.Member<JsHTMLFontElement> valueOf = new JsFunction.Member<JsHTMLFontElement>(Members.valueOf);
05094         }
05095     }
05096 
05097     /**
05098      * <p>An <b>opaque</b> class representing the global <tt>HTMLFrameSetElement</tt> class of JavaScript.</p>
05099      *
05100      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05101      * 
05102      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05103      * generated into the target codes. Re-compilers must exit with error on the operations of
05104      * accessing that kind of class objects.
05105      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05106      * and <tt>instanceof</tt> to it always <tt>true</tt>.
05107      */
05108     public class HTMLFrameSetElement extends JsClass
05109     {
05110         /**
05111          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05112          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05113          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05114          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05115          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05116          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05117          * either circumstance, the field names must be exactly same as the member names, as 
05118          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05119          * based on the field names.</p>
05120          *
05121          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05122          * 
05123          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05124          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05125          * of class objects.
05126          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05127          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05128          * <pre>q.m</pre>
05129          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05130          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05131          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05132          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05133          * <pre>m</pre>
05134          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05135          * error on the access to <b>opaque</b> fields declared by this class under any other 
05136          * circumstances.
05137          */
05138         public static class Member extends JsClass.Member
05139         {
05140             public Member(JsObject.Member q, Mid mid) {
05141                 super(q, mid);
05142             }
05143             public Member(Mid mid) {
05144                 super(mid);
05145             }
05146             @Override
05147             /**
05148              * <p>Evaluates the property, represented by the current member instance, of the
05149              * argument object.</p>
05150              * @param o The argument object
05151              * @return The value of the current member based on the object argument.
05152              * @since 1.0
05153              * @javascript Re-compilers must convert the instance invocation of this method into
05154              * the JavaScript expression: 
05155              * <pre>o.m</pre>
05156              * where <tt>m</tt> is the identifier name resolved from the current member
05157              * instance of the invocation.
05158              */
05159             public HTMLFrameSetElement with(ObjectLike o) {
05160                 return new HTMLFrameSetElement(super.with(o));
05161             }
05162             @Override
05163             /**
05164              * <p>Evaluates a property, represented by the current member instance, of the
05165              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
05166              * @return The value of the current member based on the JavaScript global object.
05167              * @since 1.0
05168              * @javascript Re-compilers must convert the instance invocation of this method into
05169              * the JavaScript expression: 
05170              * <pre>m</pre>
05171              * where <tt>m</tt> is the identifier name resolved from the current member
05172              * instance of the invocation.
05173              */
05174             public HTMLFrameSetElement with() {
05175                 return with(Js.win());
05176             }
05177 
05178             /**
05179              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05180              * name of this field, qualified by the current member instance of the field, and 
05181              * to access the property of the name on an object.</p>
05182              * @since 1.0
05183              * @javascript Re-compilers must resolve the member of this instance field to the
05184              * identifier of the field name appending to the identifier resolved from its 
05185              * qualifying member with a dot in between.
05186              */
05187             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
05188         }
05189 
05190         /**
05191          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05192          * with the wrapping constructor.</p>
05193          * @param var The argument of an <b>opaque</b> object.
05194          * @since 1.0
05195          * @javascript Re-compilers must ignore the construction operation of this constructor,
05196          * that is, replacing it with its only argument.
05197          */
05198         public HTMLFrameSetElement(JsObject var) {
05199             super(var(var, (JsFunction<?>)null));
05200         }
05201 
05202         /**
05203          * <p>An <b>opaque</b> static field defining a member that is named by the field name
05204          * without a qualifying member and to access the property of the name on an object.</p>
05205          * @since 1.0
05206          * @javascript Re-compilers must resolve the member of this static field to the
05207          * identifier of the field name.
05208          */
05209         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
05210 
05211         /**
05212          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
05213          * class of JavaScript.</p>
05214          *
05215          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05216          * 
05217          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05218          * generated into the target codes. Re-compilers must exit with error on the operations of
05219          * accessing that kind of class objects.
05220          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05221          * and <tt>instanceof</tt> to it always <tt>true</tt>.
05222          */
05223         public static class Prototype extends JsHTMLElement
05224         {
05225             /**
05226              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05227              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05228              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05229              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05230              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05231              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05232              * either circumstance, the field names must be exactly same as the member names, as 
05233              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05234              * based on the field names.</p>
05235              *
05236              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05237              * 
05238              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05239              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05240              * of class objects.
05241              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05242              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05243              * <pre>q.m</pre>
05244              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05245              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05246              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05247              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05248              * <pre>m</pre>
05249              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05250              * error on the access to <b>opaque</b> fields declared by this class under any other 
05251              * circumstances.
05252              */
05253             public static class Member extends JsHTMLElement.Member
05254             {
05255                 /**
05256                  * <p>Internally constructs a member based on a qualifying member.</p>
05257                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05258                  * or <b>internal</b> classes or class members.</p>
05259                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05260                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
05261                  * declared in the declaring class of this constructor itself or its subclasses. 
05262                  * Under this circumstance, the field names must be exactly same as the member 
05263                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
05264                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
05265                  * to their names appending to the name resolved from the specified qualifying 
05266                  * member with a dot in between.</p>
05267                  * @param q A qualifying member
05268                  * @param mid The ID of the member to construct
05269                  * @since 1.0
05270                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05271                  */
05272                 public Member(JsObject.Member q, Mid mid) {
05273                     super(q, mid);
05274                 }
05275                 /**
05276                  * <p>Internally constructs a member without a qualifying member.</p>
05277                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05278                  * or <b>internal</b> classes or class members.</p>
05279                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05280                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
05281                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
05282                  * itself and its subclasses. Under this circumstance, the field names must be
05283                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
05284                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
05285                  * @param mid The ID of the member to construct
05286                  * @since 1.0
05287                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05288                  */
05289                 public Member(Mid mid) {
05290                     super(mid);
05291                 }
05292                 @Override
05293                 /**
05294                  * <p>Evaluates the property, represented by the current member instance, of the
05295                  * argument object.</p>
05296                  * @param o The argument object
05297                  * @return The value of the current member based on the object argument.
05298                  * @since 1.0
05299                  * @javascript Re-compilers must convert the instance invocation of this method into
05300                  * the JavaScript expression: 
05301                  * <pre>o.m</pre>
05302                  * where <tt>m</tt> is the identifier name resolved from the current member
05303                  * instance of the invocation.
05304                  */
05305                 public Prototype with(ObjectLike o) {
05306                     return new Prototype(super.with(o));
05307                 }
05308 
05309                 /**
05310                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05311                  * name of this field, qualified by the current member instance of the field, and 
05312                  * to access the property of the name on an object.</p>
05313                  * @since 1.0
05314                  * @see JsHTMLFrameSetElement#valueOf()
05315                  * @javascript Re-compilers must resolve the member of this instance field to the
05316                  * identifier of the field name appending to the identifier resolved from its 
05317                  * qualifying member with a dot in between.
05318                  */
05319                 public final JsFunction.Member<JsHTMLFrameSetElement> valueOf = new JsFunction.Member<JsHTMLFrameSetElement>(this, Members.valueOf);
05320             }
05321 
05322             /**
05323              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05324              * with the wrapping constructor.</p>
05325              * @param var The argument of an <b>opaque</b> object.
05326              * @since 1.0
05327              * @javascript Re-compilers must ignore the construction operation of this constructor,
05328              * that is, replacing it with its only argument.
05329              */
05330             public Prototype(JsObject var) {
05331                 super(var(var, (JsFunction<?>)null));
05332             }
05333 
05334             /**
05335              * <p>An <b>opaque</b> static field defining a member that is named by the field name
05336              * without a qualifying member and to access the property of the name on an object.</p>
05337              * @since 1.0
05338              * @see JsHTMLFrameSetElement#valueOf()
05339              * @javascript Re-compilers must resolve the member of this static field to the
05340              * identifier of the field name.
05341              */
05342             public static final JsFunction.Member<JsHTMLFrameSetElement> valueOf = new JsFunction.Member<JsHTMLFrameSetElement>(Members.valueOf);
05343         }
05344     }
05345 
05346     /**
05347      * <p>An <b>opaque</b> class representing the global <tt>HTMLHeadingElement</tt> class of JavaScript.</p>
05348      *
05349      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05350      * 
05351      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05352      * generated into the target codes. Re-compilers must exit with error on the operations of
05353      * accessing that kind of class objects.
05354      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05355      * and <tt>instanceof</tt> to it always <tt>true</tt>.
05356      */
05357     public class HTMLHeadingElement extends JsClass
05358     {
05359         /**
05360          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05361          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05362          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05363          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05364          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05365          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05366          * either circumstance, the field names must be exactly same as the member names, as 
05367          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05368          * based on the field names.</p>
05369          *
05370          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05371          * 
05372          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05373          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05374          * of class objects.
05375          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05376          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05377          * <pre>q.m</pre>
05378          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05379          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05380          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05381          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05382          * <pre>m</pre>
05383          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05384          * error on the access to <b>opaque</b> fields declared by this class under any other 
05385          * circumstances.
05386          */
05387         public static class Member extends JsClass.Member
05388         {
05389             public Member(JsObject.Member q, Mid mid) {
05390                 super(q, mid);
05391             }
05392             public Member(Mid mid) {
05393                 super(mid);
05394             }
05395             @Override
05396             /**
05397              * <p>Evaluates the property, represented by the current member instance, of the
05398              * argument object.</p>
05399              * @param o The argument object
05400              * @return The value of the current member based on the object argument.
05401              * @since 1.0
05402              * @javascript Re-compilers must convert the instance invocation of this method into
05403              * the JavaScript expression: 
05404              * <pre>o.m</pre>
05405              * where <tt>m</tt> is the identifier name resolved from the current member
05406              * instance of the invocation.
05407              */
05408             public HTMLHeadingElement with(ObjectLike o) {
05409                 return new HTMLHeadingElement(super.with(o));
05410             }
05411             @Override
05412             /**
05413              * <p>Evaluates a property, represented by the current member instance, of the
05414              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
05415              * @return The value of the current member based on the JavaScript global object.
05416              * @since 1.0
05417              * @javascript Re-compilers must convert the instance invocation of this method into
05418              * the JavaScript expression: 
05419              * <pre>m</pre>
05420              * where <tt>m</tt> is the identifier name resolved from the current member
05421              * instance of the invocation.
05422              */
05423             public HTMLHeadingElement with() {
05424                 return with(Js.win());
05425             }
05426 
05427             /**
05428              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05429              * name of this field, qualified by the current member instance of the field, and 
05430              * to access the property of the name on an object.</p>
05431              * @since 1.0
05432              * @javascript Re-compilers must resolve the member of this instance field to the
05433              * identifier of the field name appending to the identifier resolved from its 
05434              * qualifying member with a dot in between.
05435              */
05436             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
05437         }
05438 
05439         /**
05440          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05441          * with the wrapping constructor.</p>
05442          * @param var The argument of an <b>opaque</b> object.
05443          * @since 1.0
05444          * @javascript Re-compilers must ignore the construction operation of this constructor,
05445          * that is, replacing it with its only argument.
05446          */
05447         public HTMLHeadingElement(JsObject var) {
05448             super(var(var, (JsFunction<?>)null));
05449         }
05450 
05451         /**
05452          * <p>An <b>opaque</b> static field defining a member that is named by the field name
05453          * without a qualifying member and to access the property of the name on an object.</p>
05454          * @since 1.0
05455          * @javascript Re-compilers must resolve the member of this static field to the
05456          * identifier of the field name.
05457          */
05458         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
05459 
05460         /**
05461          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
05462          * class of JavaScript.</p>
05463          *
05464          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05465          * 
05466          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05467          * generated into the target codes. Re-compilers must exit with error on the operations of
05468          * accessing that kind of class objects.
05469          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05470          * and <tt>instanceof</tt> to it always <tt>true</tt>.
05471          */
05472         public static class Prototype extends JsHTMLElement
05473         {
05474             /**
05475              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05476              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05477              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05478              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05479              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05480              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05481              * either circumstance, the field names must be exactly same as the member names, as 
05482              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05483              * based on the field names.</p>
05484              *
05485              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05486              * 
05487              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05488              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05489              * of class objects.
05490              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05491              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05492              * <pre>q.m</pre>
05493              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05494              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05495              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05496              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05497              * <pre>m</pre>
05498              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05499              * error on the access to <b>opaque</b> fields declared by this class under any other 
05500              * circumstances.
05501              */
05502             public static class Member extends JsHTMLElement.Member
05503             {
05504                 /**
05505                  * <p>Internally constructs a member based on a qualifying member.</p>
05506                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05507                  * or <b>internal</b> classes or class members.</p>
05508                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05509                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
05510                  * declared in the declaring class of this constructor itself or its subclasses. 
05511                  * Under this circumstance, the field names must be exactly same as the member 
05512                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
05513                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
05514                  * to their names appending to the name resolved from the specified qualifying 
05515                  * member with a dot in between.</p>
05516                  * @param q A qualifying member
05517                  * @param mid The ID of the member to construct
05518                  * @since 1.0
05519                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05520                  */
05521                 public Member(JsObject.Member q, Mid mid) {
05522                     super(q, mid);
05523                 }
05524                 /**
05525                  * <p>Internally constructs a member without a qualifying member.</p>
05526                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05527                  * or <b>internal</b> classes or class members.</p>
05528                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05529                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
05530                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
05531                  * itself and its subclasses. Under this circumstance, the field names must be
05532                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
05533                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
05534                  * @param mid The ID of the member to construct
05535                  * @since 1.0
05536                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05537                  */
05538                 public Member(Mid mid) {
05539                     super(mid);
05540                 }
05541                 @Override
05542                 /**
05543                  * <p>Evaluates the property, represented by the current member instance, of the
05544                  * argument object.</p>
05545                  * @param o The argument object
05546                  * @return The value of the current member based on the object argument.
05547                  * @since 1.0
05548                  * @javascript Re-compilers must convert the instance invocation of this method into
05549                  * the JavaScript expression: 
05550                  * <pre>o.m</pre>
05551                  * where <tt>m</tt> is the identifier name resolved from the current member
05552                  * instance of the invocation.
05553                  */
05554                 public Prototype with(ObjectLike o) {
05555                     return new Prototype(super.with(o));
05556                 }
05557 
05558                 /**
05559                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05560                  * name of this field, qualified by the current member instance of the field, and 
05561                  * to access the property of the name on an object.</p>
05562                  * @since 1.0
05563                  * @see JsHTMLHeadingElement#valueOf()
05564                  * @javascript Re-compilers must resolve the member of this instance field to the
05565                  * identifier of the field name appending to the identifier resolved from its 
05566                  * qualifying member with a dot in between.
05567                  */
05568                 public final JsFunction.Member<JsHTMLHeadingElement> valueOf = new JsFunction.Member<JsHTMLHeadingElement>(this, Members.valueOf);
05569             }
05570 
05571             /**
05572              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05573              * with the wrapping constructor.</p>
05574              * @param var The argument of an <b>opaque</b> object.
05575              * @since 1.0
05576              * @javascript Re-compilers must ignore the construction operation of this constructor,
05577              * that is, replacing it with its only argument.
05578              */
05579             public Prototype(JsObject var) {
05580                 super(var(var, (JsFunction<?>)null));
05581             }
05582 
05583             /**
05584              * <p>An <b>opaque</b> static field defining a member that is named by the field name
05585              * without a qualifying member and to access the property of the name on an object.</p>
05586              * @since 1.0
05587              * @see JsHTMLHeadingElement#valueOf()
05588              * @javascript Re-compilers must resolve the member of this static field to the
05589              * identifier of the field name.
05590              */
05591             public static final JsFunction.Member<JsHTMLHeadingElement> valueOf = new JsFunction.Member<JsHTMLHeadingElement>(Members.valueOf);
05592         }
05593     }
05594 
05595     /**
05596      * <p>An <b>opaque</b> class representing the global <tt>HTMLHeadElement</tt> class of JavaScript.</p>
05597      *
05598      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05599      * 
05600      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05601      * generated into the target codes. Re-compilers must exit with error on the operations of
05602      * accessing that kind of class objects.
05603      * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05604      * and <tt>instanceof</tt> to it always <tt>true</tt>.
05605      */
05606     public class HTMLHeadElement extends JsClass
05607     {
05608         /**
05609          * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05610          * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05611          * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05612          * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05613          * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05614          * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05615          * either circumstance, the field names must be exactly same as the member names, as 
05616          * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05617          * based on the field names.</p>
05618          *
05619          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05620          * 
05621          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05622          * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05623          * of class objects.
05624          * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05625          * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05626          * <pre>q.m</pre>
05627          * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05628          * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05629          * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05630          * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05631          * <pre>m</pre>
05632          * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05633          * error on the access to <b>opaque</b> fields declared by this class under any other 
05634          * circumstances.
05635          */
05636         public static class Member extends JsClass.Member
05637         {
05638             public Member(JsObject.Member q, Mid mid) {
05639                 super(q, mid);
05640             }
05641             public Member(Mid mid) {
05642                 super(mid);
05643             }
05644             @Override
05645             /**
05646              * <p>Evaluates the property, represented by the current member instance, of the
05647              * argument object.</p>
05648              * @param o The argument object
05649              * @return The value of the current member based on the object argument.
05650              * @since 1.0
05651              * @javascript Re-compilers must convert the instance invocation of this method into
05652              * the JavaScript expression: 
05653              * <pre>o.m</pre>
05654              * where <tt>m</tt> is the identifier name resolved from the current member
05655              * instance of the invocation.
05656              */
05657             public HTMLHeadElement with(ObjectLike o) {
05658                 return new HTMLHeadElement(super.with(o));
05659             }
05660             @Override
05661             /**
05662              * <p>Evaluates a property, represented by the current member instance, of the
05663              * JavaScript global object, that is, evaluates the member to a global identifier.</p>
05664              * @return The value of the current member based on the JavaScript global object.
05665              * @since 1.0
05666              * @javascript Re-compilers must convert the instance invocation of this method into
05667              * the JavaScript expression: 
05668              * <pre>m</pre>
05669              * where <tt>m</tt> is the identifier name resolved from the current member
05670              * instance of the invocation.
05671              */
05672             public HTMLHeadElement with() {
05673                 return with(Js.win());
05674             }
05675 
05676             /**
05677              * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05678              * name of this field, qualified by the current member instance of the field, and 
05679              * to access the property of the name on an object.</p>
05680              * @since 1.0
05681              * @javascript Re-compilers must resolve the member of this instance field to the
05682              * identifier of the field name appending to the identifier resolved from its 
05683              * qualifying member with a dot in between.
05684              */
05685             public final Prototype.Member prototype = new Prototype.Member(this, Members.prototype);
05686         }
05687 
05688         /**
05689          * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05690          * with the wrapping constructor.</p>
05691          * @param var The argument of an <b>opaque</b> object.
05692          * @since 1.0
05693          * @javascript Re-compilers must ignore the construction operation of this constructor,
05694          * that is, replacing it with its only argument.
05695          */
05696         public HTMLHeadElement(JsObject var) {
05697             super(var(var, (JsFunction<?>)null));
05698         }
05699 
05700         /**
05701          * <p>An <b>opaque</b> static field defining a member that is named by the field name
05702          * without a qualifying member and to access the property of the name on an object.</p>
05703          * @since 1.0
05704          * @javascript Re-compilers must resolve the member of this static field to the
05705          * identifier of the field name.
05706          */
05707         public static final Prototype.Member prototype = new Prototype.Member(Members.prototype);
05708 
05709         /**
05710          * <p>An <b>opaque</b> class representing the prototype of the enclosing global
05711          * class of JavaScript.</p>
05712          *
05713          * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05714          * 
05715          * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
05716          * generated into the target codes. Re-compilers must exit with error on the operations of
05717          * accessing that kind of class objects.
05718          * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
05719          * and <tt>instanceof</tt> to it always <tt>true</tt>.
05720          */
05721         public static class Prototype extends JsHTMLElement
05722         {
05723             /**
05724              * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
05725              * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
05726              * This class and the subclasses of this class are used to declare either <b>opaque</b> 
05727              * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
05728              * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
05729              * constructors are used to define the fields inside <b>opaque</b> classes. Under 
05730              * either circumstance, the field names must be exactly same as the member names, as 
05731              * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
05732              * based on the field names.</p>
05733              *
05734              * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
05735              * 
05736              * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
05737              * in the target codes. Re-compilers must exit with error on operations accessing that kind 
05738              * of class objects.
05739              * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
05740              * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
05741              * <pre>q.m</pre>
05742              * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
05743              * resolved from the instance of the enclosing member. Re-compilers must resolve an 
05744              * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
05745              * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
05746              * <pre>m</pre>
05747              * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
05748              * error on the access to <b>opaque</b> fields declared by this class under any other 
05749              * circumstances.
05750              */
05751             public static class Member extends JsHTMLElement.Member
05752             {
05753                 /**
05754                  * <p>Internally constructs a member based on a qualifying member.</p>
05755                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05756                  * or <b>internal</b> classes or class members.</p>
05757                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05758                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
05759                  * declared in the declaring class of this constructor itself or its subclasses. 
05760                  * Under this circumstance, the field names must be exactly same as the member 
05761                  * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
05762                  * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
05763                  * to their names appending to the name resolved from the specified qualifying 
05764                  * member with a dot in between.</p>
05765                  * @param q A qualifying member
05766                  * @param mid The ID of the member to construct
05767                  * @since 1.0
05768                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05769                  */
05770                 public Member(JsObject.Member q, Mid mid) {
05771                     super(q, mid);
05772                 }
05773                 /**
05774                  * <p>Internally constructs a member without a qualifying member.</p>
05775                  * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
05776                  * or <b>internal</b> classes or class members.</p>
05777                  * <p>Note that, this constructor is <b>internal</b> but its declaring class is
05778                  * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
05779                  * declared in <b>opaque</b> types other than the declaring class of this constructor 
05780                  * itself and its subclasses. Under this circumstance, the field names must be
05781                  * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
05782                  * types are generally resolved by re-compilers directly to identifiers of their names.</p>
05783                  * @param mid The ID of the member to construct
05784                  * @since 1.0
05785                  * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
05786                  */
05787                 public Member(Mid mid) {
05788                     super(mid);
05789                 }
05790                 @Override
05791                 /**
05792                  * <p>Evaluates the property, represented by the current member instance, of the
05793                  * argument object.</p>
05794                  * @param o The argument object
05795                  * @return The value of the current member based on the object argument.
05796                  * @since 1.0
05797                  * @javascript Re-compilers must convert the instance invocation of this method into
05798                  * the JavaScript expression: 
05799                  * <pre>o.m</pre>
05800                  * where <tt>m</tt> is the identifier name resolved from the current member
05801                  * instance of the invocation.
05802                  */
05803                 public Prototype with(ObjectLike o) {
05804                     return new Prototype(super.with(o));
05805                 }
05806 
05807                 /**
05808                  * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
05809                  * name of this field, qualified by the current member instance of the field, and 
05810                  * to access the property of the name on an object.</p>
05811                  * @since 1.0
05812                  * @see JsHTMLHeadElement#valueOf()
05813                  * @javascript Re-compilers must resolve the member of this instance field to the
05814                  * identifier of the field name appending to the identifier resolved from its 
05815                  * qualifying member with a dot in between.
05816                  */
05817                 public final JsFunction.Member<JsHTMLHeadElement> valueOf = new JsFunction.Member<JsHTMLHeadElement>(this, Members.valueOf);
05818             }
05819 
05820             /**
05821              * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
05822              * with the wrapping constructor.</p>
05823              * @param var The argument of an <b>opaque</b> object.
05824              * @since 1.0
05825              * @javascript Re-compilers must ignore the construction operation of this constructor,
05826              * that is, replacing it with its only argument.
05827              */
05828             public Prototype(JsObject var) {
05829                 super(var(var, (JsFunction<?>)null));
05830             }
05831 
05832             /**
05833              * <p>An <b>opaque</b> static field defining a member that is named by the field name
05834              * without a qualifying member and to access the property of the name on an object.</p>
05835              * @since 1.0
05836              * @see JsHTMLHeadElement#valueOf()
05837              * @javascript Re-compilers must resolve the member of this static field to the
05838              * identifier of the field name.
05839              */
05840             public static final