mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
dfa: use cached nullability
This commit is contained in:
+4
-6
@@ -115,13 +115,11 @@ public class StandardInstructionVisitor extends InstructionVisitor {
|
||||
|
||||
if (dfaDest instanceof DfaVariableValue) {
|
||||
DfaVariableValue var = (DfaVariableValue) dfaDest;
|
||||
final PsiModifierListOwner psiVariable = var.getPsiVariable();
|
||||
if (DfaPsiUtil.getElementNullability(var.getVariableType(), psiVariable) == Nullness.NOT_NULL) {
|
||||
if (!memState.checkNotNullable(dfaSource)) {
|
||||
onAssigningToNotNullableVariable(instruction);
|
||||
}
|
||||
if (var.getInherentNullability() == Nullness.NOT_NULL && !memState.checkNotNullable(dfaSource)) {
|
||||
onAssigningToNotNullableVariable(instruction);
|
||||
}
|
||||
if (!(psiVariable instanceof PsiField) || !psiVariable.hasModifierProperty(PsiModifier.VOLATILE)) {
|
||||
final PsiModifierListOwner psi = var.getPsiVariable();
|
||||
if (!(psi instanceof PsiField) || !psi.hasModifierProperty(PsiModifier.VOLATILE)) {
|
||||
memState.setVarValue(var, dfaSource);
|
||||
}
|
||||
} else if (dfaDest instanceof DfaTypeValue && ((DfaTypeValue)dfaDest).isNotNull() && !memState.checkNotNullable(dfaSource)) {
|
||||
|
||||
Reference in New Issue
Block a user