Module Item Declaration

#include <jnc_ModuleItem.h>

// enums

enum jnc_AccessKind;
enum jnc_StorageKind;

// structs

struct jnc_ModuleItemDecl;

// global functions

const char*
jnc_getStorageKindString(jnc_StorageKind storageKind);

const char*
jnc_getAccessKindString(jnc_AccessKind accessKind);

const char*
jnc_ModuleItemDecl_getName(jnc_ModuleItemDecl* decl);

const char*
jnc_ModuleItemDecl_getQualifiedName(jnc_ModuleItemDecl* decl);

jnc_StorageKind
jnc_ModuleItemDecl_getStorageKind(jnc_ModuleItemDecl* decl);

jnc_AccessKind
jnc_ModuleItemDecl_getAccessKind(jnc_ModuleItemDecl* decl);

jnc_AttributeBlock*
jnc_ModuleItemDecl_getAttributeBlock(jnc_ModuleItemDecl* decl);

jnc_Attribute*
jnc_ModuleItemDecl_findAttribute(
    jnc_ModuleItemDecl* decl,
    const char* name
);

jnc_Namespace*
jnc_ModuleItemDecl_getParentNamespace(jnc_ModuleItemDecl* decl);

jnc_Unit*
jnc_ModuleItemDecl_getParentUnit(jnc_ModuleItemDecl* decl);

int
jnc_ModuleItemDecl_getLine(jnc_ModuleItemDecl* decl);

int
jnc_ModuleItemDecl_getCol(jnc_ModuleItemDecl* decl);