libclassfile - v4.0.6
    Preparing search index...

    Type Alias nameAndTypeInfo

    Descriptor entry is the raw descriptor string entry, not used in the constant pool writer, it is just for lower-level use in parsing

    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:
        | { 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