sig
type typeVariable = TypeVariable of string
type typeArgument =
ArgumentExtends of JSignature.fieldTypeSignature
| ArgumentInherits of JSignature.fieldTypeSignature
| ArgumentIs of JSignature.fieldTypeSignature
| ArgumentIsAny
and simpleClassTypeSignature = {
scts_name : string;
scts_type_arguments : JSignature.typeArgument list;
}
and classTypeSignature = {
cts_package : string list;
cts_enclosing_classes : JSignature.simpleClassTypeSignature list;
cts_simple_class_type_signature : JSignature.simpleClassTypeSignature;
}
and formalTypeParameter = {
ftp_name : string;
ftp_class_bound : JSignature.fieldTypeSignature option;
ftp_interface_bounds : JSignature.fieldTypeSignature list;
}
and throwsSignature =
ThrowsClass of JSignature.classTypeSignature
| ThrowsTypeVariable of JSignature.typeVariable
and typeSignature =
GBasic of JBasics.java_basic_type
| GObject of JSignature.fieldTypeSignature
and classSignature = {
cs_formal_type_parameters : JSignature.formalTypeParameter list;
cs_super_class : JSignature.classTypeSignature;
cs_super_interfaces : JSignature.classTypeSignature list;
}
and fieldTypeSignature =
GClass of JSignature.classTypeSignature
| GArray of JSignature.typeSignature
| GVariable of JSignature.typeVariable
type methodTypeSignature = {
mts_formal_type_parameters : JSignature.formalTypeParameter list;
mts_type_signature : JSignature.typeSignature list;
mts_return_type : JSignature.typeSignature option;
mts_throws : JSignature.throwsSignature list;
}
end