mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
DfaUtil#computeValue: fixed for parenthesized expressions
GitOrigin-RevId: bebef77858634361021675458cf533f4f76eeb49
This commit is contained in:
committed by
intellij-monorepo-bot
parent
745a58a701
commit
5cd808158d
@@ -332,11 +332,11 @@ public class DfaUtil {
|
||||
public static Object computeValue(PsiExpression expression) {
|
||||
PsiExpression expressionToAnalyze = PsiUtil.skipParenthesizedExprDown(expression);
|
||||
if (expressionToAnalyze == null) return null;
|
||||
Object computed = ExpressionUtils.computeConstantExpression(expression);
|
||||
Object computed = ExpressionUtils.computeConstantExpression(expressionToAnalyze);
|
||||
if (computed != null) return computed;
|
||||
CommonDataflow.DataflowResult dataflowResult = CommonDataflow.getDataflowResult(expression);
|
||||
CommonDataflow.DataflowResult dataflowResult = CommonDataflow.getDataflowResult(expressionToAnalyze);
|
||||
if (dataflowResult != null) {
|
||||
return ContainerUtil.getOnlyItem(dataflowResult.getExpressionValues(expression));
|
||||
return ContainerUtil.getOnlyItem(dataflowResult.getExpressionValues(expressionToAnalyze));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+1
-1
@@ -93,7 +93,7 @@ public class JavaCodeInsightSanityTest extends LightJavaCodeInsightFixtureTestCa
|
||||
enableInspections();
|
||||
Function<PsiFile, Generator<? extends MadTestingAction>> fileActions =
|
||||
file -> Generator.sampledFrom(new InvokeIntention(file, new JavaParenthesesPolicy()), new StripTestDataMarkup(file));
|
||||
PropertyChecker
|
||||
PropertyChecker.customized().rechecking("5qDXmg/9q6a4EFrGDYcIAgXGA9YE1g3EBn4SEQQFFwMFAQkACQrQA+MECALLBQUDbAwEABEJAToHBUYFAmcHA2QFBwU7CQE3BgEpCQAjAwMpBgEaCQUUChEBARAGAAABBQMABgI/AgLbAwMAFQgEYQkCPAUBcwkAYQIAAZUEAUMEAnNeAgMSBwVoAwNzIRgKCAEIChAEBQAAAi8JBRMCAR4BAS8DACEJBBkCCQMHAwUSDgMIBOEIIApnAQEuAAU5BgE2AwQBLwQFCQACCwkCBgYDBQgDFwcFBggFCuYIBScdDi0mFQAIAA8EBAYDBeYDGAYNAAXeBEUKDCBLCQkWCAcAIQgaAgcQAAgF+QMNGhQAAgkAZQBP1QUVDwAAAQRdRwYFHgYDNgIFCAIBHgcDHQcFEwgDAgABxgQhBwEAAgILBQAGBAAJBwAEjAgA9QPXA+sEKOUDBJbMBBQUjHcCLV9gD4cFSjkbXSMHCgAvBg8WAQMD0hQGAwUAGQsABfIG0AQDANoFi0gGAQA0BwQAHA0CgQYFIgMHBAMBAAQCCQUABQMCBD0BNA4LCQUJBQIVNgECBRUFAAAFDwUBABUCBA0GCQG3CQMolQADskTaA4wTCgQDe+IDxgMNjwUGBJEGA1sAADcFLAtYaEUCIlgEBAExTgUgJgE6CwQDKgAIIwoFDgwEAs0GrEYbASBYf25lCDZoCEAOBgEiLgMpAAQdHQYTBQwGBOMELQJ2AkkzCwYYEAsEDO4I5QYzHAAD+AUnAQBePlICNQsFBBQCD9wE2gYOCoMLB1oTDAQ3DAkEBjQIMwYbDgkEAwM6BTVZIQYFASA2Bg8dCAIEA8IFBgHQAz1TBwIBBQsDAQABAAIOAgMABAQpDgMrCQIFIQYBAQUGChcIAQMMBQQCEgIABQECDAACAwMECAcBAwURBQKkLQ4MAAMEwgQ2EwcEBwkDYA0KEQkAABsRAgYFFPMDCQXEAwIHBgMFAQQEBgUCAgYBGAgABQcBCQcABxEFAAoCAwQEAegDQQMtCB0DuV0CDQMgqQJJFwFvDnMOYgwFBVEIAggQAAMsBQMRBAENDgMDBAQUBREABwUEAwEIAQkAAAQn+gQbABEJdSspAR0KDQh4Gg4JUi4uBQMQAz4rBBAACGg1AhMXFwgbGg8EAHsfGkcuHBEjHQcPAAFCJgsJCCEJEwgC6gP7A8ADBATeBEMCCB+vHA4BBecDJlAWAQMFmUtCEAIXJQsEBCkNAQgABAADBgIAOQYOIgADAQIZ4gN+BQsDBQtFCQcFtiIDDgoVCQeIMDUUBXUFQgkcSSwACwUcAAIDJQkIBC8GCAAWAwEIDwQBBAsKARUDBAgRAwIFCQoBBQMDDgUBAwEnHwsIDwEFASAKLAUCAgUaFBkLGAMFCwEDDAcAAwUQIQEADgAFAAgRAQIBBAAEADEmBOkHFgkDAgsSAxsJBQQsAQEEB27XCxcCAQDsCAA=")
|
||||
.checkScenarios(actionsOnJavaFiles(fileActions));
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -178,5 +178,10 @@ public class ConditionCoveredByFurtherCondition {
|
||||
static class Holder {
|
||||
static final Object x = new Object();
|
||||
}
|
||||
|
||||
void testChainInstanceof(String arg) {
|
||||
if ((<error descr="Inconvertible types; cannot cast 'java.lang.String' to 'java.lang.Integer'">arg instanceof Integer</error>) || <error descr="Inconvertible types; cannot cast 'java.lang.String' to 'java.lang.Long'">arg instanceof Long</error>) {}
|
||||
if (<error descr="Inconvertible types; cannot cast 'java.lang.String' to 'java.lang.Integer'">arg instanceof Integer</error> || <error descr="Inconvertible types; cannot cast 'java.lang.String' to 'java.lang.Long'">arg instanceof Long</error>) {}
|
||||
}
|
||||
}
|
||||
enum X {A, B, C}
|
||||
Reference in New Issue
Block a user