<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Restrictions on subclasses of JavaScriptObject</title>
</head>
<body>

<p>Subclasses of JavaScriptObject  represent a view of a JavaScript object
from Java.  Such classes must conform to a number of restrictions so
that the compiler can implement them.  This page lists those restrictions.

<p>In the following,  "JSO class" means any subclass of
<code>JavaScriptObject</code>.  Rationales are written <em>like
this</em>.

<ol>

  <li>  All instance methods on JSO classes must be one of: explicitly
  final, a member of a final class, or private.  <em>Methods of JSO classes
  cannot be overridden, because calls to such methods could require
  dynamic dispatch.</em>

  <li> JSO classes cannot implement interfaces that define
  methods. <em>This prevents virtual calls that would arise by
  upcasting to the interface and then calling through the interface.
  The programmer should instead use a wrapper, for example using
  <code>Comparator</code> instead of implementing
  <code>Comparable</code>.</em>

  <li> No instance methods on JSO classes may override another
  method. <em>This catches accidents where JSO itself did not finalize
  some method from its superclass.</em>

  <li> JSO classes cannot have instance fields.  <em>The fields would
  have no place to live in web mode.  Programmers should instead make
  an explicit wrapper class and put the fields there.</em>

  <li> Nested JSO classes must be static.  <em>The implicit
  <code>this</code> fields of a non-static inner class has the same
  problems as an explicit field.</em>

  <li> "new" operations cannot be used with JSO classes.  <em>This
  avoids ever being able to try to instantiate JSO objects using the
  new keyword. New JSO instances can only come from JSNI, as in
  previous versions of GWT.</em>

  <li> Every JSO class must have precisely one constructor, and it must
  be protected, empty, and no-argument.

</ol>

</body>
</html>
