protected internal void AddParameter(IVbParameter parameter) { if (parameter == null) { throw new ArgumentNullException("parameter"); } if (!_parametersInternal.Contains(parameter)) { _parametersInternal.Add(parameter); } }
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(); } } }