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.

Classes

struct  sTagField
 
struct  sTagEntryInfo
 

Macros

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

Typedefs

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

Functions

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

◆ CORK_NIL

#define CORK_NIL   0

Definition at line 145 of file entry.h.

◆ NO_PARSER_FIELD

#define NO_PARSER_FIELD   -1

Definition at line 108 of file entry.h.

◆ PRE_ALLOCATED_PARSER_FIELDS

#define PRE_ALLOCATED_PARSER_FIELDS   5

Definition at line 107 of file entry.h.

◆ ROLE_DEFINITION_INDEX

#define ROLE_DEFINITION_INDEX   -1

Definition at line 90 of file entry.h.

◆ ROLE_DEFINITION_NAME

#define ROLE_DEFINITION_NAME   "def"

Definition at line 91 of file entry.h.

◆ ROLE_MAX_COUNT

#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()