public override void GetCompletionData(Dictionary <string, SymbolDefinition> data, bool fromInstance, SD_Assembly assembly)
    {
        if (definition != null)
        {
            definition.GetCompletionData(data, fromInstance, assembly);
        }

        Scope_Base scope = this;

        while (fromInstance && scope != null)
        {
            var asBodyScope = scope as Scope_Body;
            if (asBodyScope != null)
            {
                var symbol = asBodyScope.definition;
                if (symbol != null && symbol.kind != SymbolKind.LambdaExpression)
                {
                    if (!symbol.IsInstanceMember)
                    {
                        fromInstance = false;
                    }
                    break;
                }
            }
            scope = scope.parentScope;
        }
        base.GetCompletionData(data, fromInstance, assembly);
    }