示例#1
0
        internal static TypeKind ToTypeKind(this IVbModule module)
        {
            if (module is GlobalModule)
            {
                return(TypeKind.Module);
            }

            return(TypeKind.Class);
        }
示例#2
0
        internal VB6UnresolvedFile(string fileName, string text, IVbpProject project)
            : this()
        {
            _fileName = fileName;
            this.Project = project;

            this.PartitionedFile = VbPartitionedFile.GetPartitionedFile(text);

            _module = ParseModule(this.PartitionedFile);
            ParseModuleIntoMembers();
        }
示例#3
0
        internal VB6UnresolvedFile(string fileName, string text, IVbpProject project)
            : this()
        {
            _fileName    = fileName;
            this.Project = project;

            this.PartitionedFile = VbPartitionedFile.GetPartitionedFile(text);

            _module = ParseModule(this.PartitionedFile);
            ParseModuleIntoMembers();
        }
        internal VB6UnresolvedTypeDefinition(IUnresolvedFile file, IVbModule module, IVbpProject project)
            : base(file, null)
        {
            this.Module = module;

            _typeKind = this.Module.ToTypeKind();

            this.Accessibility = (_typeKind != TypeKind.Module) ? Accessibility.Public : Accessibility.Private;

            _events     = new List <IUnresolvedEvent>();
            _fields     = new List <IUnresolvedField>();
            _properties = new List <IUnresolvedProperty>();
            _methods    = new List <IUnresolvedMethod>();
            _members    = new List <IUnresolvedMember>();

            this.DeclaringTypeDefinition = this;
            this.FullName       = GetName(true);
            this.Name           = GetName(false);
            this.Namespace      = "(implicit)";
            this.ReflectionName = GetName(true);

            ProcessModule();
        }
        internal VB6UnresolvedTypeDefinition(IUnresolvedFile file, IVbModule module, IVbpProject project)
            : base(file, null)
        {
            this.Module = module;

            _typeKind = this.Module.ToTypeKind();

            this.Accessibility = (_typeKind != TypeKind.Module) ? Accessibility.Public : Accessibility.Private;

            _events = new List<IUnresolvedEvent>();
            _fields = new List<IUnresolvedField>();
            _properties = new List<IUnresolvedProperty>();
            _methods = new List<IUnresolvedMethod>();
            _members = new List<IUnresolvedMember>();

            this.DeclaringTypeDefinition = this;
            this.FullName = GetName(true);
            this.Name = GetName(false);
            this.Namespace = "(implicit)";
            this.ReflectionName = GetName(true);

            ProcessModule();
        }
示例#6
0
        private void ExtendNode(ElementBase item, TreeNode itemNode)
        {
            if (item is ClassElement || item is ModuleElement || item is FormElement)
            {
                IVbModule reflectedModule = AnalyzeElement(item);
                if (reflectedModule == null)
                {
                    return;
                }

                foreach (IVbMember member in reflectedModule.Members)
                {
                    TreeNode node = new TreeNode();
                    node.Tag = member;

                    if (member is IVbAttribute)
                    {
                        node.Text = string.Format("(A) {0}", ((IVbAttribute)member).Name);
                    }
                    else if (member is IVbProperty)
                    {
                        IVbProperty property = (IVbProperty)member;
                        node.Text = string.Format("(P) {0} {1}", property.Accessor, property.Name);
                    }
                    else if (member is IVbMethod)
                    {
                        node.Text = string.Format("(M) {0}", ((IVbMethod)member).Name);
                    }
                    else if (member is IVbField)
                    {
                        node.Text = string.Format("(F) {0}", ((IVbField)member).Name);
                    }

                    itemNode.Nodes.Add(node);
                }
            }
        }