Added JavaDoc comments. git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@37 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Compilation.java b/dev/core/src/com/google/gwt/dev/cfg/Compilation.java index 72b2b50..5c70ef5 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Compilation.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Compilation.java
@@ -21,6 +21,11 @@ import java.util.HashMap; import java.util.Map; +/** + * Represents a single completed compilation. + * + * @see Compilations + */ public class Compilation { private Map rebindDecisions = new HashMap(); @@ -70,7 +75,7 @@ // Error to try to change the existing mapping if (!recodedOutputName.equals(outputTypeName)) { String msg = "Decision '" + recodedOutputName - + "' already recorded for '" + inputTypeName + "'"; + + "' already recorded for '" + inputTypeName + "'"; throw new IllegalStateException(msg); } // already recorded this one @@ -80,10 +85,12 @@ // this was a new entry return true; } + public void recordGeneratedTypeHash(String generatedTypeName, String sourceHash) { sourceHashByGeneratedTypeName.put(generatedTypeName, sourceHash); } + public void setStrongName(String strongName) { this.strongName = strongName; }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/CompilationSchema.java b/dev/core/src/com/google/gwt/dev/cfg/CompilationSchema.java index 212a3b0..61ee3ae 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/CompilationSchema.java +++ b/dev/core/src/com/google/gwt/dev/cfg/CompilationSchema.java
@@ -17,6 +17,9 @@ import com.google.gwt.dev.util.xml.Schema; +/** + * The XML schema class to parse XML for deferred binding conditions. + */ public class CompilationSchema extends Schema { private final class BodySchema extends Schema {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Compilations.java b/dev/core/src/com/google/gwt/dev/cfg/Compilations.java index 27cd982..1cac6c7 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Compilations.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Compilations.java
@@ -23,6 +23,12 @@ import java.util.Iterator; import java.util.List; +/** + * Manages a set of {@link Compilation} objects keyed by deferred binding + * decisions. This class encapsulaes the idea of caching a set of compilations, + * some of which may be reusable between permutations to avoid redundant + * recompilation. + */ public class Compilations { private final List list = new ArrayList();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/CompoundCondition.java b/dev/core/src/com/google/gwt/dev/cfg/CompoundCondition.java index 40f99ce..b9ff8de 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/CompoundCondition.java +++ b/dev/core/src/com/google/gwt/dev/cfg/CompoundCondition.java
@@ -15,6 +15,10 @@ */ package com.google.gwt.dev.cfg; +/** + * Abstract base class for various kinds of compound deferred binding + * conditions. + */ public abstract class CompoundCondition extends Condition { private final Conditions conditions = new Conditions();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Condition.java b/dev/core/src/com/google/gwt/dev/cfg/Condition.java index 5b9f57f..e93c1cc 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Condition.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Condition.java
@@ -19,6 +19,9 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * Abstract base class for various kinds of deferred binding conditions. + */ public abstract class Condition { public final boolean isTrue(TreeLogger logger, GeneratorContext context, String testType) throws UnableToCompleteException {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionAll.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionAll.java index 011b58a..e8f948e 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionAll.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionAll.java
@@ -21,6 +21,10 @@ import java.util.Iterator; +/** + * A compound condition that is only satisfied if all of its children are + * satisfied. + */ public class ConditionAll extends CompoundCondition { public ConditionAll() {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionAny.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionAny.java index 1770249..7273f12 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionAny.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionAny.java
@@ -21,6 +21,9 @@ import java.util.Iterator; +/** + * A compound condition that is satisfied if any of its children are satisfied. + */ public class ConditionAny extends CompoundCondition { public ConditionAny() {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java index 5b0a522..5134914 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionNone.java
@@ -21,6 +21,10 @@ import java.util.Iterator; +/** + * A compound condition that is only satisfied if all of its children are + * unsatisfied. + */ public class ConditionNone extends CompoundCondition { public ConditionNone() {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenPropertyIs.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenPropertyIs.java index d8ac642..abd03b1 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenPropertyIs.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenPropertyIs.java
@@ -21,6 +21,10 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * A deferred binding condition to determine whether a named property has a + * particular value. + */ public class ConditionWhenPropertyIs extends Condition { private final String propName;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java index 26a872a..bc8e472 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java
@@ -22,6 +22,10 @@ import com.google.gwt.core.ext.typeinfo.TypeOracle; import com.google.gwt.dev.util.Util; +/** + * A deferred binding condition to determine whether the type being rebound is + * assignment-compatible with a particular type. + */ public class ConditionWhenTypeAssignableTo extends Condition { private final String assignableToTypeName;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeIs.java b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeIs.java index 70427a4..732d78c 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeIs.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeIs.java
@@ -18,6 +18,10 @@ import com.google.gwt.core.ext.GeneratorContext; import com.google.gwt.core.ext.TreeLogger; +/** + * A deferred binding condition to determine whether the type being rebound is + * exactly a particular type. + */ public class ConditionWhenTypeIs extends Condition { private final String exactTypeName;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Conditions.java b/dev/core/src/com/google/gwt/dev/cfg/Conditions.java index 3127d34..e18dd95 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Conditions.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Conditions.java
@@ -19,6 +19,9 @@ import java.util.Iterator; import java.util.List; +/** + * A typed collection of {@link Condition} objects. + */ public class Conditions { private final List list = new ArrayList();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/DefaultPropertyProvider.java b/dev/core/src/com/google/gwt/dev/cfg/DefaultPropertyProvider.java index 47a54f5..d3d589e 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/DefaultPropertyProvider.java +++ b/dev/core/src/com/google/gwt/dev/cfg/DefaultPropertyProvider.java
@@ -26,8 +26,17 @@ import java.io.IOException; import java.io.StringReader; +/** + * A property provider that reports property values specified literally in a + * host HTML page. + */ public class DefaultPropertyProvider extends PropertyProvider { + /* + * TODO: this references 'parent' literally, which could be a problem if you + * were to include the selector script in the host page itself rather than in + * an iframe. + */ public DefaultPropertyProvider(Property property) { super(property); String src = "function () {";
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Messages.java b/dev/core/src/com/google/gwt/dev/cfg/Messages.java index c24abad..a15b208 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Messages.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Messages.java
@@ -20,29 +20,32 @@ import com.google.gwt.dev.util.msg.Message1String; import com.google.gwt.dev.util.msg.Message2ClassClass; +/** + * User messages related to configuration. + */ class Messages { public static final Message2ClassClass INVALID_CLASS_DERIVATION = new Message2ClassClass( - TreeLogger.ERROR, "Class '$0' must derive from '$1'"); + TreeLogger.ERROR, "Class '$0' must derive from '$1'"); public static final Message1String PROPERTY_NAME_INVALID = new Message1String( - TreeLogger.ERROR, "Invalid property name '$0'"); + TreeLogger.ERROR, "Invalid property name '$0'"); public static final Message1String PROPERTY_NOT_FOUND = new Message1String( - TreeLogger.ERROR, "Property '$0' not found"); + TreeLogger.ERROR, "Property '$0' not found"); public static final Message1String PROPERTY_VALUE_INVALID = new Message1String( - TreeLogger.ERROR, "Invalid property value '$0'"); + TreeLogger.ERROR, "Invalid property value '$0'"); public static final Message0 PUBLIC_PATH_LOCATIONS = new Message0( - TreeLogger.TRACE, "Public resources found in..."); + TreeLogger.TRACE, "Public resources found in..."); public static final Message0 SOURCE_PATH_LOCATIONS = new Message0( - TreeLogger.TRACE, "Translatable source found in..."); + TreeLogger.TRACE, "Translatable source found in..."); public static final Message1String UNABLE_TO_CREATE_OBJECT = new Message1String( - TreeLogger.ERROR, "Unable to create an instance of '$0'"); + TreeLogger.ERROR, "Unable to create an instance of '$0'"); public static final Message1String UNABLE_TO_LOAD_CLASS = new Message1String( - TreeLogger.ERROR, "Unable to load class '$0'"); + TreeLogger.ERROR, "Unable to load class '$0'"); }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java b/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java index a659c65..9187655 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java
@@ -44,7 +44,8 @@ import java.util.Map.Entry; /** - * Represents a module specification. + * Represents a module specification. In principle, this could be built without + * XML for unit tests. */ public class ModuleDef {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java index 0c207ad..f0f79fc 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java +++ b/dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java
@@ -32,6 +32,9 @@ import java.util.Map; import java.util.Set; +/** + * The top-level API for loading module XML. + */ public class ModuleDefLoader { // Should always be true. If it is false complete type oracle analysis and
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Properties.java b/dev/core/src/com/google/gwt/dev/cfg/Properties.java index 24580c0..4ae9ee7 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Properties.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Properties.java
@@ -21,6 +21,9 @@ import java.util.Iterator; import java.util.Map; +/** + * A typed map of deferred binding properties. + */ public class Properties { private final Map map = new HashMap();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Property.java b/dev/core/src/com/google/gwt/dev/cfg/Property.java index c3a6635..ec48e62 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Property.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Property.java
@@ -19,6 +19,10 @@ import java.util.HashSet; import java.util.Set; +/** + * Represents a single named deferred binding property that can answer with its + * value. + */ public class Property implements Comparable { private String activeValue;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/PropertyProvider.java b/dev/core/src/com/google/gwt/dev/cfg/PropertyProvider.java index 3397f76..3657ac2 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/PropertyProvider.java +++ b/dev/core/src/com/google/gwt/dev/cfg/PropertyProvider.java
@@ -17,6 +17,9 @@ import com.google.gwt.dev.js.ast.JsBlock; +/** + * Produces a deferred binding property value by executing JavaScript code. + */ public class PropertyProvider { private JsBlock body;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Rule.java b/dev/core/src/com/google/gwt/dev/cfg/Rule.java index e995e5f..34e29aa 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Rule.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Rule.java
@@ -19,6 +19,9 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * Abstract base class for various kinds of deferred binding rules. + */ public abstract class Rule { private final ConditionAll rootCondition = new ConditionAll();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/RuleFail.java b/dev/core/src/com/google/gwt/dev/cfg/RuleFail.java index 84db434..2324678 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/RuleFail.java +++ b/dev/core/src/com/google/gwt/dev/cfg/RuleFail.java
@@ -19,6 +19,9 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * A rule to explicitly fail during a deferred binding requrest. + */ public class RuleFail extends Rule { public String realize(TreeLogger logger, GeneratorContext context,
diff --git a/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java b/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java index 11fb88c..83481f0 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java +++ b/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java
@@ -20,6 +20,11 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * A rule to replace the type being rebound with a class whose name is + * determined by a generator class. Generators usually generate new classes + * during the deferred binding process, but it is not required. + */ public class RuleGenerateWith extends Rule { private final Generator generator;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/RuleReplaceWith.java b/dev/core/src/com/google/gwt/dev/cfg/RuleReplaceWith.java index b008ceb..4795f31 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/RuleReplaceWith.java +++ b/dev/core/src/com/google/gwt/dev/cfg/RuleReplaceWith.java
@@ -19,6 +19,9 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; +/** + * A rule to replace the type being rebound with an explicitly named class. + */ public class RuleReplaceWith extends Rule { private final String replacementTypeName;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Rules.java b/dev/core/src/com/google/gwt/dev/cfg/Rules.java index f499891..f27e7ca 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/Rules.java +++ b/dev/core/src/com/google/gwt/dev/cfg/Rules.java
@@ -18,6 +18,9 @@ import java.util.Iterator; import java.util.LinkedList; +/** + * A typed collection of {@link Rule} objects. + */ public class Rules { private final LinkedList list = new LinkedList();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java b/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java index b1662f9..7cdea17 100644 --- a/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java +++ b/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java
@@ -19,6 +19,10 @@ import com.google.gwt.core.ext.PropertyOracle; import com.google.gwt.core.ext.TreeLogger; +/** + * An implementation of {@link PropertyOracle} that maintains explicit property + * values, rather than computing them. + */ public class StaticPropertyOracle implements PropertyOracle { private Property[] currentProps;