Пример #1
0
        public override FieldInfo Compile(LoadClasses load, Scop scop, Tree tree)
        {
            if (tree.Count == 3 && tree[2].Kind == Kind.Numbre)
            {
            }
            var dataPortor = scop as DataPortor;
            var l          = load.SetVariable(dataPortor, tree);

            tree[1].BaseCall = tree.BaseCall = dataPortor;
            tree[1].Type     = tree.Type = l.Return;
            tree[1].Membre   = tree.Membre = l;
            tree[1].Compiled = true;
            tree.Compiled    = true;
            if (tree.Children.Count == 2)
            {
                return(null);
            }
            var fieldInfo = load.Compile(scop, tree[2]);

            if (l != fieldInfo)
            {
                load.Optimum.Assign(l, fieldInfo);
            }
            return(l);
        }
Пример #2
0
        public override FieldInfo Compile(LoadClasses load, Scop scop, Tree tree)
        {
            var method = scop as MethodInfo;
            var l      = load.SetVariable(method, tree);

            tree.BaseCall = method;
            tree.Type     = l.Return;
            tree.Membre   = l;
            tree.Compiled = true;
            if (tree.Children.Count == 2)
            {
                return(l);
            }
            return(l);
        }
Пример #3
0
        public override FieldInfo Compile(LoadClasses load, Scop scop, Tree tree)
        {
            var dataPortor = scop as DataPortor;
            var l          = load.SetVariable(dataPortor, tree[0]);

            tree.BaseCall = dataPortor;
            tree.Type     = l.Return;
            tree.Membre   = l;
            tree.Compiled = true;
            if (tree.Children.Count == 2)
            {
                return(null);
            }
            var fieldInfo = load.Compile(scop, tree[1]);

            return(load.Add("mov", l, fieldInfo));
        }