public override Type VisitSetVariableToValue([NotNull] YarnSpinnerV1Parser.SetVariableToValueContext context)
            {
                // Determine the type of the value
                var valueType = this.Visit(context.expression());

                this.allSeenVariables.Add(context.VAR_ID().GetText());

                // Bind the variable to this value
                this.potentialTypeBindings.Add(new TypeBinding
                {
                    VariableName = context.VAR_ID().GetText(),
                    Type         = valueType,
                });

                return(valueType);
            }
Exemplo n.º 2
0
 /// <summary>
 /// Exit a parse tree produced by the <c>setVariableToValue</c>
 /// labeled alternative in <see cref="YarnSpinnerV1Parser.set_statement"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitSetVariableToValue([NotNull] YarnSpinnerV1Parser.SetVariableToValueContext context)
 {
 }
 /// <summary>
 /// Visit a parse tree produced by the <c>setVariableToValue</c>
 /// labeled alternative in <see cref="YarnSpinnerV1Parser.set_statement"/>.
 /// <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 VisitSetVariableToValue([NotNull] YarnSpinnerV1Parser.SetVariableToValueContext context)
 {
     return(VisitChildren(context));
 }