protected override void Populate() { var value = Stmt.Value; Expression.Create(cx, value, this, 0); Switch.LabelForValue(cx.Model(Stmt).GetConstantValue(value).Value); }
protected override void PopulateStatement(TextWriter trapFile) { var value = Stmt.Value; Expression.Create(cx, value, this, 0); Switch.LabelForValue(cx.GetModel(Stmt).GetConstantValue(value).Value); }
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; } }