This PR includes several issues we talked about during our last meetings.
introduced PrimitiveType, ClassType, ... which extend Type
introduced concrete types for edges and made TypeEdge abstract
fixed bugs
reduced the role of PrimitiveKind, ClassKind, ... accordingly
TypirProblem is an interface to extend now instead of a type union in order to enable additional problems by users
conversion: added structures to deal with transitivity and cycles, actual implementations of the algorithms are still missing (and will be added in another PR)
first support for bottom types
improved validation API
introduced type.getName() to have a short string to show to users
improved some details for FunctionTypes
unified and extended logic to compare types with each other
enforce uniqueness of new types, fixed calculation of uniqueness of functions
refactorings, simplified code, comments
For the review, it might be easier to check the single commits.
This PR includes several issues we talked about during our last meetings.
TypirProblem
is an interface to extend now instead of a type union in order to enable additional problems by usersFor the review, it might be easier to check the single commits.