Exemplo n.º 1
0
        /// <summary>
        /// 代码解析。
        /// </summary>
        /// <param name="reader">源码读取器。</param>
        protected override void Initialized(SourceReader reader)
        {
            var declarations = new List <string>();
            var name         = reader.ReadMemberDeclaration();
            var type         = GetInnerCodeType(name);

            if (type != null)
            {
                declarations.Add(name);
                Initialized(reader, declarations, type.Value);
                return;
            }
            while (type == null)
            {
                declarations.Add(name);
                name = reader.ReadMemberDeclaration();
                type = GetInnerCodeType(name);
                if (type != null)
                {
                    declarations.Add(name);
                    Initialized(reader, declarations, type.Value);
                    return;
                }
                type = reader.GetMemberType();
            }
            AddElement(reader, name, type.Value, declarations);
        }