Пример #1
0
        public AssignmentStatement(LuaParser.Stat_localassignmentContext context, ScriptLoadingContext lcontext)
            : base(context, lcontext)
        {
            var explist = context.explist();

            if (explist != null)
            {
                m_RValues = explist
                            .exp()
                            .Select(e => NodeFactory.CreateExpression(e, lcontext))
                            .ToArray();
            }
            else
            {
                m_RValues = new Expression[0];
            }

            m_LValues = context.namelist().NAME()
                        .Select(n => n.GetText())
                        .Select(n => lcontext.Scope.TryDefineLocal(n))
                        .Select(s => new SymbolRefExpression(context, lcontext, s))
                        .Cast <IVariable>()
                        .ToArray();

            m_Ref = BuildSourceRef(context.Start, context.Stop);
        }
Пример #2
0
 public void ExitStat_localassignment([NotNull] LuaParser.Stat_localassignmentContext context)
 {
     throw new NotImplementedException();
 }
Пример #3
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="LuaParser.stat_localassignment"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitStat_localassignment([NotNull] LuaParser.Stat_localassignmentContext context)
 {
 }
Пример #4
0
 public void ExitStat_localassignment([NotNull] LuaParser.Stat_localassignmentContext context) => DefaultExit(context);