Дротик перекрывающий унарный минус оператор
Согласно спецификации языка (10.1.1 Операторы) я пытаюсь переопределить некоторые операторы.
Я получаю сообщение об ошибке анализатора при переопределении операторов "минус" и "унарный минус", которые я не получаю:
"Оператор"-"не определен для отступа класса"
но в классе я определил это:
Indentation operator -() {
level--;
return this;
}
и я использую это как myInstance--;
и это на самом деле работает, но анализатор все еще жалуется, и я не могу отправить код "чистый" из-за ошибки.
Я искал старую ветку ( почему переопределение отрицания вызывает статическое предупреждение в Dart), но я думаю, что оно здесь не актуально.
Любой совет приветствуется.
1 ответ
Решение
--x
такой же как x -= 1
, Чтобы использовать его, вы должны определить operator -(p)
(не operator -()
)
Indentation operator -(n) => new Indentation(level - n);