code: public final boolean defineSynthesizedProperty(String propertyName,
        JSType type, Node propertyNode) {
      return defineProperty(propertyName, type, false, propertyNode);
    }
docs: Defines a property whose type is on a synthesized object. These objects
  don't actually exist in the user's program. They're just used for
  bookkeeping in the type system.