Поддержка IntelliJ Drools для нетрадиционного синтаксиса Java - PullRequest
0 голосов
/ 19 июня 2019

В соответствии с документацией допустимым оператором для безопасной разыменования нулевой ссылки является следующий:

!.

При использовании в IntelliJ это не проблема с точки зренияо том, как правило работает прагматично, оно все еще проверяет, но не компилируется в IDE нормально.Я получаю неоднозначные ошибки «не могу разрешить» под соответствующими именами переменных.

Например:

dialect "mvel"

rule "Some rule"
when 
   $fact : Person( age <= 21, name!.equalsIgnoreCase("bob") )
then
  // success
end

enter image description here

Я могу запустить и проверить это очень хорошо, но я получаю волнистую отметку под$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>
...