geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

entry.h File Reference
#include "general.h"
#include "types.h"
#include <stdint.h>
#include "field.h"
#include "xtag.h"
#include "mio.h"
#include "ptrarray.h"
#include "nestlevel.h"
Include dependency graph for entry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  sTagField
struct  sTagEntryInfo


#define ROLE_DEFINITION_NAME   "def"
#define ROLE_MAX_COUNT   (sizeof(roleBitsType) * 8)
#define NO_PARSER_FIELD   -1
#define CORK_NIL   0


typedef struct sTagField tagField
typedef uint64_t roleBitsType
typedef bool(* entryForeachFunc) (int corkIndex, tagEntryInfo *entry, void *data)


int makeTagEntry (const tagEntryInfo *const tag)
void initTagEntry (tagEntryInfo *const e, const char *const name, int kindIndex)
void initRefTagEntry (tagEntryInfo *const e, const char *const name, int kindIndex, int roleIndex)
void initForeignRefTagEntry (tagEntryInfo *const e, const char *const name, langType type, int kindIndex, int roleIndex)
void assignRole (tagEntryInfo *const e, int roleIndex)
bool isRoleAssigned (const tagEntryInfo *const e, int roleIndex)
int makeQualifiedTagEntry (const tagEntryInfo *const e)
tagEntryInfogetEntryInCorkQueue (int n)
tagEntryInfogetEntryOfNestingLevel (const NestingLevel *nl)
size_t countEntryInCorkQueue (void)
void registerEntry (int corkIndex)
bool foreachEntriesInScope (int corkIndex, const char *name, entryForeachFunc func, void *data)
int anyEntryInScope (int corkIndex, const char *name)
int anyKindEntryInScope (int corkIndex, const char *name, int kind)
int anyKindsEntryInScope (int corkIndex, const char *name, const int *kinds, int count)
int anyKindsEntryInScopeRecursive (int corkIndex, const char *name, const int *kinds, int count)
void markTagExtraBit (tagEntryInfo *const tag, xtagType extra)
bool isTagExtraBitMarked (const tagEntryInfo *const tag, xtagType extra)
bool isTagExtra (const tagEntryInfo *const tag)
void attachParserField (tagEntryInfo *const tag, bool inCorkQueue, fieldType ftype, const char *value)
void attachParserFieldToCorkEntry (int index, fieldType ftype, const char *value)
const char * getParserFieldValueForType (tagEntryInfo *const tag, fieldType ftype)
int makePlaceholder (const char *const name)
void markAllEntriesInScopeAsPlaceholder (int index)

Macro Definition Documentation


#define CORK_NIL   0

Definition at line 145 of file entry.h.


#define NO_PARSER_FIELD   -1

Definition at line 108 of file entry.h.



Definition at line 107 of file entry.h.



Definition at line 90 of file entry.h.


#define ROLE_DEFINITION_NAME   "def"

Definition at line 91 of file entry.h.


#define ROLE_MAX_COUNT   (sizeof(roleBitsType) * 8)

Definition at line 92 of file entry.h.

Typedef Documentation

◆ entryForeachFunc

typedef bool(* entryForeachFunc) (int corkIndex, tagEntryInfo *entry, void *data)

Definition at line 119 of file entry.h.

◆ roleBitsType

typedef uint64_t roleBitsType

Definition at line 39 of file entry.h.

◆ tagField

typedef struct sTagField tagField

Function Documentation

◆ anyEntryInScope()

int anyEntryInScope ( int  corkIndex,
const char *  name 

Definition at line 1334 of file entry.c.

References CORK_NIL, findName(), foreachEntriesInScope(), index, and name.

◆ anyKindEntryInScope()

int anyKindEntryInScope ( int  corkIndex,
const char *  name,
int  kind 

Definition at line 1366 of file entry.c.

References anyKindsEntryInScope(), and name.

◆ anyKindsEntryInScope()

int anyKindsEntryInScope ( int  corkIndex,
const char *  name,
const int *  kinds,
int  count 

◆ anyKindsEntryInScopeRecursive()

int anyKindsEntryInScopeRecursive ( int  corkIndex,
const char *  name,
const int *  kinds,
int  count 

◆ assignRole()

void assignRole ( tagEntryInfo *const  e,
int  roleIndex 

Definition at line 1964 of file entry.c.

References assignRoleFull().

Referenced by createCTSTTags(), and matchTagPattern().

◆ attachParserField()

void attachParserField ( tagEntryInfo *const  tag,
bool  inCorkQueue,
fieldType  ftype,
const char *  value 

◆ attachParserFieldToCorkEntry()

void attachParserFieldToCorkEntry ( int  index,
fieldType  ftype,
const char *  value 

Definition at line 987 of file entry.c.

References attachParserField(), getEntryInCorkQueue(), and index.

◆ countEntryInCorkQueue()

size_t countEntryInCorkQueue ( void  )

Definition at line 1650 of file entry.c.

References eTagFile::corkQueue, ptrArrayCount(), and TagFile.

◆ foreachEntriesInScope()

◆ getEntryInCorkQueue()

◆ getEntryOfNestingLevel()

◆ getParserFieldValueForType()

const char * getParserFieldValueForType ( tagEntryInfo *const  tag,
fieldType  ftype 

◆ initForeignRefTagEntry()

void initForeignRefTagEntry ( tagEntryInfo *const  e,
const char *const  name,
langType  type,
int  kindIndex,
int  roleIndex 

◆ initRefTagEntry()

void initRefTagEntry ( tagEntryInfo *const  e,
const char *const  name,
int  kindIndex,
int  roleIndex 

◆ initTagEntry()

◆ isRoleAssigned()

bool isRoleAssigned ( const tagEntryInfo *const  e,
int  roleIndex 

◆ isTagExtra()

bool isTagExtra ( const tagEntryInfo *const  tag)

Definition at line 1932 of file entry.c.

References isTagExtraBitMarked(), and XTAG_COUNT.

◆ isTagExtraBitMarked()

bool isTagExtraBitMarked ( const tagEntryInfo *const  tag,
xtagType  extra 

◆ makePlaceholder()

int makePlaceholder ( const char *const  name)

◆ makeQualifiedTagEntry()

◆ makeTagEntry()

◆ markAllEntriesInScopeAsPlaceholder()

void markAllEntriesInScopeAsPlaceholder ( int  index)

Definition at line 2036 of file entry.c.

References foreachEntriesInScope(), index, markAsPlaceholder(), and NULL.

Referenced by markAsPlaceholder().

◆ markTagExtraBit()

void markTagExtraBit ( tagEntryInfo *const  tag,
xtagType  extra 

◆ registerEntry()