Существует ли интерактивный инструмент отладки Eclipse для оценки свойств типа? - PullRequest
1 голос
/ 26 февраля 2012

У меня довольно сложная иерархия типов, и иногда я сталкиваюсь с трудными для отладки ошибками типов. Мне интересно, есть ли какой-нибудь инструмент, чтобы узнать, выполнены ли требования к типу.

Например, если у меня есть следующие типы:

class ShapeTypeDebugging {
   interface Shape {}
   interface CanRoll {}
   interface ShapeRoller<T extends CanRoll & Shape> {
      void Roll(T t);
   }
   interface Circle extends Shape, CanRoll {}
   interface HasThreeDimensions {}
   interface ThreeDimensionalShape extends Shape, HasThreeDimensions {}
   interface Sphere extends ThreeDimensionalShape {} // Oops, forgot Spheres CanRoll
   interface SphereRoller extends ShapeRoller<Sphere> {
      @Override void Roll(Sphere sphere);
   }
}

Интерфейс SphereRoller вызовет ошибку компилятора: Bound mismatch: The type Sphere is not a valid substitute for the bounded parameter <T extends CanRoll & Shape> of the type ShapeRoller<T>

Если бы можно было узнать о свойствах типа, таких как Сфера instanceof CanSpin, это помогло бы мне понять, что я забыл добавить атрибут CanSpin в Сферу.

Предположительно, это возможно в представлении выражений отладчика, если приложение правильно и правильно построено, но до этого ошибки типа уже должны быть устранены.

Существует ли какой-либо инструмент или надстройка для Eclipse, которая позволила бы мне делать подобные запросы типа времени компиляции?

1 Ответ

1 голос
/ 26 февраля 2012

Вы можете нажать F4 («Навигация - Открыть иерархию типов») с выбранным требуемым типом, чтобы увидеть всю вовлеченную иерархию типов. Вам не нужна оценка во время выполнения для достижения цели, если я все понял правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...