  
      for (String property : properties.keySet()) {
        RecordProperty prop = properties.get(property);
-@@ -96,13 +89,7 @@ class RecordType extends PrototypeObjectType {
+@@ -96,13 +90,8 @@ class RecordType extends PrototypeObjectType {
          throw new IllegalStateException(
              "RecordProperty associated with a property should not be null!");
        }
 -      if (declared) {
--        defineDeclaredProperty(
--            property, prop.getType(), prop.getPropertyNode());
+         defineDeclaredProperty(
+             property, prop.getType(), prop.getPropertyNode());
 -      } else {
 -        defineSynthesizedProperty(
 -            property, prop.getType(), prop.getPropertyNode());
 -      }
-+      defineDeclaredProperty(property, prop.getType(), prop.getPropertyNode());
      }
  
      // Freeze the record type.
-@@ -110,9 +97,6 @@ class RecordType extends PrototypeObjectType {
+@@ -110,9 +99,6 @@ class RecordType extends PrototypeObjectType {
    }
  
    /** @return Is this synthesized for internal bookkeeping? */

-  RecordType(JSTypeRegistry registry, Map<String, RecordProperty> properties) {
-    this(registry, properties, true);
-  }
-
   /**
    * Creates a record type.
    *
@@ -84,11 +79,9 @@ class RecordType extends PrototypeObjectType {
    * @throws IllegalStateException if the {@code RecordProperty} associated
    *         with a property is null.
    */

       // The greatest subtype consists of those *unique* properties of both
       // record types. If any property conflicts, then the NO_TYPE type
diff --git a/src/com/google/javascript/rhino/jstype/RecordTypeBuilder.java b/src/com/google/javascript/rhino/jstype/RecordTypeBuilder.java
index 60d1e103..345795b5 100755
--- a/src/com/google/javascript/rhino/jstype/RecordTypeBuilder.java
+++ b/src/com/google/javascript/rhino/jstype/RecordTypeBuilder.java
@@ -51,7 +51,6 @@ import java.util.HashMap;
