summaryrefslogtreecommitdiffstats
path: root/src/Lang/Cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Lang/Cpp')
-rw-r--r--src/Lang/Cpp/CppParser.ts11
-rw-r--r--src/Lang/Cpp/CppToken.ts1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/Lang/Cpp/CppParser.ts b/src/Lang/Cpp/CppParser.ts
index 0b34347..746c11c 100644
--- a/src/Lang/Cpp/CppParser.ts
+++ b/src/Lang/Cpp/CppParser.ts
@@ -695,6 +695,17 @@ export default class CppParser implements ICodeParser {
return this.GetArgumentFromFuncPtr(copy);
}
+ // Handle member pointers
+ for (let token: number = 0; token < copy.nodes.length - 1; token++) {
+ const firstToken: CppToken = copy.nodes[token] as CppToken;
+ const secondToken: CppToken = copy.nodes[token + 1] as CppToken;
+
+ if (firstToken.type === CppTokenType.Symbol && secondToken.type === CppTokenType.Pointer &&
+ firstToken.value.endsWith("::")) {
+ firstToken.type = CppTokenType.MemberPointer;
+ }
+ }
+
return this.GetDefaultArgument(copy);
}
diff --git a/src/Lang/Cpp/CppToken.ts b/src/Lang/Cpp/CppToken.ts
index f229e8f..61b78b7 100644
--- a/src/Lang/Cpp/CppToken.ts
+++ b/src/Lang/Cpp/CppToken.ts
@@ -13,6 +13,7 @@ export enum CppTokenType {
CommentLine,
Ellipsis,
Attribute,
+ MemberPointer,
}
export class CppToken {