Exemple #1
0
        public void fastColoredTextBox1_TextChangedDelayed(object sender, TextChangedEventArgs e)
        {
            //   MessageBox.Show("You are typing now :)");//method when you are typing
            _textEditor = GetEditor();

            if (_textEditor == null)
            {
                return;
            }
            SaveFile_realTime(_textEditor, _textEditor.Tag.ToString());
            // MessageBox.Show("You are typing now 2 :)");
            var file = _textEditor.Tag.ToString();

            if (Getextension(_textEditor).Equals("Java"))
            {//run the project
             //  MessageBox.Show("You are typing now ww2 :)");
                _compilingJava = new Compiling(file);
                var s = _compilingJava.CompilingJavaCode();
                if (s.Equals(""))
                {
                    int[] line = { -1 };
                    SetLines(line);
                    _textEditor.PaintLine += fastColoredTextBox1_PaintLine;

                    _fochild.Errortext.Text = "";
                }
                else
                {
                    //  MessageBox.Show(s);
                    var bugs = new ErrorDetector(s, Path.GetFileName(file));
                    var res  = bugs.GetResult();
                    fillInErrorTextBox(res, file);
                    var s1 = "";
                    for (var i = 0; i < res.GetLength(0); i += 1)
                    {
                        //   s1 += res.GetLength(i)+"   : ";
                        for (int j = 0; j < res.GetLength(1); j++)
                        {
                            s1 += res[i, j] + " - ";
                        }
                        s1 += '\n';
                    }
                    //   MessageBox.Show("Errors:: " + s1);
                    var errorLines = new int[res.GetLength(0)];
                    for (var i = 0; i < res.GetLength(0); i += 1)
                    {
                        errorLines[i] = Convert.ToInt32(res[i, 0]) - 1;
                    }
                    SetLines(errorLines);
                    _textEditor.PaintLine += fastColoredTextBox1_PaintLine;
                }
            }
        }
Exemple #2
0
        private void run(string file)
        {
            _fochild.richTextBox3.Text = "";
            _fochild.richTextBox4.Text = "";
            // _fochild.richTextBox2.Text = "";
            _fochild.Errortext.Text = "";
            if (Getextension(_textEditor).Equals("Java"))
            {//run the project
                var p      = new ImplementPMD();
                var xml    = p.RunPMD(Path.GetDirectoryName(file), Path.GetFileName(file));
                var xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xml);
                GenerateFeedbackOutput(_fochild.richTextBox3, xmlDoc);
                _compilingJava = new Compiling(file);
                var s = _compilingJava.CompilingJavaCode();

                if (s.Equals(""))
                {
                    //  var p = new ImplementPMD(file);
                    //  var xml =  p.RunPMD(Path.GetDirectoryName(file), Path.GetFileName(file));
                    //  var xmlDoc = new XmlDocument();
                    //  xmlDoc.LoadXml(xml);
                    //  GenerateFeedbackOutput(_fochild.richTextBox3,xmlDoc);
                    var style = new JavaCompilingToolMurtada.StyleChecker.ImplementStyleChecker(file);
                    // _fochild.richTextBox2.Text = style.StyleJavaCodeFeedback();
                    _fochild.richTextBox4.Text = _runJava.RunJavaProject(file);
                }
                else
                {
                    //   MessageBox.Show(s);
                    //  _fochild.Errortext.Text = s;
                    var bugs = new ErrorDetector(s, Path.GetFileName(file));
                    var res  = bugs.GetResult();

                    //   MessageBox.Show("Errors:: " + s1);
                    var errorLines = new int[res.GetLength(0)];
                    for (var i = 0; i < res.GetLength(0); i += 1)
                    {
                        errorLines[i] = Convert.ToInt32(res[i, 0]) - 1;
                    }
                    SetLines(errorLines);
                    var totalErrorCount = res.Length / 3;
                    _textEditor.PaintLine += fastColoredTextBox1_PaintLine;
                    const float bigFont      = 12.0f;
                    var         richTextBox  = _fochild.Errortext;
                    var         fontOriginal = richTextBox.Font.Size;
                    richTextBox.SelectionFont = new Font(richTextBox.Font.FontFamily, bigFont, FontStyle.Underline);
                    richTextBox.AppendText("Total Errors found: " + totalErrorCount + "\n\n");
                    richTextBox.SelectionFont = new Font(richTextBox.Font.FontFamily, fontOriginal, FontStyle.Regular);
                    for (var errorIndex = 0; errorIndex < totalErrorCount; errorIndex++)
                    {
                        var errorLine      = Convert.ToInt32(res[errorIndex, 0]);
                        var errorSomething = res[errorIndex, 1];
                        var error          = res[errorIndex, 2];

                        richTextBox.SelectionFont = new Font(richTextBox.Font.FontFamily, bigFont, FontStyle.Bold);
                        richTextBox.AppendText("Error ");
                        richTextBox.SelectionFont = new Font(richTextBox.Font.FontFamily, bigFont, FontStyle.Regular);
                        richTextBox.AppendText((errorIndex + 1) + "\n\n");
                        richTextBox.SelectionFont = new Font(richTextBox.Font.FontFamily, fontOriginal, FontStyle.Regular);

                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Bold);
                        richTextBox.AppendText("In file: ");
                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Regular);
                        richTextBox.AppendText(file + "\n");


                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Bold);
                        richTextBox.AppendText("On line nr: ");
                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Regular);
                        richTextBox.AppendText(errorLine + "\n");

                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Bold);
                        richTextBox.AppendText("Details:\n");
                        richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Regular);

                        int asd = error.IndexOf("error:");
                        richTextBox.AppendText(error.Substring(asd + 7) + "\n");
                        richTextBox.AppendText("\n");
                    }
                }
                if (s.Equals(""))
                {
                    //  var p = new ImplementPMD(file);
                    //  var xml =  p.RunPMD(Path.GetDirectoryName(file), Path.GetFileName(file));
                    //  var xmlDoc = new XmlDocument();
                    //  xmlDoc.LoadXml(xml);
                    //  GenerateFeedbackOutput(_fochild.richTextBox3,xmlDoc);
                    var style = new JavaCompilingToolMurtada.StyleChecker.ImplementStyleChecker(file);
                    // _fochild.richTextBox2.Text = style.StyleJavaCodeFeedback();
                    _fochild.richTextBox4.Text = _runJava.RunJavaProject(file);
                }
                else
                {
                    var bugs = new ErrorDetector(s, Path.GetFileName(file));
                    var res  = bugs.GetResult();

                    //   MessageBox.Show("Errors:: " + s1);
                    var errorLines = new int[res.GetLength(0)];
                    for (var i = 0; i < res.GetLength(0); i += 1)
                    {
                        errorLines[i] = Convert.ToInt32(res[i, 0]) - 1;
                    }
                    SetLines(errorLines);
                    _textEditor.PaintLine += fastColoredTextBox1_PaintLine;
                    fillInErrorTextBox(res, file);
                }
            }
            else
            {
                _textEditor = GetEditor();

                JavaCompilingToolMurtada.CSharpRunner.CSharpRunner cs = new JavaCompilingToolMurtada.CSharpRunner.CSharpRunner(_textEditor.Text);
                _fochild.richTextBox4.Text = cs.Compile(_textEditor.Text);
            }
        }
        public async Task <bool> TestAsync(IQueryable <bool> query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            var expr = ErrorExpressionProvider.GetErrorExpression();

            var p    = Expression.Parameter(typeof(bool), "condition");
            var next = query.Provider.CreateQuery <long>(
                Expression.Call(
                    typeof(Queryable).GetMethods().Where(m => m.Name == nameof(System.Linq.Queryable.Select)).Single(m => !m.GetParameters()[1].ParameterType.ToString().Contains("Int32"))
                    .MakeGenericMethod(typeof(bool), typeof(long)),
                    query.Expression,
                    Expression.Lambda(
                        Expression.Condition(
                            p,
                            expr,
                            Expression.Constant(1L)
                            ),
                        p
                        )
                    )
                ).Take(1);

            using (var writer = WriterPool.Get())
            {
                var visitor = new MySqlQueryModelVisitor(writer);
                var sql     = visitor.Render(next);

                Logger.LogDebug(sql);

                while (true)
                {
                    try
                    {
                        using (var response = await Injector.InjectAsync(sql, CancellationToken.None))
                        {
                            WriterPool.Return(writer);
                            return(await ErrorDetector.ContainsErrorAsync(response));
                        }
                    }
                    catch (HttpRequestException req) when(req.InnerException?.Message?.Contains("timed out") ?? false)
                    {
                        Logger.LogWarning($"Retrying...");
                        continue;
                    }
                    catch (HttpRequestException req) when(req.InnerException?.Message?.Contains("unrecognized response") ?? false)
                    {
                        Logger.LogWarning($"Retrying...");
                        continue;
                    }
                    catch (OperationCanceledException)
                    {
                        Logger.LogWarning($"Retrying...");
                        continue;
                    }
                }
            }
        }