libclassfile - v4.0.4
    Preparing search index...

    Type Alias record

    type record = {
        components: {
            attributes: (
                | {
                    known: true;
                    name: utf8InfoIdentifier<"Signature">;
                    signature:
                        | {
                            kind: "classType";
                            packageAndOuter: string;
                            simpleNames: { identifier: string; typeArguments?: (...)
                            | (...) }[];
                        }
                        | { kind: "typeVar"; name: string }
                        | {
                            element:
                                | {
                                    kind: "classType";
                                    packageAndOuter: string;
                                    simpleNames: (...)[];
                                }
                                | { kind: "typeVar"; name: string }
                                | { kind: "base"; name: BaseTypeName };
                            kind: "array";
                        }
                        | {
                            kind: "methodSignature";
                            parameters: (
                                | { kind: ...; packageAndOuter: ...; simpleNames: ... }
                                | { kind: ...; name: ... }
                                | { element: ...; kind: ... }
                                | { kind: ...; name: ... }
                                | { kind: ... }
                            )[];
                            returnType:
                                | {
                                    kind: "classType";
                                    packageAndOuter: string;
                                    simpleNames: (...)[];
                                }
                                | { kind: "typeVar"; name: string }
                                | { element: (...) | (...) | (...); kind: "array" }
                                | { kind: "base"; name: BaseTypeName }
                                | { kind: "void" };
                            throws?: ((...) | (...))[];
                            typeParameters?: TypeParameter[];
                        }
                        | {
                            kind: "classSignature";
                            superClass: {
                                kind: "classType";
                                packageAndOuter: string;
                                simpleNames: { identifier: ...; typeArguments?: ... }[];
                            };
                            superInterfaces: {
                                kind: "classType";
                                packageAndOuter: string;
                                simpleNames: (...)[];
                            }[];
                            typeParameters?: TypeParameter[];
                        };
                }
                | {
                    annotations: {
                        elementValuePairs: {
                            elementName: { index: ...; tag: ...; value: ... };
                            value:
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...);
                        }[];
                        type: { index: number; tag: 1; value: string };
                    }[];
                    known: true;
                    name: utf8InfoIdentifier<"RuntimeVisibleAnnotations">;
                }
                | {
                    annotations: {
                        elementValuePairs: {
                            elementName: { index: ...; tag: ...; value: ... };
                            value:
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...);
                        }[];
                        path: (
                            | { typeArgumentIndex: ...; typePathKind: ... }
                            | { typeArgumentIndex: ...; typePathKind: ... }
                        )[];
                        targetInfo:
                            | {
                                targetType: "typeParameterTarget";
                                targetTypeCode: (...)
                                | (...);
                                typeParameterIndex: number;
                            }
                            | {
                                supertypeIndex: number;
                                targetType: "supertypeTarget";
                                targetTypeCode: 16;
                            }
                            | {
                                boundIndex: number;
                                targetType: "typeParameterBoundTarget";
                                targetTypeCode: (...)
                                | (...);
                                typeParameterIndex: number;
                            }
                            | { targetType: "emptyTarget"; targetTypeCode: (...)
                            | (...)
                            | (...) }
                            | {
                                formalParameterIndex: number;
                                targetType: "formalParameterTarget";
                                targetTypeCode: 22;
                            }
                            | {
                                targetType: "throwsTarget";
                                targetTypeCode: 23;
                                throwsTypeIndex: number;
                            }
                            | {
                                table: (...)[];
                                targetType: "localvarTarget";
                                targetTypeCode: (...) | (...);
                            }
                            | {
                                exceptionTableIndex: number;
                                targetType: "catchTarget";
                                targetTypeCode: 66;
                            }
                            | {
                                offset: number;
                                targetType: "offsetTarget";
                                targetTypeCode: (...)
                                | (...)
                                | (...)
                                | (...);
                            }
                            | {
                                offset: number;
                                targetType: "typeArgumentTarget";
                                targetTypeCode: (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...);
                                typeArgumentIndex: number;
                            };
                        type: { index: number; tag: 1; value: string };
                    }[];
                    known: true;
                    name: utf8InfoIdentifier<"RuntimeVisibleTypeAnnotations">;
                }
            )[];
            descriptor: { index: number; tag: 1; value: string };
            name: { index: number; tag: 1; value: string };
        }[];
        known: true;
        name: utf8InfoIdentifier<"Record">;
    }
    components: {
        attributes: (
            | {
                known: true;
                name: utf8InfoIdentifier<"Signature">;
                signature:
                    | {
                        kind: "classType";
                        packageAndOuter: string;
                        simpleNames: { identifier: string; typeArguments?: (...)
                        | (...) }[];
                    }
                    | { kind: "typeVar"; name: string }
                    | {
                        element:
                            | {
                                kind: "classType";
                                packageAndOuter: string;
                                simpleNames: (...)[];
                            }
                            | { kind: "typeVar"; name: string }
                            | { kind: "base"; name: BaseTypeName };
                        kind: "array";
                    }
                    | {
                        kind: "methodSignature";
                        parameters: (
                            | { kind: ...; packageAndOuter: ...; simpleNames: ... }
                            | { kind: ...; name: ... }
                            | { element: ...; kind: ... }
                            | { kind: ...; name: ... }
                            | { kind: ... }
                        )[];
                        returnType:
                            | {
                                kind: "classType";
                                packageAndOuter: string;
                                simpleNames: (...)[];
                            }
                            | { kind: "typeVar"; name: string }
                            | { element: (...) | (...) | (...); kind: "array" }
                            | { kind: "base"; name: BaseTypeName }
                            | { kind: "void" };
                        throws?: ((...) | (...))[];
                        typeParameters?: TypeParameter[];
                    }
                    | {
                        kind: "classSignature";
                        superClass: {
                            kind: "classType";
                            packageAndOuter: string;
                            simpleNames: { identifier: ...; typeArguments?: ... }[];
                        };
                        superInterfaces: {
                            kind: "classType";
                            packageAndOuter: string;
                            simpleNames: (...)[];
                        }[];
                        typeParameters?: TypeParameter[];
                    };
            }
            | {
                annotations: {
                    elementValuePairs: {
                        elementName: { index: ...; tag: ...; value: ... };
                        value:
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...);
                    }[];
                    type: { index: number; tag: 1; value: string };
                }[];
                known: true;
                name: utf8InfoIdentifier<"RuntimeVisibleAnnotations">;
            }
            | {
                annotations: {
                    elementValuePairs: {
                        elementName: { index: ...; tag: ...; value: ... };
                        value:
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...);
                    }[];
                    path: (
                        | { typeArgumentIndex: ...; typePathKind: ... }
                        | { typeArgumentIndex: ...; typePathKind: ... }
                    )[];
                    targetInfo:
                        | {
                            targetType: "typeParameterTarget";
                            targetTypeCode: (...)
                            | (...);
                            typeParameterIndex: number;
                        }
                        | {
                            supertypeIndex: number;
                            targetType: "supertypeTarget";
                            targetTypeCode: 16;
                        }
                        | {
                            boundIndex: number;
                            targetType: "typeParameterBoundTarget";
                            targetTypeCode: (...)
                            | (...);
                            typeParameterIndex: number;
                        }
                        | { targetType: "emptyTarget"; targetTypeCode: (...)
                        | (...)
                        | (...) }
                        | {
                            formalParameterIndex: number;
                            targetType: "formalParameterTarget";
                            targetTypeCode: 22;
                        }
                        | {
                            targetType: "throwsTarget";
                            targetTypeCode: 23;
                            throwsTypeIndex: number;
                        }
                        | {
                            table: (...)[];
                            targetType: "localvarTarget";
                            targetTypeCode: (...) | (...);
                        }
                        | {
                            exceptionTableIndex: number;
                            targetType: "catchTarget";
                            targetTypeCode: 66;
                        }
                        | {
                            offset: number;
                            targetType: "offsetTarget";
                            targetTypeCode: (...)
                            | (...)
                            | (...)
                            | (...);
                        }
                        | {
                            offset: number;
                            targetType: "typeArgumentTarget";
                            targetTypeCode: (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...);
                            typeArgumentIndex: number;
                        };
                    type: { index: number; tag: 1; value: string };
                }[];
                known: true;
                name: utf8InfoIdentifier<"RuntimeVisibleTypeAnnotations">;
            }
        )[];
        descriptor: { index: number; tag: 1; value: string };
        name: { index: number; tag: 1; value: string };
    }[]
    known: true
    name: utf8InfoIdentifier<"Record">