private void WalkMethod(IMethodSymbol method, MutableSymbol parent) { MutableSymbol result = new MutableSymbol(method.AdjustedName(), GetMethodType(method)); AddModifiers(method, result); AddLocation(method, result); if (this.IncludeSignatures) { result.Parameters = method.MinimalParameters(); } if (IsExcluded(method, result)) { return; } parent.AddChild(result); // Add the extended type under Extension Methods if (result.Type == SymbolType.ExtensionMethod && method.Parameters.Length > 0) { IParameterSymbol thisParameter = method.Parameters[0]; ITypeSymbol thisType = thisParameter.Type; MutableSymbol extendedType = new MutableSymbol(thisType.NamespaceAndName(), SymbolType.ExtendedType); extendedType.Modifiers = result.Modifiers; result.AddChild(extendedType); } }