GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Use AST to determine SupportsShouldProcess when an error is thrown by rjmholt · Pull Request #1397 · PowerShell/PSScriptAnalyzer

Conversation

@rjmholt

@rjmholt Rob Holt (rjmholt) commented Jan 16, 2020

Copy link
Copy Markdown
Contributor

PR Summary

Fixes #1217.

When PowerShell throws an error due to not being able to resolve an attribute type, we sift through the AST to determine whether SupportsShouldProcess has been set on a function.

Also cleans up some of the logic so it's not all nested ass.

PR Checklist

  • PR has a meaningful title
    • Use the present tense and imperative mood when describing your changes
  • Summarized changes
  • Change is not breaking
  • Make sure all .cs, .ps1 and .psm1 files have the correct copyright header
  • Make sure you've added a new test if existing tests do not effectively test the code changed and/or updated documentation
  • This PR is ready to merge and is not Work in Progress.
    • If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rjmholt
Use AST to determine SupportsShouldProcess when an error is thrown
934a8da
bergmeister
Christoph Bergmeister (bergmeister) reviewed Jan 16, 2020
View reviewed changes
Comment thread Rules/UseShouldProcessCorrectly.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

@bergmeister

Christoph Bergmeister (bergmeister) commented Jan 16, 2020

Copy link
Copy Markdown
Collaborator

Code change looks ok but the build says it has a problem when targeting psv3, looks like we need a pragma using the PSV3 variable

UseShouldProcessCorrectly.cs(382,99): error CS1061: 'ExpressionAst' does not contain a definition for 'SafeGetValue' and no accessible extension method 'SafeGetValue' accepting a first argument of type 'ExpressionAst' could be found (are you missing a using directive or an assembly reference?)
rjmholt reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Rob Holt (rjmholt) and others added 3 commits January 16, 2020 14:30
@rjmholt @bergmeister
Update Rules/UseShouldProcessCorrectly.cs
e5ea04d
Co-Authored-By: Christoph Bergmeister [MVP] <[email protected]>
Rob Holt
Reuse SafeGetValue implementation for PS3
554c364
Rob Holt
Fix settings tests
a049365
@rjmholt

Rob Holt (rjmholt) commented Feb 7, 2020

Copy link
Copy Markdown
Contributor Author

Ok I've repurposed the SafeGetValue substitute method I wrote to handle that. It's now available as a Helper method.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Rob Holt
Fix method name
3c0a776
bergmeister
Christoph Bergmeister (bergmeister) approved these changes Feb 8, 2020
View reviewed changes

@bergmeister Christoph Bergmeister (bergmeister) left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I verified that the diff in Helper.cs/Settings.cs is mainly just the move to make the method publicly accessible.
Only an optional style suggestion.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread Rules/UseShouldProcessCorrectly.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Rules/UseShouldProcessCorrectly.cs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Rob Holt (rjmholt) and others added 2 commits February 8, 2020 09:54
@rjmholt @bergmeister
Update Rules/UseShouldProcessCorrectly.cs
9b1b6a6
Co-Authored-By: Christoph Bergmeister [MVP] <[email protected]>
@rjmholt @bergmeister
Update Rules/UseShouldProcessCorrectly.cs
e2d7344
Co-Authored-By: Christoph Bergmeister [MVP] <[email protected]>
@bergmeister
Christoph Bergmeister (bergmeister) merged commit 8ba2d97 into PowerShell:master Feb 8, 2020
@rjmholt Rob Holt (rjmholt) mentioned this pull request Jul 8, 2020
NullReferenceException on PSShouldProcess Rule. #1539
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@bergmeister Christoph Bergmeister (bergmeister) bergmeister approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

UseShouldProcessCorrectly Unable to find type

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@rjmholt @bergmeister
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.