Esempio n. 1
0
        private static void ReadUsing(ScriptInfo SI, XmlElement usingElem)
        {
            string       name   = string.Empty;
            string       sfPath = string.Empty;
            MemberAccess access = MemberAccess.Public;

            name   = usingElem.GetAttribute("name");
            access = (MemberAccess)Enum.Parse(typeof(MemberAccess), usingElem.GetAttribute("access"));
            foreach (XmlNode curNode in usingElem)
            {
                if (!(curNode is XmlElement))
                {
                    continue;
                }

                XmlElement curElem = (XmlElement)curNode;

                if (curElem.Name == "sfPath")
                {
                    sfPath = curElem.InnerText;
                }
                else
                {
                    throw new XmlException("Unknown ScriptInfo using node '" + curElem.Name + "'");
                }
            }

            UsingInfo usingInfo = new UsingInfo(SI.SF, name, sfPath, access, null);

            SI.AddUsing(usingInfo);
        }
Esempio n. 2
0
        /// <summary>
        /// Nájde funkciu v includovaných súboroch.
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public UsingInfo FindIncludesUsing(string name)
        {
            UsingInfo curUsing = null;

            foreach (IncludeInfo includeInfo in this.Includes)
            {
                if (includeInfo.SF.SI == null)
                {
                    continue;
                }

                curUsing = includeInfo.SF.SI.FindLocalUsing(name);
                if (curUsing != null)
                {
                    break;
                }
            }
            return(curUsing);
        }
Esempio n. 3
0
        /// <summary>
        /// Nájde funkciu na všetkých dostupných miestach.
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public UsingInfo FindUsing(string name)
        {
            UsingInfo curUsing = null;

            // search in local file...
            curUsing = FindLocalUsing(name);
            if (curUsing != null)
            {
                return(curUsing);
            }

            // search in includes...
            curUsing = FindIncludesUsing(name);
            if (curUsing != null)
            {
                return(curUsing);
            }

            return(curUsing);
        }
Esempio n. 4
0
 public void AddUsing(UsingInfo usingInfo)
 {
     Usings.Add(usingInfo);
     localMembers = null;
 }
Esempio n. 5
0
 /// <summary>
 /// Vytvorí referenciu priamo zo SC.
 /// </summary>
 /// <param name="constInfo"></param>
 /// <param name="charIndex"></param>
 /// <param name="charLength"></param>
 public UsingRefInfo(ScriptFile sf, UsingInfo usingInfo, int charIndex, int charLength, string codePart)
     : this(sf, charIndex, charLength, codePart)
 {
     this._definition = usingInfo;
 }