Commit 99056d7e authored by Dan Hipschman's avatar Dan Hipschman Committed by Alexandre Julliard

widl: Write forward declarations for coclass definitions.

parent f07740b2
...@@ -53,7 +53,7 @@ typedef enum { ...@@ -53,7 +53,7 @@ typedef enum {
EDITMODE EDITMODE
} USERMODE; } USERMODE;
typedef struct { struct HTMLDocument {
const IHTMLDocument2Vtbl *lpHTMLDocument2Vtbl; const IHTMLDocument2Vtbl *lpHTMLDocument2Vtbl;
const IHTMLDocument3Vtbl *lpHTMLDocument3Vtbl; const IHTMLDocument3Vtbl *lpHTMLDocument3Vtbl;
const IPersistMonikerVtbl *lpPersistMonikerVtbl; const IPersistMonikerVtbl *lpPersistMonikerVtbl;
...@@ -96,7 +96,7 @@ typedef struct { ...@@ -96,7 +96,7 @@ typedef struct {
ConnectionPoint *cp_propnotif; ConnectionPoint *cp_propnotif;
HTMLDOMNode *nodes; HTMLDOMNode *nodes;
} HTMLDocument; };
struct NSContainer { struct NSContainer {
const nsIWebBrowserChromeVtbl *lpWebBrowserChromeVtbl; const nsIWebBrowserChromeVtbl *lpWebBrowserChromeVtbl;
......
...@@ -87,7 +87,7 @@ typedef struct { ...@@ -87,7 +87,7 @@ typedef struct {
ConnectionPointContainer cps; ConnectionPointContainer cps;
} DocHost; } DocHost;
typedef struct { struct WebBrowser {
/* Interfaces available via WebBrowser object */ /* Interfaces available via WebBrowser object */
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl; const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
...@@ -130,9 +130,9 @@ typedef struct { ...@@ -130,9 +130,9 @@ typedef struct {
VARIANT_BOOL tool_bar; VARIANT_BOOL tool_bar;
DocHost doc_host; DocHost doc_host;
} WebBrowser; };
typedef struct { struct InternetExplorer {
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl; const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
LONG ref; LONG ref;
...@@ -140,7 +140,7 @@ typedef struct { ...@@ -140,7 +140,7 @@ typedef struct {
HWND frame_hwnd; HWND frame_hwnd;
DocHost doc_host; DocHost doc_host;
} InternetExplorer; };
#define WEBBROWSER(x) ((IWebBrowser*) &(x)->lpWebBrowser2Vtbl) #define WEBBROWSER(x) ((IWebBrowser*) &(x)->lpWebBrowser2Vtbl)
#define WEBBROWSER2(x) ((IWebBrowser2*) &(x)->lpWebBrowser2Vtbl) #define WEBBROWSER2(x) ((IWebBrowser2*) &(x)->lpWebBrowser2Vtbl)
......
...@@ -249,6 +249,7 @@ gbl_statements: { $$ = NULL; } ...@@ -249,6 +249,7 @@ gbl_statements: { $$ = NULL; }
| gbl_statements coclassdef { $$ = $1; | gbl_statements coclassdef { $$ = $1;
add_coclass($2); add_coclass($2);
reg_type($2, $2->name, 0); reg_type($2, $2->name, 0);
if (!parse_only && do_header) write_coclass_forward($2);
} }
| gbl_statements moduledef { $$ = $1; add_module($2); } | gbl_statements moduledef { $$ = $1; add_module($2); }
| gbl_statements librarydef { $$ = $1; } | gbl_statements librarydef { $$ = $1; }
...@@ -261,6 +262,7 @@ imp_statements: {} ...@@ -261,6 +262,7 @@ imp_statements: {}
| imp_statements coclass ';' { reg_type($2, $2->name, 0); if (!parse_only && do_header) write_coclass_forward($2); } | imp_statements coclass ';' { reg_type($2, $2->name, 0); if (!parse_only && do_header) write_coclass_forward($2); }
| imp_statements coclassdef { if (!parse_only) add_coclass($2); | imp_statements coclassdef { if (!parse_only) add_coclass($2);
reg_type($2, $2->name, 0); reg_type($2, $2->name, 0);
if (!parse_only && do_header) write_coclass_forward($2);
} }
| imp_statements moduledef { if (!parse_only) add_module($2); } | imp_statements moduledef { if (!parse_only) add_module($2); }
| imp_statements statement {} | imp_statements statement {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment