Esempio n. 1
0
        public bool DeclareVariables(VarDeclarationList List, VarDeclConvMode Mode = VarDeclConvMode.Nothing,
                                     GetIdMode IdMode = GetIdMode.Everywhere)
        {
            var Variables = List.ToVariables(GetPlugin(), BeginEndMode.Both, Mode);

            return(DeclareVariables(Variables, IdMode));
        }
Esempio n. 2
0
        public FunctionParameter ToFuncParam(PluginRoot Plugin, VarDeclConvMode Mode = VarDeclConvMode.Nothing)
        {
            if (!CheckName(Plugin.State))
            {
                return(null);
            }

            var Ret = new FunctionParameter(Plugin.Container, Name, Type);

            Ret.Declaration = Declaration;
            Ret.InitString  = InitString;

            if (Modifiers != null && !Zinnia.Modifiers.Apply(Modifiers, Ret))
            {
                return(null);
            }

            if (Mode != VarDeclConvMode.Nothing)
            {
                if (!Ret.CalcValue(Plugin, BeginEndMode.Both, Mode == VarDeclConvMode.Assignment))
                {
                    return(null);
                }
            }

            return(Ret);
        }
Esempio n. 3
0
        public bool DeclareVariables(CodeString Str, List <Modifier> Mods = null,
                                     VarDeclConvMode Mode = VarDeclConvMode.Nothing, GetIdMode IdMode = GetIdMode.Everywhere)
        {
            var List = VarDeclarationList.Create(this, Str, Mods);

            if (List == null)
            {
                return(false);
            }

            return(DeclareVariables(List, Mode, IdMode));
        }
Esempio n. 4
0
        public FunctionParameter[] ToFuncParams(PluginRoot Plugin, VarDeclConvMode Mode = VarDeclConvMode.Nothing)
        {
            var Ret = new FunctionParameter[Count];

            for (var i = 0; i < Count; i++)
            {
                Plugin.Reset();
                Ret[i] = this[i].ToFuncParam(Plugin, Mode);
            }

            return(Ret);
        }
Esempio n. 5
0
        public Variable[] ToVariables(PluginRoot Plugin, BeginEndMode BEMode = BeginEndMode.Both,
                                      VarDeclConvMode Mode = VarDeclConvMode.Nothing, bool UsePlugin = false, bool Declare = false, bool EnableUntyped = false)
        {
            var Ret = new Variable[Count];

            for (var i = 0; i < Count; i++)
            {
                if ((BEMode & BeginEndMode.Begin) != 0)
                {
                    Plugin.Reset();
                }
                Ret[i] = this[i].ToVariable(Plugin, BEMode, Mode, UsePlugin, Declare, EnableUntyped);
            }

            return(Ret);
        }
Esempio n. 6
0
        public Variable ToVariable(PluginRoot Plugin, BeginEndMode BEMode = BeginEndMode.Both,
                                   VarDeclConvMode Mode = VarDeclConvMode.Nothing, bool UsePlugin = false, bool Declare = false, bool EnableUntyped = false)
        {
            if (!CheckName(Plugin.State))
            {
                return(null);
            }

            Variable Ret;

            if (UsePlugin)
            {
                Ret = Plugin.CreateVariable(Type, Name);
                if (Ret == null)
                {
                    return(null);
                }

                Ret.InitString = InitString;
                if (Declare && !Plugin.DeclareIdentifier(Ret))
                {
                    return(null);
                }
            }
            else
            {
                Ret = ToVariable(Plugin.Container, Declare);
                if (Ret == null)
                {
                    return(null);
                }
            }

            if (Mode != VarDeclConvMode.Nothing)
            {
                if (!Ret.CalcValue(Plugin, BEMode, Mode == VarDeclConvMode.Assignment, EnableUntyped))
                {
                    return(null);
                }
            }

            return(Ret);
        }