NAME ^

src/dynpmc/dynlexpad.pmc - DynLexPad PMC

DESCRIPTION ^

DynLexPad provides a more dynamic lexpad that allows the addition of lexicals at runtime.

Functions ^

init_pmc(PMC *lexinfo)

Initialize the LexPad PMC and remember the associate lexinfo.

void set_pointer(void *)

Initialize the LexPad PMC and remember the associate context.

INTVAL elements()

Returns the number of elements in the hash.

INTVAL exists_keyed(PMC *name)

INTVAL exists_keyed_str(STRING *name)

Returns whether a lexical name exists in the hash.

PMC *get_pmc_keyed_str(STRING *name)

PMC *get_pmc_keyed(PMC *name)

Return the lexical with the given name, or NULL (not PMCNULL), if the lexical doesn't exist.

void set_pmc_keyed(PMC *name, PMC *value)

void set_pmc_keyed_str(STRING *name, PMC *value)

Set the lexical with the given name to value. If the lexical name doesn't exist, it is created.

METHOD PMC *get_lexinfo()

Return the LexInfo PMC, if any or a Null PMC.

void mark()

Marks the lexpad hash as live.

SEE ALSO ^

docs/pdds/pdd20_lecical_vars.pod, src/pmc/lexpad.pmc, src/pmc/lexinfo.pmc.


parrot