From 8098d80435197c7687895296b9a985fb33a83f6c Mon Sep 17 00:00:00 2001 From: ryuukk Date: Fri, 17 Feb 2023 02:49:47 +0100 Subject: [PATCH] never own builtin symbols --- dsymbol/src/dsymbol/conversion/second.d | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/dsymbol/src/dsymbol/conversion/second.d b/dsymbol/src/dsymbol/conversion/second.d index 2136202..0b615c1 100644 --- a/dsymbol/src/dsymbol/conversion/second.d +++ b/dsymbol/src/dsymbol/conversion/second.d @@ -247,7 +247,11 @@ DSymbol* createTypeWithTemplateArgs(DSymbol* type, TypeLookup* lookup, VariableC { auto retType = extractReturnType(callTip); if (retType in mapping) - newType.type = mapping[retType]; + { + auto result = mapping[retType]; + newType.ownType = result.kind == CompletionKind.keyword ? false : true; + newType.type = result; + } } } @@ -270,13 +274,15 @@ DSymbol* createTypeWithTemplateArgs(DSymbol* type, TypeLookup* lookup, VariableC if (part.type.name in mapping) { - newPart.ownType = true; - newPart.type = mapping[part.type.name]; + auto result = mapping[part.type.name]; + newPart.ownType = result.kind == CompletionKind.keyword ? false : true; + newPart.type = result; } else if (m && part.type.name in m) { - newPart.ownType = true; - newPart.type = m[part.type.name]; + auto result = m[part.type.name]; + newPart.ownType = result.kind == CompletionKind.keyword ? false : true; + newPart.type = result; } newType.addChild(newPart, true);