public async Task Execute(CodeBlockContext ctx)
    {
        ExecutionStarted.Invoke(this);
        await OnExecute(ctx);

        ExecutionEnded.Invoke(this);
    }
 public async Task Execute(CodeBlockContext ctx)
 {
     foreach (var block in _childBlocks)
     {
         await block.Execute(ctx);
     }
 }
示例#3
0
        public void OnCodeBlock(CodeBlockContext context)
        {
            bool matched = false;

            if (index == 36)
            {
                matched = true;
                Assert.IsFalse(context.WithinClientSideComment);
                Assert.AreEqual(context.BlockText.Trim(), "string s=\"come code\";");
            }
            if (index == 37)
            {
                matched = true;
                Assert.IsFalse(context.WithinClientSideComment);
                Assert.AreEqual(context.BlockText.Trim(), "string s=\"<!--\";");
            }
            if (index == 38)
            {
                matched = true;
                Assert.IsFalse(context.WithinClientSideComment);
                Assert.AreEqual(context.BlockText.Trim(), "string s=\"<%\";");
            }
            if (index == 39)
            {
                matched = true;
                Assert.IsFalse(context.WithinClientSideComment);
                Assert.AreEqual(context.BlockText.Trim(), "string s = \"baf\";");
            }
            Assert.IsTrue(matched);
            index++;
        }
 protected override async Task OnExecute(CodeBlockContext ctx)
 {
     if (await Condition.GetValue(ctx))
     {
         await ConditionFailedBody.Execute(ctx);
     }
     else
     {
         await ConditionFailedBody.Execute(ctx);
     }
 }
    private void Start()
    {
        _ctx = new CodeBlockContext()
        {
            KarelProgram = _karelComponent.KarelInstance
        };
        _mainBlock = new CodeBlockMain();
        var ui = Instantiate(UIResources.CodeBlockPrefab, _blockArea);

        ui.CodeBlock = _mainBlock;
    }
        /// <summary>
        /// Called after code block &lt;% %&gt;
        /// </summary>
        public void OnCodeBlock(CodeBlockContext context)
        {
            context.InnerBlockSpan.Move(1, 1); // fix numbering

            // run parent command methods, adding found result items to results
            IList list = null;

            try {
                if (fileLanguage == FILETYPE.CSHARP)
                {
                    list = parentCommand.LookupInCSharpAspNet(context.BlockText, context.InnerBlockSpan, declaredNamespaces, ClassFileName);
                }
                else if (fileLanguage == FILETYPE.VB)
                {
                    list = parentCommand.LookupInVBAspNet(context.BlockText, context.InnerBlockSpan, declaredNamespaces, ClassFileName);
                }
            } catch (Exception ex) {
                if (!(parentCommand is ReferenceLister))
                {
                    VLOutputWindow.VisualLocalizerPane.WriteLine("\tException occured while processing " + projectItem.Name);
                    VLOutputWindow.VisualLocalizerPane.WriteException(ex);
                }
            }

            if (list != null)
            {
                foreach (AbstractResultItem item in list)
                {
                    AspNetStringResultItem aitem = item as AspNetStringResultItem;
                    if (aitem != null)
                    {
                        aitem.ComesFromClientComment   = context.WithinClientSideComment;
                        aitem.ComesFromCodeBlock       = true;
                        aitem.ClassOrStructElementName = ClassFileName;
                    }
                }

                AddContextToItems((IEnumerable)list);
            }
        }
 protected override Task OnExecute(CodeBlockContext ctx)
 => ctx.KarelProgram.Robot.PutBeeper();
示例#8
0
 protected override Task OnExecute(CodeBlockContext ctx)
 => ctx.KarelProgram.Robot.TurnLeft();
 protected override Task OnExecute(CodeBlockContext ctx) => Body.Execute(ctx);
 protected abstract Task OnExecute(CodeBlockContext ctx);
示例#11
0
 protected override Task OnExecute(CodeBlockContext ctx)
 {
     UnityEngine.Debug.Log(Message.GetValue(ctx));
     return(Task.CompletedTask);
 }