В соответствии с документацией допустимым оператором для безопасной разыменования нулевой ссылки является следующий:
!.
При использовании в IntelliJ это не проблема с точки зренияо том, как правило работает прагматично, оно все еще проверяет, но не компилируется в IDE нормально.Я получаю неоднозначные ошибки «не могу разрешить» под соответствующими именами переменных.
Например:
dialect "mvel"
rule "Some rule"
when
$fact : Person( age <= 21, name!.equalsIgnoreCase("bob") )
then
// success
end
Я могу запустить и проверить это очень хорошо, но я получаю волнистую отметку под$fact
переменная с неожиданными или не может разрешить ошибки.Если я удаляю оператор !.
и явно набираю name != null && name.equalsIgnoreCase()
, это позволяет снова использовать автозаполнение для свойства / функций, а также устранение «ошибок».Это также верно, даже если нет переменной и только объект Person
.
Есть ли параметр или свойство модуля, которые мне нужно включить для поддержки этого в IDE?
- Я пытался разрешить зависимости.
- Я повторно синхронизировал проект.
- У меня поврежден кэш и перезапущен.
Использование :IntelliJ Ultimate 2019.1.3Плагин JBoss Drools
Maven:
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>7.23.0.Final</version>
</dependency>
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-spring</artifactId>
<version>7.23.0.Final</version>
</dependency>