public override int VisitValueNumber(YarnSpinnerParser.ValueNumberContext context) { float number = float.Parse(context.BODY_NUMBER().GetText()); compiler.Emit(ByteCode.PushNumber, number); return 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"); }
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) { }
public override Yarn.IType VisitValueNumber(YarnSpinnerParser.ValueNumberContext context) { return(BuiltinTypes.Number); }
public override Yarn.Type VisitValueNumber(YarnSpinnerParser.ValueNumberContext context) { return(Yarn.Type.Number); }