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)); }
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); }
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)); }
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); }
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); }
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); }