Ejemplo n.º 1
0
        private void EmitLibraryMethodInvocationExpression(BoundLibraryMethodInvocationExpression expression)
        {
            switch (expression.Method.Library.Name.ToUpperInvariant())
            {
            case "TEXTWINDOW":
            {
                switch (expression.Method.Name.ToUpperInvariant())
                {
                case "READ":
                    this.instructions.Add(new BlockOnStringInputInstruction(expression.Syntax.Range));
                    break;

                case "READNUMBER":
                    this.instructions.Add(new BlockOnNumberInputInstruction(expression.Syntax.Range));
                    break;
                }

                break;
            }
            }

            foreach (BaseBoundExpression index in expression.Arguments)
            {
                this.EmitExpression(index);
            }

            this.instructions.Add(new MethodInvocationInstruction(expression.Method.Library.Name, expression.Method.Name, expression.Syntax.Range));
        }
Ejemplo n.º 2
0
        private void EmitLibraryMethodInvocationExpression(BoundLibraryMethodInvocationExpression expression)
        {
            switch (expression.Method.Library.Name)
            {
            case "TextWindow":
            {
                switch (expression.Method.Name)
                {
                case "Read":
                    this.instructions.Add(new BlockOnStringInputInstruction(expression.Syntax.Range));
                    break;

                case "ReadNumber":
                    this.instructions.Add(new BlockOnNumberInputInstruction(expression.Syntax.Range));
                    break;
                }

                break;
            }
            }

            foreach (BaseBoundExpression index in expression.Arguments)
            {
                this.EmitExpression(index);
            }

            this.instructions.Add(new MethodInvocationInstruction(expression.Method.Library.Name, expression.Method.Name, expression.Syntax.Range));
        }