%%%
%% Section 4.4: Type Variables
%%
%% @author Martin Bravenboer <martin.bravenboer@gmail.com>
%%%
module languages/java-15/types/TypeVariables
imports
languages/java-15/lexical/Identifiers
languages/java-15/types/ReferenceTypes
exports
sorts
TypeParams
TypeParam
TypeBound
TypeVarId
context-free syntax
TypeVarId TypeBound? -> TypeParam {cons("TypeParam")}
"extends" {ClassOrInterfaceType "&"}+ -> TypeBound {cons("TypeBound")}
"<" {TypeParam ","}+ ">" -> TypeParams {cons("TypeParams")}
Id -> TypeVarId