}
if (!insideQualifiedName &&
mayWarnAboutConstProp(propAccessNode, lvalueType, pname)) {
return new LValueResultFwd(lvalueEnv, type, null, null);
}
if (!lvalueType.mayHaveProp(pname)) {
if (insideQualifiedName && lvalueType.isLoose()) {
// For loose objects, create the inner property if it doesn't exist.
lvalueType = lvalueType.withProperty(
pname, JSType.TOP_OBJECT.withLoose());
if (lvalueType.isDict() && propAccessNode.isGetProp()) {