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()));
            }
        }
Esempio n. 2
0
        public override void Run(List <ExpressionSharpnode> arguments, SyntaxNode originalNode, TranslationContext context)
        {
            string text = context.IsFunctionOrPredicateBlock ? "result" : Constants.SilverReturnVariableName;

            Silvernode = new TextSilvernode(text, originalNode);
        }