私はかなり複雑なタイプの階層を持ち、難しいタイプのエラーに遭遇することがあります。タイプ要件が満たされているかどうかを調べるためのツールがあるかどうか疑問に思っています。例えばタイプのプロパティを評価するためのEclipseインタラクティブなデバッグツールはありますか?
私は、次の種類がある場合:
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
属性をSphereに追加するのを忘れていました。
これは、アプリケーションが正しく構築されて実行された後、型エラーが解決されなければ、デバッガの式ビューではおそらく可能です。
このようなコンパイル時の照会を可能にするEclipseのツールやアドオンはありますか?
これは大きな助けになりました。ありがとうございます!以前はタイプエクスプローラの存在に気がついたことがありましたが、それを試したことはありませんでした。あなたの提案でそれを再生した後、私は私が望むような型のプロパティを直接テストすることはできませんが、それはまだ何よりも優れています。ビルド時にタイプ表現をより直接的に評価できるように他の人が誰かを思いついた場合に備えて、私は少し待って答えを受け取ります。 –