"Foo.prototype = {/** @param {number} x */ bar: abstractMethod};");
assertEquals(
"Function", findNameType("abstractMethod", globalScope).toString());
FunctionType ctor = (FunctionType) findNameType("Foo", globalScope);
ObjectType instance = ctor.getInstanceType();
assertEquals("Foo", instance.toString());
ObjectType proto = instance.getImplicitPrototype();
assertEquals("Foo.prototype", proto.toString());
assertEquals(
// should be: "function (this:Foo, number): ?"
"function (this:Foo, number): ?",
proto.getPropertyType("bar").toString());
}