Consider the following:
void test(something) {
switch (something) {
case Class.class:
something.canonicalName
break
case File:
something.canonicalPath
break
default:
something.toString()
}
}
"canonicalName" and "canonicalPath" are shown as unknown (underlined). Their type could be inferred from each CaseStatement with ClassExpression test.

Consider the following:
"canonicalName" and "canonicalPath" are shown as unknown (underlined). Their type could be inferred from each
CaseStatementwithClassExpressiontest.