Type Alias nameAndTypeInfo
type nameAndTypeInfo = { descriptor: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: "wildcard"; tag: "*" } | { kind: "extends"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } | { kind: "super"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } | { kind: "arg"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } )
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: ...
; tag: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} )
[]; }[]; } | { element: any; kind: "array" }; kind: "array"; } | { kind: "methodDescriptor"; parameters: (
| { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ((...)
| (...)
| (...)
| (...))
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (...)
| (...)
}[]; } | { element: any; kind: "array" }; kind: "array"; } )
[]; returnType: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: ...
; tag: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} )
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (...)
[] }[]; } | { element: any; kind: "array" }; kind: "array"; } | { kind: "void" }; }; descriptorEntry: { index: number; tag: 1; value: string }; index: number; name: { index: number; tag: 1; value: string }; tag: 12;} descriptor
descriptor: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: "wildcard"; tag: "*" } | { kind: "extends"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } | { kind: "super"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } | { kind: "arg"; type: | (
{ kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ({ kind: "wildcard"; tag: "*"; } | { kind: "extends"; type: ... | { kind: "typeVar"; name: string; } | { ...; }; } | { ...; } | { ...; })[] | undefined; }[]; }
)
| { kind: ...
; name: ...
} | { element: ...
; kind: ...
}; } )
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: ...
; tag: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} )
[]; }[]; } | { element: any; kind: "array" }; kind: "array"; } | { kind: "methodDescriptor"; parameters: (
| { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: ((...)
| (...)
| (...)
| (...))
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (...)
| (...)
}[]; } | { element: any; kind: "array" }; kind: "array"; } )
[]; returnType: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (
| { kind: ...
; tag: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} | { kind: ...
; type: ...
} )
[]; }[]; } | { element: | { kind: "base"; name: BaseTypeName } | { kind: "classType"; packageAndOuter: string; simpleNames: { identifier: string; typeArguments?: (...)
[] }[]; } | { element: any; kind: "array" }; kind: "array"; } | { kind: "void" }; } descriptorEntry
descriptorEntry: { index: number; tag: 1; value: string }
name
name: { index: number; tag: 1; value: string }
Descriptor entry is the raw descriptor string entry, not used in the constant pool writer, it is just for lower-level use in parsing