Esempio n. 1
0
        async void HandleDocumentChanged(object sender, DocumentChangedEventArgs e)
        {
            if (server.ClientsCount == 0)
            {
                return;
            }

            var classDecl = await DocumentParser.ParseDocument(e.Filename, e.Text, e.SyntaxTree, e.SemanticModel);

            if (classDecl == null)
            {
                return;
            }

            EvalRequest request = new EvalRequest
            {
                Declarations      = classDecl.Code,
                NeedsRebuild      = classDecl.NeedsRebuild,
                NewTypeExpression = classDecl.NewInstanceExpression,
                Xaml        = classDecl.Xaml,
                StyleSheets = classDecl.StyleSheets
            };

            await server.Send(request);
        }
Esempio n. 2
0
        async void HandleDocumentChanged(object sender, DocumentChangedEventArgs e)
        {
            if (server.ClientsCount == 0)
            {
                return;
            }

            var classDecl = await DocumentParser.ParseDocument(e.Filename, e.Text, e.SyntaxTree, e.SemanticModel);

            if (classDecl == null)
            {
                return;
            }

            EvalRequest request = new EvalRequest
            {
                Declarations     = classDecl.Code,
                NeedsRebuild     = classDecl.NeedsRebuild,
                OriginalTypeName = classDecl.FullNamespace,
                NewTypeName      = classDecl.CurrentFullNamespace,
                Xaml             = classDecl.Xaml,
                XamlResourceName = classDecl.XamlResourceId,
                StyleSheets      = classDecl.StyleSheets
            };

            await server.Send(request);
        }
Esempio n. 3
0
        async void HandleDocumentChanged(object sender, DocumentChangedEventArgs e)
        {
            if (server.ClientsCount == 0)
            {
                return;
            }
            FormsViewClassDeclaration classDecl = null;

            try
            {
                classDecl = await DocumentParser.ParseDocument(e.Filename, e.Text, e.SyntaxTree, e.SemanticModel);
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
                await server.Send(new ErrorMessage($"Error parsing {e.Filename}",
                                                   ex.ToString()));

                return;
            }

            if (classDecl == null)
            {
                return;
            }

            EvalRequestMessage request = new EvalRequestMessage
            {
                Declarations     = classDecl.Code,
                NeedsRebuild     = classDecl.NeedsRebuild,
                OriginalTypeName = classDecl.FullNamespace,
                NewTypeName      = classDecl.CurrentFullNamespace,
                Xaml             = classDecl.Xaml,
                XamlResourceName = classDecl.XamlResourceId,
                StyleSheets      = classDecl.StyleSheets
            };

            try
            {
                await server.Send(request);
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
            }
        }
Esempio n. 4
0
        async void HandleDocumentChanged(object sender, DocumentChangedEventArgs e)
        {
            if (clients.Count == 0)
            {
                return;
            }

            var classDecl = await DocumentParser.ParseDocument(e.Filename, e.Text, e.SyntaxTree, e.SemanticModel);

            EvalRequest request = new EvalRequest
            {
                Declarations      = classDecl?.Code,
                NeedsRebuild      = classDecl.NeedsRebuild,
                NewTypeExpression = classDecl.NewInstanceExpression,
                Xaml = classDecl.Xaml
            };
            await clients.Values.ToList().ForEachAsync(10, async(client) =>
            {
                var res = await client.PreviewXaml(request);
            });
        }