@@ -15,127 +15,127 @@ function Get-NetHelp {
1515 [string ]$Method
1616 )
1717
18- if ($Docs = Get-HelpLocation $Type ) {
19- $PSCmdlet.WriteVerbose (" Found '$Docs '." )
18+ # if ($Docs = Get-HelpLocation $Type) {
19+ # $PSCmdlet.WriteVerbose("Found '$Docs'.")
2020
21- $TypeName = $Type.FullName
22- if ($Method ) {
23- $Selector = " M:$TypeName .$Method "
24- } else { # # TODO: Property?
25- $Selector = " T:$TypeName "
26- }
21+ # $TypeName = $Type.FullName
22+ # if ($Method) {
23+ # $Selector = "M:$TypeName.$Method"
24+ # } else { ## TODO: Property?
25+ # $Selector = "T:$TypeName"
26+ # }
2727
28- # # get summary, if possible
29- $Help = Import-LocalNetHelp $Docs $Selector
28+ # ## get summary, if possible
29+ # $Help = Import-LocalNetHelp $Docs $Selector
3030
31- if ($Help ) {
32- $Help # | Format-AssemblyHelp
33- } else {
34- Write-Warning " While some local documentation was found, it was incomplete."
31+ # if ($Help) {
32+ # $Help #| Format-AssemblyHelp
33+ # } else {
34+ # Write-Warning "While some local documentation was found, it was incomplete."
35+ # }
36+ # }
37+
38+ $HelpObject = New-Object PSObject - Property @ {
39+ Details = New-Object PSObject - Property @ {
40+ Name = $Type.Name
41+ Namespace = $Type.Namespace
42+ SuperClass = $Type.BaseType
3543 }
44+ Properties = @ {}
45+ Constructors = @ ()
46+ Methods = @ {}
47+ RelatedLinks = @ (
48+ New-Object PSObject - Property @ {Title = " Online Version" ; Link = Get-HelpUri $Type }
49+ )
50+ }
51+ $HelpObject.Details.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Details" )
52+ $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo" )
53+ if ($Detailed ) {
54+ $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#DetailedView" )
55+ # Write-Error "Local detailed help not available for type '$Type'."
3656 } else {
37- $HelpObject = New-Object PSObject - Property @ {
38- Details = New-Object PSObject - Property @ {
39- Name = $Type.Name
40- Namespace = $Type.Namespace
41- SuperClass = $Type.BaseType
42- }
43- Properties = @ {}
44- Constructors = @ ()
45- Methods = @ {}
46- RelatedLinks = @ (
47- New-Object PSObject - Property @ {Title = " Online Version" ; Link = Get-HelpUri $Type }
48- )
49- }
50- $HelpObject.Details.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Details" )
51- $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo" )
52- if ($Detailed ) {
53- $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#DetailedView" )
54- # Write-Error "Local detailed help not available for type '$Type'."
55- } else {
56- $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net" )
57- }
57+ $HelpObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net" )
58+ }
5859
59- foreach ($NetProperty in $Type.DeclaredProperties ) {
60- $PropertyObject = New-Object PSObject - Property @ {
61- Name = $NetProperty.Name
62- Type = $NetProperty.PropertyType
63- }
64- $PropertyObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Property" )
65- $HelpObject.Properties.Add ($NetProperty.Name , $PropertyObject )
60+ foreach ($NetProperty in $Type.DeclaredProperties ) {
61+ $PropertyObject = New-Object PSObject - Property @ {
62+ Name = $NetProperty.Name
63+ Type = $NetProperty.PropertyType
6664 }
65+ $PropertyObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Property" )
66+ $HelpObject.Properties.Add ($NetProperty.Name , $PropertyObject )
67+ }
6768
68- foreach ($NetConstructor in $Type.DeclaredConstructors | Where-Object {$_.IsPublic }) {
69- $ConstructorObject = New-Object PSObject - Property @ {
70- Name = $Type.Name
71- Namespace = $Type.Namespace
72- Parameters = $NetConstructor.GetParameters ()
73- }
74- $ConstructorObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Constructor" )
75-
76- $HelpObject.Constructors += $ConstructorObject
69+ foreach ($NetConstructor in $Type.DeclaredConstructors | Where-Object {$_.IsPublic }) {
70+ $ConstructorObject = New-Object PSObject - Property @ {
71+ Name = $Type.Name
72+ Namespace = $Type.Namespace
73+ Parameters = $NetConstructor.GetParameters ()
7774 }
78-
79- foreach ($NetMethod in $Type.DeclaredMethods | Where-Object {$_.IsPublic -and (-not $_.IsSpecialName )} | Group-Object Name) {
80- $MethodObject = New-Object PSObject - Property @ {
81- Name = $NetMethod.Name
82- Static = $NetMethod.Group [0 ].IsStatic
83- Constructor = $NetMethod.Group [0 ].IsConstructor
84- ReturnType = $NetMethod.Group [0 ].ReturnType
85- Overloads = @ (
86- $NetMethod.Group | ForEach-Object {
87- $MethodOverload = New-Object PSObject - Property @ {
88- Name = $NetMethod.Name
89- Static = $_.IsStatic
90- ReturnType = $_.ReturnType
91- Parameters = @ (
92- $_.GetParameters () | ForEach-Object {
93- New-Object PSObject - Property @ {
94- Name = $_.Name
95- ParameterType = $_.ParameterType
96- }
75+ $ConstructorObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Constructor" )
76+
77+ $HelpObject.Constructors += $ConstructorObject
78+ }
79+
80+ foreach ($NetMethod in $Type.DeclaredMethods | Where-Object {$_.IsPublic -and (-not $_.IsSpecialName )} | Group-Object Name) {
81+ $MethodObject = New-Object PSObject - Property @ {
82+ Name = $NetMethod.Name
83+ Static = $NetMethod.Group [0 ].IsStatic
84+ Constructor = $NetMethod.Group [0 ].IsConstructor
85+ ReturnType = $NetMethod.Group [0 ].ReturnType
86+ Overloads = @ (
87+ $NetMethod.Group | ForEach-Object {
88+ $MethodOverload = New-Object PSObject - Property @ {
89+ Name = $NetMethod.Name
90+ Static = $_.IsStatic
91+ ReturnType = $_.ReturnType
92+ Parameters = @ (
93+ $_.GetParameters () | ForEach-Object {
94+ New-Object PSObject - Property @ {
95+ Name = $_.Name
96+ ParameterType = $_.ParameterType
9797 }
98- )
99- Class = $HelpObject.Details.Name
100- Namespace = $HelpObject.Details.Namespace
101- }
102- $MethodOverload.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#MethodOverload" )
103- $MethodOverload
98+ }
99+ )
100+ Class = $HelpObject.Details.Name
101+ Namespace = $HelpObject.Details.Namespace
104102 }
105- )
106- }
107- $MethodObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Method" )
108-
109- $HelpObject.Methods.Add ($NetMethod.Name , $MethodObject )
103+ $MethodOverload.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#MethodOverload" )
104+ $MethodOverload
105+ }
106+ )
107+ }
108+ $MethodObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#Method" )
109+
110+ $HelpObject.Methods.Add ($NetMethod.Name , $MethodObject )
111+ }
112+
113+ if ($Property ) {
114+ $PropertyObject = $HelpObject.Properties [$Property ]
115+
116+ if ($PropertyObject ) {
117+ Add-Member - InputObject $PropertyObject - Name Class -Value $HelpObject.Details.Name - MemberType NoteProperty
118+ Add-Member - InputObject $PropertyObject - Name Namespace - Value $HelpObject.Details.Namespace - MemberType NoteProperty
119+ Add-Member - InputObject $PropertyObject - Name SuperClass - Value $HelpObject.Details.SuperClass - MemberType NoteProperty
120+ $PropertyObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#PropertyDetail" )
121+ return $PropertyObject
122+ } else {
123+ throw " Property named '$Property ' not found."
110124 }
111-
112- if ($Property ) {
113- $PropertyObject = $HelpObject.Properties [$Property ]
114-
115- if ($PropertyObject ) {
116- Add-Member - InputObject $PropertyObject - Name Class -Value $HelpObject.Details.Name - MemberType NoteProperty
117- Add-Member - InputObject $PropertyObject - Name Namespace - Value $HelpObject.Details.Namespace - MemberType NoteProperty
118- Add-Member - InputObject $PropertyObject - Name SuperClass - Value $HelpObject.Details.SuperClass - MemberType NoteProperty
119- $PropertyObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#PropertyDetail" )
120- return $PropertyObject
121- } else {
122- throw " Property named '$Property ' not found."
123- }
124- } elseif ($Method ) {
125- $MethodObject = $HelpObject.Methods [$Method ]
126-
127- if ($MethodObject ) {
128- Add-Member - InputObject $MethodObject - Name Class -Value $HelpObject.Details.Name - MemberType NoteProperty
129- Add-Member - InputObject $MethodObject - Name Namespace - Value $HelpObject.Details.Namespace - MemberType NoteProperty
130- Add-Member - InputObject $MethodObject - Name SuperClass - Value $HelpObject.Details.SuperClass - MemberType NoteProperty
131- $MethodObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#MethodDetail" )
132-
133- return $MethodObject
134- } else {
135- throw " Method named '$Method ' not found."
136- }
125+ } elseif ($Method ) {
126+ $MethodObject = $HelpObject.Methods [$Method ]
127+
128+ if ($MethodObject ) {
129+ Add-Member - InputObject $MethodObject - Name Class -Value $HelpObject.Details.Name - MemberType NoteProperty
130+ Add-Member - InputObject $MethodObject - Name Namespace - Value $HelpObject.Details.Namespace - MemberType NoteProperty
131+ Add-Member - InputObject $MethodObject - Name SuperClass - Value $HelpObject.Details.SuperClass - MemberType NoteProperty
132+ $MethodObject.PSObject.TypeNames.Insert (0 , " ObjectHelpInfo#Net#MethodDetail" )
133+
134+ return $MethodObject
137135 } else {
138- return $HelpObject
136+ throw " Method named ' $Method ' not found. "
139137 }
138+ } else {
139+ return $HelpObject
140140 }
141141}
0 commit comments