12.07.2011, 14:01, [email protected]: > On Jul 7, 2011, at 19:59, ext Konstantin Tokarev wrote: > >> 07.07.2011, 19:20, [email protected]: >>> On Jul 7, 2011, at 16:08, ext Konstantin Tokarev wrote: >>> >>> But for code completion, you only need the engine that does the actual >>> code completion to handle it, and only that single engine gets those >>> defines. That engine just happens to be the one in libclang.so (which does >>> not even contain a code generator). >>>> 2. Clang assumes that anything in AST has its representation in source >>>> code. You are creating "phantom" attributes which don't exist in actual >>>> code. >>> They are just as real as __attribute__((__deprecated__)) when used through >>> Q_DECL_DEPRECATED, so nothing phantom. >>>> BTW, haven't you considered creation of custom AST nodes (i.e., subclass >>>> CXXRecordDecl) with additional fields? >>> Yes, but this would be quite a big change (the current patch file is 233 >>> lines). >> But it could be implemented without patching of Clang. > > AFAIK, you cannot introduce another AST node without patching clang, nor > change the parser (which should create that node) without changing clang.
AFAIU, this is not parser but Sema. > Then again, if I'm wrong, show me the code to do it right. I will happily use > it! :-) Unfortunately I don't have anything working yet. But if I succeed I'll let you know ;) BTW, is it possible to get somewhere your Clang patch? -- Regards, Konstantin _______________________________________________ Qt-creator mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt-creator
