private DfaVariableValue( @NotNull PsiModifierListOwner variable, @Nullable PsiType varType, boolean isNegated, DfaValueFactory factory, @Nullable DfaVariableValue qualifier) { super(factory); myVariable = variable; myIsNegated = isNegated; myQualifier = qualifier; myVarType = varType; DfaValue typeValue = myFactory.createTypeValue(varType, Nullness.UNKNOWN); myTypeValue = typeValue instanceof DfaTypeValue ? (DfaTypeValue) typeValue : null; if (varType != null && !varType.isValid()) { PsiUtil.ensureValidType( varType, "Variable: " + variable + " of class " + variable.getClass()); } }