Пример #1
0
        protected override void Populate()
        {
            var value = Stmt.Value;

            Expression.Create(cx, value, this, 0);
            Switch.LabelForValue(cx.Model(Stmt).GetConstantValue(value).Value);
        }
Пример #2
0
        protected override void PopulateStatement(TextWriter trapFile)
        {
            var value = Stmt.Value;

            Expression.Create(cx, value, this, 0);
            Switch.LabelForValue(cx.GetModel(Stmt).GetConstantValue(value).Value);
        }
Пример #3
0
        protected override void Populate()
        {
            switch (GetKind(Stmt))
            {
            case StmtKind.GOTO:
                var target = ((IdentifierNameSyntax)Stmt.Expression).Identifier.Text;
                cx.Emit(Tuples.exprorstmt_name(this, target));
                break;

            case StmtKind.GOTO_CASE:
                Expr          = Expression.Create(cx, Stmt.Expression, this, 0);
                ConstantValue = Switch.LabelForValue(cx.Model(Stmt).GetConstantValue(Stmt.Expression).Value);
                break;

            case StmtKind.GOTO_DEFAULT:
                ConstantValue = Switch.DefaultLabel;
                break;
            }
        }