Esempio n. 1
0
        public override int VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
        {
            float number = float.Parse(context.BODY_NUMBER().GetText());
            compiler.Emit(ByteCode.PushNumber, number);

            return 0;
        }
Esempio n. 2
0
        public override int VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
        {
            float number = float.Parse(context.NUMBER().GetText(), CultureInfo.InvariantCulture);

            this.compiler.Emit(OpCode.PushFloat, context.Start, new Operand(number));

            return(0);
        }
 public override ConstantValue VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
 {
     if (float.TryParse(context.GetText(), out var result))
     {
         return(new ConstantValue {
             type = Yarn.Type.Number, value = result
         });
     }
     throw new FormatException($"Failed to parse {context.GetText()} as a float");
 }
Esempio n. 4
0
 public override Value VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
 {
     if (float.TryParse(context.GetText(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out var result))
     {
         return(new Value(BuiltinTypes.Number, result));
     }
     else
     {
         string message = $"Failed to parse {context.GetText()} as a float";
         this.diagnostics.Add(new Diagnostic(this.sourceFileName, context, message));
         return(new Value(BuiltinTypes.Number, 0f));
     }
 }
 /// <summary>
 /// Visit a parse tree produced by the <c>valueNumber</c>
 /// labeled alternative in <see cref="YarnSpinnerParser.value"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitValueNumber([NotNull] YarnSpinnerParser.ValueNumberContext context)
 {
     return(VisitChildren(context));
 }
 /// <summary>
 /// Exit a parse tree produced by the <c>valueNumber</c>
 /// labeled alternative in <see cref="YarnSpinnerParser.value"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitValueNumber([NotNull] YarnSpinnerParser.ValueNumberContext context)
 {
 }
Esempio n. 7
0
 public override Yarn.IType VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
 {
     return(BuiltinTypes.Number);
 }
Esempio n. 8
0
 public override Yarn.Type VisitValueNumber(YarnSpinnerParser.ValueNumberContext context)
 {
     return(Yarn.Type.Number);
 }