diff --git a/dsymbol/src/dsymbol/conversion/first.d b/dsymbol/src/dsymbol/conversion/first.d index c9ac1b6..e56a523 100644 --- a/dsymbol/src/dsymbol/conversion/first.d +++ b/dsymbol/src/dsymbol/conversion/first.d @@ -908,7 +908,6 @@ private: CompletionKind.functionName, symbolFile, location); symbol.parent = currentSymbol; currentSymbol.addChild(symbol, true); - processParameters(symbol, null, THIS_SYMBOL_NAME, parameters, templateParameters); symbol.acSymbol.protection = protection.current; symbol.acSymbol.doc = makeDocumentation(doc); @@ -921,9 +920,16 @@ private: pushFunctionScope(functionBody, location + 4); // 4 == "this".length scope(exit) popScope(); currentSymbol = symbol; + processParameters(symbol, null, THIS_SYMBOL_NAME, parameters, templateParameters); functionBody.accept(this); currentSymbol = currentSymbol.parent; } + else + { + currentSymbol = symbol; + processParameters(symbol, null, THIS_SYMBOL_NAME, parameters, templateParameters); + currentSymbol = currentSymbol.parent; + } } void visitDestructor(size_t location, const FunctionBody functionBody, string doc)