Exemple #1
0
        void CompileTerminalProperty(TerminalProperty t)
        {
            var dt = _ilf.GetType(t.TypeString);
            var mp = new MetaProperty(Source.Unknown, _terminals, dt, t.Name, MetaVisibility.Public);
            var fc = new FunctionCompiler(_compiler, mp);

            _terminals.Members.Add(mp);
            _terminalNames.Add(mp.Name);

            if (t.DefaultString != null)
            {
                var e = Parser.ParseExpression(Log, Source.Unknown, t.DefaultString, ParseContext.MetaProperty);
                var v = fc.CompileExpression(e);
                mp.SetDefinitions(new MetaDefinition(v, new string[0]));
            }
            else
            {
                mp.SetDefinitions();
            }
        }
 set => SetValue(TerminalProperty, value);