【发布时间】:2014-12-29 05:45:13
【问题描述】:
class aclass{
public:
int num;
};
int main()
{
aclass *ok;
ok->num = 4;
return 0;
}
现在当我做 clang_getCursorDefinition(cur_cursor);在 o 开头的光标右侧 ok->num = 4;它为 int num 提供光标;类里面。我希望它给我 aclass *ok; 的光标。 main里面的声明。调用 clang_getCursorSemanticParent(cur_cursor) 似乎是错误的,好像我将声明放在 main() 函数内部或外部,它仍然返回 main() 作为语义父级。
有没有一种方法可以有效地做到这一点,而无需迭代每个可能的光标?
编辑: Clang 将制表符计为 1 个字符,这是正确的。我正在测试的编辑器自动将选项卡计数为 4 号,所以 clang 预期为第 2 列,我的编辑器发送为第 5 列。现在 getCursorDefinition 正在按预期工作,并将我带到范围定义。
【问题讨论】: