JSType propType = simpleInferExprType(prop.getFirstChild());
if (propType == null) {
return null;
}
objLitType = objLitType.withProperty(
new QualifiedName(NodeUtil.getObjectLitKeyName(prop)),
propType);
}
return objLitType;
}
case Token.GETPROP:
Node recv = n.getFirstChild();
JSType recvType = simpleInferExprType(recv);
if (recvType == null) {
EnumType et = currentScope.getEnum(recv.getQualifiedName());
if (et == null) {
return null;
}
if (et.enumLiteralHasKey(n.getLastChild().getString())) {
return et.getEnumeratedType();
}
return null;
}
QualifiedName qname = new QualifiedName(n.getLastChild().getString());
if (!recvType.mayHaveProp(qname)) {
return null;
}
return recvType.getProp(qname);
case Token.COMMA: