CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
ltm.c-Dateireferenz
#include <string.h>
#include "lua.h"
#include "lobject.h"
#include "lstate.h"
#include "lstring.h"
#include "ltable.h"
#include "ltm.h"
+ Include-Abhängigkeitsdiagramm für ltm.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define ltm_c
 
#define LUA_CORE
 

Funktionen

LUAI_FUNC void luaT_init (lua_State *L)
 
LUAI_FUNC const TValueluaT_gettm (Table *events, TMS event, TString *ename)
 
LUAI_FUNC const TValueluaT_gettmbyobj (lua_State *L, const TValue *o, TMS event)
 

Variablen

const char *const luaT_typenames []
 

Makro-Dokumentation

#define ltm_c

Definiert in Zeile 10 der Datei ltm.c.

#define LUA_CORE

Definiert in Zeile 11 der Datei ltm.c.

Dokumentation der Funktionen

LUAI_FUNC const TValue* luaT_gettm ( Table events,
TMS  event,
TString ename 
)

Definiert in Zeile 50 der Datei ltm.c.

50  {
51  const TValue *tm = luaH_getstr(events, ename);
52  lua_assert(event <= TM_EQ);
53  if (ttisnil(tm)) { /* no tag method? */
54  events->flags |= cast_byte(1u<<event); /* cache this fact */
55  return NULL;
56  }
57  else return tm;
58 }
LUAI_FUNC const TValue* luaT_gettmbyobj ( lua_State L,
const TValue o,
TMS  event 
)

Definiert in Zeile 61 der Datei ltm.c.

61  {
62  Table *mt;
63  switch (ttype(o)) {
64  case LUA_TTABLE:
65  mt = hvalue(o)->metatable;
66  break;
67  case LUA_TUSERDATA:
68  mt = uvalue(o)->metatable;
69  break;
70  default:
71  mt = G(L)->mt[ttype(o)];
72  }
73  return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject);
74 }
LUAI_FUNC void luaT_init ( lua_State L)

Definiert in Zeile 30 der Datei ltm.c.

30  {
31  static const char *const luaT_eventname[] = { /* ORDER TM */
32  "__index", "__newindex",
33  "__gc", "__mode", "__eq",
34  "__add", "__sub", "__mul", "__div", "__mod",
35  "__pow", "__unm", "__len", "__lt", "__le",
36  "__concat", "__call"
37  };
38  int i;
39  for (i=0; i<TM_N; i++) {
40  G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]);
41  luaS_fix(G(L)->tmname[i]); /* never collect these names */
42  }
43 }

Variablen-Dokumentation

const char* const luaT_typenames[]
Initialisierung:
= {
"nil", "boolean", "userdata", "number",
"string", "table", "function", "userdata", "thread",
"proto", "upval"
}

Definiert in Zeile 23 der Datei ltm.c.