Emacs CEDET Semantic нет автозаполнения для ключевого слова `this`. (C ++)

#include <iostream>

class SomeStructure
{
int mMemberOne;
float mMemberTwo;

char MemberFunction()
{
int test = 0;
++test;
this->
}
};

int main()
{
SomeStructure abc;
abc.MemberFunctionMemberFunction
}

Любое другое автозаполнение работает в этом файле, кроме случаев, когда я пытаюсь выполнить автозаполнение. this->, Я не получаю предложений. Бег semantic-analyze-debug-assist дает мне это:

Unable to find symbol this.

The prefix lookup code threw the following error:
(error "Cannot find definition for \"this\"")

To debug this error you can do this:
M-x toggle-debug-on-error RET   [ Do It ]
and then re-run the debug analyzer.

M-x bovinate дает мне:

(("iostream" include   (:system-flag t)   (unlink-hook    (semantic--tag-unlink-secondary-overlays)    secondary-overlays    (#<overlay from 1 to 20 in junk.cpp>)    dependency-file "c:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include/iostream" link-hook    (semantic--tag-link-secondary-overlays)    unlink-copy-hook    (semantic--tag-unlink-copy-secondary-overlays)    :filename "d:/project/client/junk.cpp")   #<overlay from 1 to 20 in junk.cpp>)  ("SomeStructure" type   (:members    (("mMemberOne" variable
(:type "int")
(reparse-symbol classsubparts)
#<overlay from 46 to 61 in junk.cpp>)
("mMemberTwo" variable
(:type "float")
(reparse-symbol classsubparts)
#<overlay from 64 to 81 in junk.cpp>)
("MemberFunction" function
(:type "char")
(unlink-copy-hook
(semantic--tag-unlink-copy-secondary-overlays)
link-hook
(semantic--tag-link-secondary-overlays)
reparse-symbol classsubparts secondary-overlays
(#<overlay from 85 to 107 in junk.cpp>)
unlink-hook
(semantic--tag-unlink-secondary-overlays))
#<overlay from 85 to 165 in junk.cpp>))    :type "class")   (unlink-copy-hook    (semantic--tag-unlink-copy-secondary-overlays)    link-hook    (semantic--tag-link-secondary-overlays)    secondary-overlays    (#<overlay from 22 to 42 in junk.cpp>)    unlink-hook    (semantic--tag-unlink-secondary-overlays))   #<overlay from 22 to 168 in junk.cpp>)  ("main" function   (:type "int")   (unlink-copy-hook    (semantic--tag-unlink-copy-secondary-overlays)    link-hook    (semantic--tag-link-secondary-overlays)    secondary-overlays    (#<overlay from 172 to 183 in junk.cpp>)    unlink-hook    (semantic--tag-unlink-secondary-overlays))   #<overlay from 172 to 250 in junk.cpp>))

Так выглядит SomeStructure структура анализируется правильно. Похоже, у семантики есть какая-то проблема с this,

Также я последовал предложению ошибки повторного запуска с toggle-debug-on-error включен, однако даже при включенном отладчике не происходит сбой при ошибке.

Используя последнюю версию emacs (24) и cedet (trunk).

Я не могу поверить, что у меня одна такая проблема, наверное, я что-то не так делаю …

1

Решение

Я переписывался с одним из сопровождающих (Дэвид Энгстер), и он очень отзывчив, чтобы исправить ситуацию. Исправление можно найти в репозитории CEDET bzr начиная с версии 8490

1

Другие решения

Других решений пока нет …