DfaValue (@NotNull DfaValueFactory factory, @Nullable DfaValue qualifier) { if (myVariable.hasModifierProperty(PsiModifier.VOLATILE)) { PsiType type = getType(ObjectUtils.tryCast(qualifier, DfaVariableValue.class)); return factory.fromDfType(DfTypes.typedObject(type, DfaPsiUtil.getElementNullability(type, myVariable))); } if (PsiUtil.isJvmLocalVariable(myVariable) || (myVariable instanceof PsiField && myVariable.hasModifierProperty(PsiModifier.STATIC))) { return factory.getVarFactory().createVariableValue(this); } return super.createValue(factory, qualifier); }