Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Ticket #78 (new defect)

Opened 10 years ago

Last modified 10 years ago

Import of win32.windows breaks code completion

Reported by: leo Assigned to:
Priority: major Component: descent.core
Version: 0.5 Keywords: win32
Cc:

Description

First thing I'd like to say: great work! Since the announce of the descent project I've been awaiting to every single release in pleasant anticipation. I think the term 'fan' would fit on me

Now in 0.5.2 code completion is working really smoothly. But importing win32.windows reduces the auto completion suggestions to show only the keywords.

The first reason are static asserts in some of the win32 header files that apparently stop the parsing process so that no suggestions appear, apart from the keywords.

The second problem is that in win32.w32api there are declarations like for example

const bool _WIN32_WINNT_ONLY = _WIN32_WINDOWS == uint.max;

which can't be evaluated as a valid compile time constant or template argument and thus also stop the parser.

good luck fixing the bug!

Attachments

.log (10.5 kB) - added by leo on 05/04/08 08:45:48.
error log

Change History

05/04/08 03:55:19 changed by asterite

Hmm... It works for me, although a little slow (man, it's full of public imports, and the files are huge!).

The static asserts fail because some version identifiers are not defined, but if that happens, that means the parsing stage is already done. And that doesn't even stop the semantic analysis. (you can notice if semantic analysis was stopped if you don't see semantic coloring anymore).

Maybe it's some kind of code that makes the autocompletion to stop working. Did you check the error log?

05/04/08 08:45:48 changed by leo

  • attachment .log added.

error log

(follow-up: ↓ 3 ) 05/08/08 23:02:55 changed by asterite

Hi leo,

I'm using the win32 bindings projects to test how well semantic analysis in Descent performs. I get *lots* of errors because Descent can't find symbols like DWORD, HRESULT, ULONG, etc. I find them nowhere. And win32 doesn't import any of phobos's stuff. What should I do?

(in reply to: ↑ 2 ) 06/26/08 13:08:18 changed by leo

Hi asterite, lately I installed a new OS and thus also a new version of eclipse and descent. First it worked without problems (apart from those lags when finishing an import statement). But when I added some version statements it stopped working. I were able to track it down to the Unicode version specifier, this is what stops descent showing the autocompletion hints for me.

p.s.: I don't really get the point of your last post, but if I understand right you don't know where those declarations are, now I know that those definitions reside in win32.windef

Leo