コード例 #1
0
        protected internal void AddParameter(IVbParameter parameter)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException("parameter");
            }

            if (!_parametersInternal.Contains(parameter))
            {
                _parametersInternal.Add(parameter);
            }
        }
コード例 #2
0
        private void DisplayElementProperties(object tag)
        {
            if (tag == null)
            {
                return;
            }

            if (tag is ClassElement || tag is ModuleElement || tag is FormElement)
            {
                try
                {
                    ElementBase element = (ElementBase)tag;

                    using (Stream stream = _fileReader.Read(element, _project))
                    {
                        VbPartitionedFile content = _fileReader.ReadPartitionedFile(element, stream);
                        txtEdit.Text = content.Source;
                    }
                }
                catch (Exception)
                {
                }
            }
            else
            {
                IVbMember member = tag as IVbMember;
                if (member != null)
                {
                    AddPropertyListViewItem("(Declaration)", member.ToVbDeclaration());
                    AddPropertyListViewItem("(Member type)", member.GetType().Name);

                    AddPropertyListViewItem("Name", member.Name);
                    AddPropertyListViewItem("Line", member.Location.Line);
                    AddPropertyListViewItem("Column", member.Location.Column);
                    AddPropertyListViewItem("Visibility", member.Visibility);

                    IVbMethod method = member as IVbMethod;
                    if (method != null)
                    {
                        AddPropertyListViewItem("Kind", method.MethodKind);
                        AddPropertyListViewItem("Return type", method.ReturnType.TypeName);

                        AddPropertyListViewItem("End Line", method.EndStatementLocation.Line);
                        AddPropertyListViewItem("End Column", method.EndStatementLocation.Column);

                        AddPropertyListViewItem("(Parameter count)", method.Parameters.Count);
                        for (int i = 0; i < method.Parameters.Count; i++)
                        {
                            IVbParameter parameter = method.Parameters[i];

                            AddPropertyListViewItem(string.Format("Param {0} (Declaration)", i), parameter.ToVbDeclaration());
                            AddPropertyListViewItem(string.Format("Param {0}: Access", i), parameter.Access);
                            AddPropertyListViewItem(string.Format("Param {0}: Name", i), parameter.Name);
                            AddPropertyListViewItem(string.Format("Param {0}: Line", i), parameter.Location.Line);
                            AddPropertyListViewItem(string.Format("Param {0}: Column", i), parameter.Location.Column);
                            AddPropertyListViewItem(string.Format("Param {0}: Type", i), parameter.Type.TypeName);

                            if (parameter.IsOptional)
                            {
                                AddPropertyListViewItem(string.Format("Param {0}: Is optional", i), true);
                                AddPropertyListViewItem(string.Format("Param {0}: Default value", i), parameter.OptionalDefaultValue);
                            }
                        }
                    }

                    IVbAttribute attribute = member as IVbAttribute;
                    if (attribute != null)
                    {
                        AddPropertyListViewItem("Value", attribute.Value);
                    }
                }
                else
                {
                    txtEdit.Clear();
                }
            }
        }
コード例 #3
0
ファイル: VbMethod.cs プロジェクト: mks786/vb6leap
        protected internal void AddParameter(IVbParameter parameter)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException("parameter");
            }

            if (!_parametersInternal.Contains(parameter))
            {
                _parametersInternal.Add(parameter);
            }
        }