/** * @author Martin Bravenboer <martin@cs.uu.nl> */ module dryad/reclassify/ClassOrInterfaceType strategies dryad-reclassify-type = ?ClassOrInterfaceType(name@TypeName(_, _), args) ; <lookup-class> name ; if is-interface then !InterfaceType(name, args) else !ClassType(name, args) end dryad-reclassify-type : ClassOrInterfaceType(TypeVar(qualifier, Id(x)), None()) -> TypeVar(qualifier, Id(x)) dryad-reclassify-type : ClassOrInterfaceType(TypeVar(qualifier, Id(x)), Some(args)) -> TypeVar(qualifier, Id(x), args) dryad-reclassify-type : ClassType(TypeVar(qualifier, Id(x)), None()) -> TypeVar(qualifier, Id(x)) dryad-reclassify-type : ClassType(TypeVar(qualifier, Id(x)), Some(args)) -> TypeVar(qualifier, Id(x), args) dryad-reclassify-type : InterfaceType(TypeVar(qualifier, Id(x)), None()) -> TypeVar(qualifier, Id(x)) dryad-reclassify-type : InterfaceType(TypeVar(qualifier, Id(x)), Some(args)) -> TypeVar(qualifier, Id(x), args)