* the properties and prototype properties of this name in the graph.
*/
private Name recordClassConstructorOrInterface(
String name, FunctionType type, @Nullable Node n, @Nullable Node rhs) {
Preconditions.checkArgument(type.isConstructor() || type.isInterface());
Name symbol = graph.defineNameIfNotExists(name, isExtern);
if (rhs != null) {
// TODO(user): record the definition.
symbol.setType(getType(rhs));
if (n.isAssign()) {
symbol.addAssignmentDeclaration(n);
} else {
symbol.addFunctionDeclaration(n);
}
}
ObjectType prototype = type.getPrototype();
for (String prop : prototype.getOwnPropertyNames()) {
graph.defineNameIfNotExists(