public virtual void LoadDefaultApiFunctionBodies(XmlNode functionsElement, IDesignerProject project)
        {
            if (functionsElement == null)
            {
                throw new DeserialisationException("Could not find FunctionInformation element");
            }
            CheckVersion(functionsElement);

            project.ClearOverriddenFunctionInformation();

            var functionInformations = new List <OverriddenFunctionInformation>();

            var functions = functionsElement.SelectNodes("Function");

            if (functions == null)
            {
                return;
            }

            foreach (XmlNode funcNode in functions)
            {
                var proc = new NodeProcessor(funcNode);

                var parameters = proc.GetStrings("Parameter").Select(p => GetTypeNamed(p));


                string functionName = proc.Attributes.GetString("name");
                string typeName     = proc.Attributes.GetString("type");

                string xmlcomments  = proc.GetString("XmlComments");
                string functionBody = proc.GetString("BodyText");

                functionInformations.Add(
                    new OverriddenFunctionInformation(GetTypeNamed(typeName), functionName, parameters, xmlcomments, functionBody));
            }

            project.AddOverriddenFunctionInformation(functionInformations);
        }
Ejemplo n.º 2
0
        public virtual void LoadDefaultApiFunctionBodies(XmlNode functionsElement, IDesignerProject project)
        {
            if (functionsElement == null)
                throw new DeserialisationException("Could not find FunctionInformation element");
            CheckVersion(functionsElement);

            project.ClearOverriddenFunctionInformation();

            var functionInformations = new List<OverriddenFunctionInformation>();

            var functions = functionsElement.SelectNodes("Function");

            if (functions == null) return;

            foreach (XmlNode funcNode in functions)
            {
                var proc = new NodeProcessor(funcNode);

                var parameters = proc.GetStrings("Parameter").Select(p => GetTypeNamed(p));

                string functionName = proc.Attributes.GetString("name");
                string typeName = proc.Attributes.GetString("type");

                string xmlcomments = proc.GetString("XmlComments");
                string functionBody = proc.GetString("BodyText");

                functionInformations.Add(
                    new OverriddenFunctionInformation(GetTypeNamed(typeName), functionName, parameters, xmlcomments, functionBody));
            }

            project.AddOverriddenFunctionInformation(functionInformations);
        }