Skip to content

add a "type system" #625

@Ladicek

Description

@Ladicek

By type system, I mean a utility that can answer questions like this:

  • is class A a subclass of B?
  • does method A.m() override B.m()?
  • list all methods from A and superclasses (and interfaces), but from the set of overriding methods, only mention one (the "lowest")

Overriding in particular is tricky, because we need multiple variations. Sometimes, we need to ignore visibility; sometimes, we may not.

This should be a separate interface that would accept a Jandex index and would have to assume that the index is complete (that is, if it contains class A, it also contains all its superclasses and superinterfaces). If it is not, exceptions are guaranteed to be thrown -- the utility should probably check on its own and provide better error messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions