1602{
1608
1609 static const WCHAR class_initializeW[] = {
'c',
'l',
'a',
's',
's',
'_',
'i',
'n',
'i',
't',
'i',
'a',
'l',
'i',
'z',
'e',0};
1610 static const WCHAR class_terminateW[] = {
'c',
'l',
'a',
's',
's',
'_',
't',
'e',
'r',
'm',
'i',
'n',
'a',
't',
'e',0};
1611
1616 }
1617
1619 if(!class_desc)
1621
1623 if(!class_desc->
name)
1625
1627
1628 for(func_decl = class_decl->
funcs; func_decl; func_decl = func_decl->
next) {
1629 for(func_prop_decl = func_decl; func_prop_decl; func_prop_decl = func_prop_decl->
next_prop_func) {
1631 break;
1632 }
1633 if(!func_prop_decl)
1635 }
1636
1638 if(!class_desc->
funcs)
1641
1642 for(func_decl = class_decl->
funcs,
i=1; func_decl; func_decl = func_decl->
next,
i++) {
1643 for(func_prop_decl = func_decl; func_prop_decl; func_prop_decl = func_prop_decl->
next_prop_func) {
1646 break;
1647 }
1648 }
1649
1650 if(!
wcsicmp(class_initializeW, func_decl->
name)) {
1652 FIXME(
"class initializer is not sub\n");
1654 }
1655
1657 }
else if(!
wcsicmp(class_terminateW, func_decl->
name)) {
1659 FIXME(
"class terminator is not sub\n");
1661 }
1662
1664 }
1665
1669 }
1670
1671 for(prop_decl = class_decl->
props; prop_decl; prop_decl = prop_decl->
next)
1673
1675 if(!class_desc->
props)
1677
1678 for(prop_decl = class_decl->
props,
i=0; prop_decl; prop_decl = prop_decl->
next,
i++) {
1682 }
1683
1687
1690
1693 }
1694
1699
1700 for(prop_decl = class_decl->
props,
i=0; prop_decl; prop_decl = prop_decl->
next) {
1705 }
1706 }
1707 }
1708
1709 class_desc->
next =
ctx->classes;
1710 ctx->classes = class_desc;
1712}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void * compiler_alloc(bytecode_t *code, size_t size)
static jsstr_t * compiler_alloc_string(compiler_ctx_t *ctx, const WCHAR *str)
array_desc_t * array_descs
vbdisp_prop_desc_t * props
vbdisp_funcprop_desc_t * funcs
unsigned class_terminate_id
unsigned class_initialize_id
struct _class_desc_t * next
struct _dim_decl_t * next
struct _function_decl_t * next_prop_func
struct _function_decl_t * next
static BOOL lookup_dim_decls(compile_ctx_t *ctx, const WCHAR *name)
static HRESULT fill_array_desc(compile_ctx_t *ctx, dim_decl_t *dim_decl, array_desc_t *array_desc)
static BOOL lookup_class_funcs(class_desc_t *class_desc, const WCHAR *name)
static expression_t * lookup_const_decls(compile_ctx_t *ctx, const WCHAR *name, BOOL lookup_global)
static BOOL lookup_class_name(compile_ctx_t *ctx, const WCHAR *name)
static void * compiler_alloc_zero(vbscode_t *vbscode, size_t size)
static HRESULT create_class_funcprop(compile_ctx_t *ctx, function_decl_t *func_decl, vbdisp_funcprop_desc_t *desc)
static BOOL lookup_funcs_name(compile_ctx_t *ctx, const WCHAR *name)