/** * Creates an object type, allowing specification of the implicit prototype when creating native * objects. */ PrototypeObjectType( JSTypeRegistry registry, String className, ObjectType implicitPrototype, boolean nativeType) { super(registry); this.properties = Maps.newTreeMap(); this.className = className; this.nativeType = nativeType; if (nativeType || implicitPrototype != null) { setImplicitPrototype(implicitPrototype); } else { setImplicitPrototype(registry.getNativeObjectType(JSTypeNative.OBJECT_TYPE)); } }
/** * Creates an object type, allowing specification of the implicit prototype, whether the object is * native, and any templatized types. */ PrototypeObjectType( JSTypeRegistry registry, String className, ObjectType implicitPrototype, boolean nativeType, TemplateTypeMap templateTypeMap, boolean anonymousType) { super(registry, templateTypeMap); this.properties = new PropertyMap(); this.properties.setParentSource(this); this.className = className; this.nativeType = nativeType; this.anonymousType = anonymousType; if (nativeType || implicitPrototype != null) { setImplicitPrototype(implicitPrototype); } else { setImplicitPrototype(registry.getNativeObjectType(JSTypeNative.OBJECT_TYPE)); } }