Inheritance: System.Compiler.Statement
Beispiel #1
0
        private InvokePluginStatement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
        {
            WriteStart("invokeplugin(");
            this.VisitExpressionList(InvokePlugin.Operands);
            WriteFinish(");");

            return InvokePlugin;
        }
Beispiel #2
0
 private InvokePluginStatement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
 {
     InvokePlugin.Operands = this.VisitExpressionList(InvokePlugin.Operands);
     return InvokePlugin;
 }
Beispiel #3
0
        private Statement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
        {
            Statement InvokePluginStmt = Templates.GetStatementTemplate("InvokePlugin");

            // Append the user's arguments to the call to StateImpl.Trace

            ExpressionStatement exprStmt = InvokePluginStmt as ExpressionStatement;
            Debug.Assert(exprStmt != null);

            MethodCall mcall = exprStmt.Expression as MethodCall;
            Debug.Assert(mcall != null);

            ExpressionList operands = this.VisitExpressionList(InvokePlugin.Operands);

            for (int i = 0, n = operands.Count; i < n; i++)
                mcall.Operands.Add(operands[i]);

            return InvokePluginStmt;
        }
Beispiel #4
0
 private InvokePluginStatement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
 {
     if (InvokePlugin == null) return null;
     InvokePluginStatement result = (InvokePluginStatement)InvokePlugin.Clone();
     result.Operands = this.VisitExpressionList(InvokePlugin.Operands);
     return result;
 }
Beispiel #5
0
 private InvokePluginStatement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
 {
     BasicBlock block = AddBlock(new BasicBlock(InvokePlugin, CurrentContinuation));
     CurrentContinuation = block;
     return InvokePlugin;
 }
Beispiel #6
0
        private InvokePluginStatement VisitInvokePlugin(InvokePluginStatement InvokePlugin)
        {
            InvokePlugin.Operands = base.VisitExpressionList(InvokePlugin.Operands);

            if (InvokePlugin.Operands == null || InvokePlugin.Operands.Count == 0)
            {
                this.HandleError(InvokePlugin, Error.InvokePluginExpectedArguments);
                return null;
            }

            Expression arg0 = InvokePlugin.Operands[0];
            Literal lit0 = arg0 as Literal;
            if (lit0 == null)
            {
                this.HandleError(InvokePlugin, Error.ExpectedPluginDllName);
                return null;
            }

            if (!(lit0.Value is string))
            {
                this.HandleError(InvokePlugin, Error.ExpectedPluginDllName);
                return null;
            }

            return InvokePlugin;
        }