Пример #1
0
        public override void Generate(Method generator)
        {
            value.Check(generator);
            value.Generate(generator);
            var morpheme = Phrase.GetEnd(target);

            Phrase.DoubleCheck(morpheme, MorphemeAttribute.Object);
            var index = generator.GetVar(morpheme.name, out var attribute);

            if (index == -1)
            {
                Error(UnknownVariable, lex_line, lex_ch, morpheme.name);
            }
            generator.AddCode(attribute == 1?ISet.Storeloc:ISet.StoreField, index);
        }
Пример #2
0
 public override void Generate(Method generator)
 {
     match.Check(generator);
     match.Generate(generator);
 }