public override TranslationResult Translate(TranslationContext context) { Silvernode sn = null; switch (this.kind) { case LiteralKind.Boolean: sn = this.booleanValue ? new TextSilvernode("true", this.OriginalNode) : new TextSilvernode("false", this.OriginalNode); break; case LiteralKind.Int32: sn = new TextSilvernode(this.integerValue.ToString(), this.OriginalNode); break; case LiteralKind.Null: sn = new TextSilvernode("null", this.OriginalNode); break; } if (sn != null) { return(TranslationResult.FromSilvernode(sn)); } else { return(TranslationResult.Error(this.OriginalNode, Diagnostics.SSIL101_UnknownNode, this.OriginalNode.Kind())); } }
public override void Run(List <ExpressionSharpnode> arguments, SyntaxNode originalNode, TranslationContext context) { string text = context.IsFunctionOrPredicateBlock ? "result" : Constants.SilverReturnVariableName; Silvernode = new TextSilvernode(text, originalNode); }