[Git][wine/wine][master] vbscript: Implement IDispatch::GetTypeInfo for class instances via ICreateTypeLib2.
Alexandre Julliard pushed to branch master at wine / wine Commits: 63f67370 by Francis De Brabandere at 2026-05-13T21:25:53+02:00 vbscript: Implement IDispatch::GetTypeInfo for class instances via ICreateTypeLib2. Build a TKIND_DISPATCH ITypeInfo for each class instance using oleaut32's ICreateTypeLib2 / ICreateTypeInfo API rather than hand-rolling the 22 ITypeInfo methods. The class name comes back from GetDocumentation(MEMBERID_NIL), public funcs and Dim'd properties are exposed via GetFuncDesc/GetVarDesc, and inherited typeinfo machinery (GetContainingTypeLib etc.) works for free. A few assertions are marked todo_wine because Wine's oleaut32 CreateTypeLib2 currently: - adds 7 phantom inherited IDispatch methods to TKIND_DISPATCH typeinfos, inflating cFuncs and zeroing cImplTypes; - returns E_INVALIDARG instead of TYPE_E_BADMODULEKIND from CreateInstance; - doesn't zero the out-parameter on AddressOfMember failure; - returns a reftype from GetRefTypeOfImplType that GetRefTypeInfo can't resolve. The new test passes with 0 failures on native Windows VBScript and on Wine (8 todo_wine on the assertions above). - - - - - 3 changed files: - dlls/vbscript/tests/api.vbs - dlls/vbscript/tests/vbscript.c - dlls/vbscript/vbdisp.c View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/63f6737065cfb3fa1ed054c6794dc91... -- View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/63f6737065cfb3fa1ed054c6794dc91... You're receiving this email because of your account on gitlab.winehq.org. Manage all notifications: https://gitlab.winehq.org/-/profile/notifications | Help: https://gitlab.winehq.org/help
participants (1)
-
Alexandre Julliard (@julliard)