public override Yarn.Type VisitExpNot(YarnSpinnerParser.ExpNotContext context) { ParserRuleContext[] terms = new[] { context.expression() }; // ! supports only bool types return(CheckOperation(context, terms, "!", Yarn.Type.Bool)); }
// (not NOT !)expression public override int VisitExpNot(YarnSpinnerParser.ExpNotContext context) { Visit(context.expression()); // TODO: temp operator call compiler.Emit(ByteCode.CallFunc, TokenType.Not.ToString()); return(0); }
public override Yarn.IType VisitExpNot(YarnSpinnerParser.ExpNotContext context) { ParserRuleContext[] terms = new[] { context.expression() }; var @operator = CodeGenerationVisitor.TokensToOperators[context.op.Type]; // ! supports only bool types Yarn.IType type = CheckOperation(context, terms, @operator, context.op.Text); context.Type = type; return(BuiltinTypes.Boolean); }
// (not NOT !)expression public override int VisitExpNot(YarnSpinnerParser.ExpNotContext context) { Visit(context.expression()); // TODO: temp operator call // Indicate that we are pushing one parameter compiler.Emit(OpCode.PushFloat, new Operand(1)); compiler.Emit(OpCode.CallFunc, new Operand(TokenType.Not.ToString())); return(0); }
// (not NOT !)expression public override int VisitExpNot(YarnSpinnerParser.ExpNotContext context) { this.GenerateCodeForOperation(Operator.Not, context.op, context.Type, context.expression()); return(0); }
/// <summary> /// Visit a parse tree produced by the <c>expNot</c> /// labeled alternative in <see cref="YarnSpinnerParser.expression"/>. /// <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 VisitExpNot([NotNull] YarnSpinnerParser.ExpNotContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by the <c>expNot</c> /// labeled alternative in <see cref="YarnSpinnerParser.expression"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitExpNot([NotNull] YarnSpinnerParser.ExpNotContext context) { }