Skip to content

Commit 0ada56e

Browse files
zhangjunphyMaskRay
authored andcommitted
Fix short_name_size when getNameAsString does not return a prefix (#784)
1 parent 4cd308d commit 0ada56e

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/indexer.cc

+10-7
Original file line numberDiff line numberDiff line change
@@ -534,15 +534,18 @@ class IndexDataConsumer : public index::IndexDataConsumer {
534534
// e.g. operator type-parameter-1
535535
i = 0;
536536
def.short_name_offset = 0;
537-
} else if (short_name.empty() || (i >= 2 && name[i - 2] == ':')) {
538-
// Don't replace name with qualified name in ns::name Cls::*name
539-
def.short_name_offset = i;
537+
def.short_name_size = name.size();
540538
} else {
541-
name.replace(i, short_name.size(), qualified);
542-
def.short_name_offset = i + qualified.size() - short_name.size();
539+
if (short_name.empty() || (i >= 2 && name[i - 2] == ':')) {
540+
// Don't replace name with qualified name in ns::name Cls::*name
541+
def.short_name_offset = i;
542+
} else {
543+
name.replace(i, short_name.size(), qualified);
544+
def.short_name_offset = i + qualified.size() - short_name.size();
545+
}
546+
// name may be empty while short_name is not.
547+
def.short_name_size = name.empty() ? 0 : short_name.size();
543548
}
544-
// name may be empty while short_name is not.
545-
def.short_name_size = name.empty() ? 0 : short_name.size();
546549
for (int paren = 0; i; i--) {
547550
// Skip parentheses in "(anon struct)::name"
548551
if (name[i - 1] == ')')

0 commit comments

Comments
 (0)