Skip to content

Releases: SeeminglyScience/ClassExplorer

v2.3.3

03 May 01:54
e5aea8d
Compare
Choose a tag to compare

What's Changed

  • Add -Decoration to Find-Type and fix it being unreliable with non-BCL attributes (#44)

Full Changelog: v2.3.2...v2.3.3

v2.3.2

02 May 01:33
dde4c34
Compare
Choose a tag to compare

What's Changed

  • Add property attributes in Format-MemberSignature (#39)
  • Add argument completion for -Decoration (#40)
  • Fix type for ResolutionMap in help (#41)

Full Changelog: v2.3.1...v2.3.2

v2.3.1

01 May 21:48
c92d4c9
Compare
Choose a tag to compare

What's Changed

  • Fix number keyword not resolving and add help for hasdefault keyword (#38)

Full Changelog: v2.3.0...v2.3.1

v2.3.0

01 May 20:54
2845fdd
Compare
Choose a tag to compare

What's Changed

  • Add -Extension parameter for extension methods (#35)
  • Add index signature keyword (#36)

image

Full Changelog: v2.2.0...v2.3.0

v2.2.0

30 Apr 20:48
cc01dcb
Compare
Choose a tag to compare

What's Changed

Add -RecurseNestedType parameter (#31)

A lot of queries were a little harder with automatically recursing nested types. So, you could do something like:

Find-Type -Not -Base delegate | Find-Member -Not -Virtual | Find-Member Invoke

And end up with a bunch of members from nested delegates. This also lets you filter nested types easier. Basically, we are just actually treating
nested types like other members unless you specifically request otherwise.

Other

  • Filter sealed and abstract methods from virtual (#29)
  • Fix filters applying incorrectly with not or pipe (#30)
  • Add some extra aliases and update docs (#32)

Full Changelog: v2.1.0...v2.2.0

v2.1.0

30 Apr 18:36
4ef1df1
Compare
Choose a tag to compare

What's Changed

  • Some methods show as virtual when they are not (#21)
  • Group Find-Member formatting by full name (#22)
  • Process params in member signature format (#23)
  • Exclude ValueType and Enum implementations (#25)
  • Fix access check for Find-Type with -Not (#26)
  • Add keywords abstract and concrete (#27)
  • Update manifest for 2.1.0 (#28)

Full Changelog: v2.0.1...v2.1.0

v2.0.1

25 Apr 13:38
949ee8b
Compare
Choose a tag to compare

Minor docs and exception message update.

v2.0.0

24 Apr 21:59
89bce07
Compare
Choose a tag to compare

v2.0.0

BREAKING CHANGE: The Find-Namespace cmdlet has been removed.

Type Signature Query Language

This feature allows for very easily handling of generic types, something that was sorely lacking previously. There's a significant number of additional queries to play with, check out about_Type_Signatures.help.md for more info.


Find-Member -ParameterType { [ReadOnlySpan[any]] }

Example-1

Finds members that take a ReadOnlySpan<> as a parameter regardless of generic argument.


Find-Member -ReturnType { [generic[anyof[Span`1, ReadOnlySpan`1], args[TM]]] } -ParameterType { [anyref] [any] }

Example-2

Finds members that take any form of ref (including out and in) and return either a Span<> or a ReadOnlySpan<> whose generic argument is a generic method type parameter.

Formatting

Every object returned by included commands feature new formatting with syntax highlighting. Also includes formatting for PSMethod (e.g. overload definitions):

Formatting-Example

New command Format-MemberSignature

Provides a "metadata reference" style view for reflection objects.

Format-MemberSignature-Example

Smart Casing

Any parameter that takes a string now uses "smart casing". If the value is all lower case, the search will be case insensitive and switches to case sensitive only when a upper case character is present.

Find-Type *ast*

smart-casing-example-1

Find-Type *Ast*

smart-casing-example-2

Range Expressions

Some new parameters like Find-Member's -ParameterCount take a new type of expression that represents a range.

Find-Member -ParameterCount 20..

range-expression-example

Finds all methods with 20 or more parameters.

And more

  • A lot of new parameters and parameter aliases
  • Results are properly streamed rather than dumped all at once
  • Included cmdlet aliases
  • -Not works reliably
  • Slightly faster
  • Many fixes

v1.1.0

07 Jan 15:43
209564a
Compare
Choose a tag to compare

Version 1.1.0

Find-Namespace Cmdlet

Added the Find-Namespace cmdlet for searching the AppDomain for specific namespaces. This is
paticularly useful when exploring a new assembly to get a quick idea what's available. The namespace
objects returned from this cmdlet can be piped into Find-Type or Find-Member.

For examples and usage, see the Find-Namespace help page.

More argument completion

Namespace parameters for Find-Namespace and Find-Type now have tab completion. The Name parameter
for Get-Assembly will now also complete assembly names.

Not parameter

The cmdlets Find-Namespace, Find-Type, and Find-Member now have a Not parameter to negate the
search criteria. This makes chaining the commands to filter results a lot easier. Here's a basic example.

Find-Namespace Automation | Find-Member -Static | Find-Member -MemberType Field -Not

Fixes

  • The Find-* cmdlets no longer return all matches in the AppDomain if passed null pipeline input

  • Added support for explicitly specifying the InputObject parameter from pipeline position 0

  • Find-Type no longer throws when the Namespace parameter is specified with the RegularExpression
    switch parameter

  • Various build and test fixes

v1.0.1

28 Aug 23:49
Compare
Choose a tag to compare
  • Fix positional binding of FilterScript for Find-Member and Find-Type.