libclassfile - v4.0.4
    Preparing search index...

    Function assertAttributeType

    • Type Parameters

      • allowedNames extends string | string[] | readonly string[]

      Parameters

      Returns asserts entry is
          | Extract<
              constantValue,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              code,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              stackMapTable,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              exceptions,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              innerClasses,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              enclosingMethod,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              synthetic,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              attributes.signature,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              sourcefile,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              sourceDebugExtension,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              lineNumberTable,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              localVariableTable,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              localVariableTypeTable,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              deprecated,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeVisibleAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeInvisibleAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeVisibleParameterAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeInvisibleParameterAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeVisibleTypeAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              runtimeInvisibleTypeAnnotations,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              annotationDefault,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              bootstrapMethods,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              methodParameters,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              module,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              modulePackages,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              moduleMainClass,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              nestHost,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              nestMembers,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              {
                  components: {
                      attributes: (
                          | {
                              known: true;
                              name: utf8InfoIdentifier<"Signature">;
                              signature:
                                  | {
                                      kind: "classType";
                                      packageAndOuter: string;
                                      simpleNames: (...)[];
                                  }
                                  | { kind: "typeVar"; name: string }
                                  | { element: (...) | (...) | (...); kind: "array" }
                                  | {
                                      kind: "methodSignature";
                                      parameters: (...)[];
                                      returnType: (...) | (...) | (...) | (...) | (...);
                                      throws?: (...) | (...);
                                      typeParameters?: (...) | (...);
                                  }
                                  | {
                                      kind: "classSignature";
                                      superClass: { kind: ...; packageAndOuter: ...; simpleNames: ... };
                                      superInterfaces: (...)[];
                                      typeParameters?: (...) | (...);
                                  };
                          }
                          | {
                              annotations: {
                                  elementValuePairs: (...)[];
                                  type: { index: ...; tag: ...; value: ... };
                              }[];
                              known: true;
                              name: utf8InfoIdentifier<"RuntimeVisibleAnnotations">;
                          }
                          | {
                              annotations: {
                                  elementValuePairs: (...)[];
                                  path: (...)[];
                                  targetInfo:
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                  type: { index: ...; tag: ...; value: ... };
                              }[];
                              known: true;
                              name: utf8InfoIdentifier<"RuntimeVisibleTypeAnnotations">;
                          }
                      )[];
                      descriptor: { index: number; tag: 1; value: string };
                      name: { index: number; tag: 1; value: string };
                  }[];
                  known: true;
                  name: utf8InfoIdentifier<"Record">;
              },
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              permittedSubclasses,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >
          | Extract<
              unknownAttribute,
              {
                  name: { index: number; tag: 1; value: string } & {
                      value: makeMutable<allowedNames> extends any[]
                          ? makeMutable<makeMutable<allowedNames>>[number]
                          : makeMutable<allowedNames>;
                  };
              },
          >