# Generated by tools/gen_tags.nim from doc/tags.md. DO NOT EDIT!

import tags

type
  NifIndexKind* = enum
    NoIndexTag
    KvIdx = (ord(KvTagId), "kv")  ## key-value pair; optional INTLIT indicates field is in an inherited object
    VvIdx = (ord(VvTagId), "vv")  ## value-value pair (used for explicitly named arguments in function calls)
    GvarIdx = (ord(GvarTagId), "gvar")  ## global variable declaration
    TvarIdx = (ord(TvarTagId), "tvar")  ## thread local variable declaration
    VarIdx = (ord(VarTagId), "var")  ## variable declaration; type slot may be omitted when inferred from initializer
    ConstIdx = (ord(ConstTagId), "const")  ## const variable declaration
    GletIdx = (ord(GletTagId), "glet")  ## global let variable declaration
    TletIdx = (ord(TletTagId), "tlet")  ## thread local let variable declaration
    LetIdx = (ord(LetTagId), "let")  ## let variable declaration; type is optional when used in `(unpackflat …)`
    CursorIdx = (ord(CursorTagId), "cursor")  ## cursor variable declaration
    ProcIdx = (ord(ProcTagId), "proc")  ## proc declaration
    FuncIdx = (ord(FuncTagId), "func")  ## function declaration
    IteratorIdx = (ord(IteratorTagId), "iterator")  ## iterator declaration
    ConverterIdx = (ord(ConverterTagId), "converter")  ## converter declaration
    MethodIdx = (ord(MethodTagId), "method")  ## method declaration
    MacroIdx = (ord(MacroTagId), "macro")  ## macro declaration
    TemplateIdx = (ord(TemplateTagId), "template")  ## template declaration
    TypeIdx = (ord(TypeTagId), "type")  ## type declaration
    InlineIdx = (ord(InlineTagId), "inline")  ## `inline` proc annotation
    ExportIdx = (ord(ExportTagId), "export")  ## `export` statement
    FromexportIdx = (ord(FromexportTagId), "fromexport")  ## specific exported symbols from a module
    ExportexceptIdx = (ord(ExportexceptTagId), "exportexcept")  ## `exportexcept` statement
    BuildIdx = (ord(BuildTagId), "build")  ## `build` pragma
    IndexIdx = (ord(IndexTagId), "index")  ## index section

proc rawTagIsNifIndexKind*(raw: TagEnum): bool {.inline.} =
  raw in {KvTagId, VvTagId, GvarTagId, TvarTagId, VarTagId, ConstTagId, GletTagId, TletTagId, LetTagId, CursorTagId, ProcTagId, FuncTagId, IteratorTagId, ConverterTagId, MethodTagId, MacroTagId, TemplateTagId, TypeTagId, InlineTagId, ExportTagId, FromexportTagId, ExportexceptTagId, BuildTagId, IndexTagId}

