xtqqczze
3ba61069b8
Enable IDE0054: Use compound assignment ( #13546 )
...
* Autofix IDE0054
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0054-ide0074
2020-11-05 09:48:13 +05:00
xtqqczze
4597b41396
Use is not syntax where appropriate and remove unnecessary parentheses ( #13323 )
2020-07-31 16:41:59 -07:00
Dongbo Wang
4b9b0788ed
Revert "Use is null syntax ( #13277 )" ( #13322 )
...
This reverts commit 6c03776d74 .
2020-07-30 16:06:38 -07:00
xtqqczze
6c03776d74
Use is null syntax ( #13277 )
...
Replace `== null` with `is null`
2020-07-30 18:04:03 +05:00
xtqqczze
2c18386d79
Avoid usage of do statement to create an infinite loop ( #13137 )
...
* Autofix RCS1063
2020-07-20 09:23:14 +05:00
xtqqczze
bd90f1921f
Code performance fixes ( #12956 )
...
* RCS1080: Use 'Count/Length' property instead of 'Any' method
* RCS1077: Optimize LINQ method call
* RCS1235: Optimize method call
2020-06-25 11:30:40 +05:00
Carl Morris
2ea18ee6c9
Flag default switch statement condition clause as keyword ( #10487 )
2020-06-09 10:22:37 -07:00
xtqqczze
e93381e73e
Add readonly modifier to internal static members ( #11777 )
...
# PR Summary
* Add readonly modifier to internal static members.
## PR Context
## PR Checklist
- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress ).
- If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready.
- **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes )**
- [x] None
- **OR**
- [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Core/About/about_Experimental_Features.md )
- [ ] Experimental feature name(s): <!-- Experimental feature name(s) here -->
- **User-facing changes**
- [x] Not Applicable
- **OR**
- [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [ ] Issue filed: <!-- Number/link of that issue here -->
- **Testing - New and feature**
- [x] N/A or can only be tested interactively
- **OR**
- [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting )
- **Tooling**
- [x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
- **OR**
- [ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:
- Impact on [PowerShell Editor Services](https://github.com/PowerShell/PowerShellEditorServices ) which is used in the [PowerShell extension](https://github.com/PowerShell/vscode-powershell ) for VSCode (which runs in a different PS Host).
- Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
- Impact on [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer ) (which provides linting & formatting in the editor extensions).
- Impact on [EditorSyntax](https://github.com/PowerShell/EditorSyntax ) (which provides syntax highlighting with in VSCode, GitHub, and many other editors).
2020-05-31 05:10:22 +00:00
xtqqczze
05cab7fa5a
Formatting: Add empty line between declarations ( #12824 )
...
# PR Summary
Automated fixes:
* RCS0013: Add empty line between single-line declarations of different kind
* RCS010: Add empty line between declarations
## PR Context
## PR Checklist
- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress ).
- If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready.
- **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes )**
- [x] None
- **OR**
- [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Core/About/about_Experimental_Features.md )
- [ ] Experimental feature name(s): <!-- Experimental feature name(s) here -->
- **User-facing changes**
- [x] Not Applicable
- **OR**
- [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission )
- [ ] Issue filed: <!-- Number/link of that issue here -->
- **Testing - New and feature**
- [x] N/A or can only be tested interactively
- **OR**
- [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting )
- **Tooling**
- [x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
- **OR**
- [ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:
- Impact on [PowerShell Editor Services](https://github.com/PowerShell/PowerShellEditorServices ) which is used in the [PowerShell extension](https://github.com/PowerShell/vscode-powershell ) for VSCode (which runs in a different PS Host).
- Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
- Impact on [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer ) (which provides linting & formatting in the editor extensions).
- Impact on [EditorSyntax](https://github.com/PowerShell/EditorSyntax ) (which provides syntax highlighting with in VSCode, GitHub, and many other editors).
2020-05-29 04:56:33 +00:00
Steve Lee
f23be437af
Fix terms checker issues ( #12189 )
2020-03-24 11:38:45 -07:00
Steve Lee
b7cb335f03
Update copyright notice to latest guidance ( #12190 )
2020-03-24 11:08:37 -07:00
Ilya
b5d4739b2a
Use span-based overloads ( #11884 )
2020-03-18 18:38:55 +05:00
Ilya
59ad53181e
Remove old dead code from FullCLR ( #11886 )
2020-02-20 11:39:15 -08:00
Tyler James Leonhardt
ac1b83f152
Use Environment.NewLine instead of hard-coded linefeed in ParseError.ToString ( #11746 )
2020-02-03 14:03:12 -08:00
Steve Lee
ed1f6e3144
Make approved features non-experimental ( #11303 )
2019-12-10 15:41:43 -08:00
Aditya Patwardhan
2579c00a20
Support null-conditional operators ?. and ?[] in PowerShell language ( #10960 )
2019-11-15 16:39:53 -08:00
Dongbo Wang
fff137e69f
Avoid using closure in Parser.SaveError ( #11006 )
2019-11-08 00:45:43 +00:00
Ilya
9851b07b1d
Fix style issues ( #10998 )
2019-11-07 11:49:06 -08:00
Robert Holt
2a518fcfe2
Support the pipeline chain operators && and || in PowerShell language ( #9849 )
2019-10-17 14:43:46 -07:00
Aditya Patwardhan
425bc36a6f
Implement Null Coalescing and Null Coalescing assignment operators ( #10636 )
2019-10-17 10:21:24 -07:00
Ilya
eb2220632c
Clean up CodeFactor style issues coming in commits for the last month ( #10591 )
...
Only reformatting changes.
2019-09-28 12:47:09 +05:00
Dongbo Wang
5069c7d6a6
Support ternary operator in PowerShell language ( #10367 )
2019-09-04 13:22:33 -07:00
Joel Sallow (/u/ta11ow)
86a1697da9
Allow methods to be named after keywords ( #9812 )
2019-06-25 11:04:00 -07:00
Dongbo Wang
9dfec6ca84
Remove dead code about 'IsTransparentProxy' ( #9966 )
2019-06-21 09:12:09 +05:00
Kirk Munro
112401ed37
Support line continuance with pipe at the start of a line ( #8938 )
...
Expands line continuance for pipelines to allow lines to continue automatically without backticks with the pipe symbol at the start of a line.
This adds to the existing functionality where pipes can be used to continue lines by placing them at the end of a line.
2019-05-13 22:57:57 -07:00
Ilya
759c4abde8
Use Type.EmptyTypes and Array.Empty<T>() to replace our custom code of the same functionality ( #9042 )
2019-03-09 17:53:31 -08:00
Travis Plunk
57aeca428e
Port Security bypass fixes from 6.1.3 ( #8915 )
2019-02-21 13:44:08 -08:00
Joel Sallow (/u/ta11ow)
130298bfae
Parse numeric strings as numbers again during conversions ( #8681 )
2019-02-04 12:22:05 -08:00
Mathias R. Jessen
59a3696f70
Allow user-specified underlying type for enums ( #8329 )
...
Fix #8028
This change adds support for specifying the underlying type for an enum:
```powershell
enum MyEnum : long
{
A = 0x0FFFFFFFFFFFFFFF
B
}
# or
enum MyByte : byte
{
A = 0x01
B = 0x02
C = 0x03
D
}
```
2019-01-17 14:22:10 -08:00
Ilya
233b54ed65
Style: Add a space after "//" in comments and remove unneeded comments after "}" ( #8576 )
2019-01-05 17:51:20 -08:00
Ilya
1be3f4cc0e
Style: Add the ending period to the XML document texts ( #8577 )
2019-01-05 15:40:24 -08:00
Ilya
dfd2f69369
Style: Change 'String.' to 'string.' ( #8568 )
2018-12-31 20:44:16 +05:00
Ilya
56569b9315
Style: Replace String.IsNullOrEmpty with string.IsNullOrEmpty ( #8557 )
2018-12-31 15:10:15 +05:00
Ilya
7207db6360
Style: Convert to upper first char in <param> and <exception> doc tags ( #8556 )
2018-12-29 08:25:49 +05:00
Ilya
479fc64aff
Style: Add period before </param> and </exception> doc tags ( #8553 )
2018-12-28 16:39:06 +05:00
Ilya
871ce5696d
Style: Add period before returns doc tag ( #8535 )
...
- add period before "</returns>" doc tag
- remove extra space before "</returns>" doc tag
- convert first char after "<returns>" doc tag to upper case
2018-12-25 21:43:03 +05:00
Steve Lee
4af3068566
Code cleanup: Add space after closing brace where needed ( #8530 )
...
* Update TestService
* Update WebListener
* Update Controllers
* Update ExpTest
* Update MyApp
* Update Logic
* Update Logic
* Update MyApp
* Update Microsoft.Management.Infrastructure.CimCmdlets
* Update Microsoft.PowerShell.Commands.Diagnostics
* Update Microsoft.PowerShell.ScheduledJob
* Update Microsoft.WSMan.Management
* Update Microsoft.WSMan.Runtime
* Update ResGen
* Update TypeCatalogGen
* Update commands
* Update Eventing
* Update Reader
* Update utility
* Update ShowCommand
* Update trace
* Update WebCmdlet
* Update Common
* Update CoreCLR
* Update common
* Update format-object
* Update format-wide
* Update out-file
* Update out-printer
* Update out-string
* Update OutGridView
* Update LocalAccounts
* Update Commands
* Update security
* Update CoreCLR
* Update DscSupport
* Update engine
* Update help
* Update logging
* Update namespaces
* Update security
* Update utils
* Update config
* Update perfCounters
* Update tracing
* Update cmdletization
* Update other
* Update cim
* Update xml
* Update CoreCLR
* Update common
* Update DefaultFormatters
* Update out-console
* Update out-textInterface
* Update DisplayDatabase
* Update Utilities
* Update COM
* Update ComInterop
* Update CommandCompletion
* Update debugger
* Update ExperimentalFeature
* Update hostifaces
* Update interpreter
* Update lang
* Update Modules
* Update parser
* Update runtime
* Update client
* Update commands
* Update common
* Update fanin
* Update server
* Update WireDataFormat
* Update Binding
* Update Operations
* Update interface
* Update cmdletization
* Update cim
* Update management
* Update WindowsTaskbarJumpList
* Update msh
2018-12-24 11:20:06 +05:00
Dongbo Wang
e999e1dba5
Remove space after new keyword in implicitly typed array allocation ( #8505 )
2018-12-21 12:19:58 +05:00
Ilya
5d03e1653a
Remove empty xml comment lines ( #7401 )
2018-08-01 10:39:13 +05:00
Dongbo Wang
b20dd31398
Fix parser to continue parsing key-value pairs after an If-Statement value in a HashExpression ( #7002 )
...
After parsing `if () { }`, new lines are skipped in order to see if either `elseif` or `else` is present. When neither is present, we should resync back to the pointer before skipping those possibly available new lines, so that the new line tokens can be utilized by the subsequent parsing.
2018-06-06 09:38:05 -07:00
rjmholt
faa21c907b
Change the 'SaveError' method in Parser to use nameof for error ids ( #6498 )
...
Many error messages in PowerShell currently use a LINQ expression to pass both the name of the error and the message through in the error processing. This PR uses the `nameof` feature to carry the error name/ID and gets rid of LINQ expression reflection, hopefully improving performance, especially in editor scenarios.
2018-03-28 16:21:25 -07:00
Dongbo Wang
9df8ea58e9
Throw better parsing error when statements should be put in named block ( #6434 )
2018-03-21 14:24:20 -07:00
Steve Lee
c1c5344a88
Update copyright and license headers ( #6134 )
...
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.
Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.
Separate PR coming to update contribution document for new source files: #6140
Manually reviewed each change.
Fix #6073
2018-02-13 09:23:53 -08:00
Steve Lee
4bc52d2358
Use consistent '(c)' for copyright symbol ( #5210 )
...
- Remove the year about copyright
- Fix casing of `All rights reserved`
- Replace Unicode characters representing single quote with a single quote
2017-10-26 14:12:19 -07:00
Bruce Payette
dfb3866c5d
Support backgrounding pipelines with ampersand ( #3360 )
...
Implements support for backgrounding pipelines with &. Putting & at the end of a pipeline will cause the pipeline
to be run as a PowerShell job. When a pipeline is backgrounded a job object is returned. Once the pipeline is
running as a job, all of the normal job cmdlets can be used to manage the job. Variables (ignoring process-specific
variables) used in the pipeline are automatically copied to the job so
copy $foo $bar &
just works. The job is also run in the current directory instead of the user's home directory as is the case with Start-Job.Implement
2017-05-18 19:15:19 -07:00
Jason Shirk
dccce7e8a3
Update class grammar comments ( #3688 )
2017-05-02 15:36:20 -07:00
Ilya
a16fead0a5
Fix error position reporting on classes ( #3103 )
...
Interactive hosts expect an `IncompleteParseException` to signal that more input is expected.
When detecting errors, the parser can report 2 positions:
* where the error should be reported
* where the error was detected
Typically these are the same, so most error reporting methods have a single parameter.
For missing braces, the pattern is supposed to be to report the error after the opening brace, but the error is typically detected at the end of the file.
There were a few places where we were not consistent in reporting such errors, this PR corrects those places.
2017-02-13 16:45:00 -08:00
Ilya
9b23e1e1fe
Fix error handling in parsing 'using' statement ( #3007 )
2017-01-17 12:54:43 -08:00
Jason Shirk
02b5f357a2
Remove trailing whitespace ( #3001 )
2017-01-16 13:31:14 -08:00
Jason Shirk (POWERSHELL)
386b4f37f4
Remove CheckForSevereException and private FailFast
...
Our private implementation of FailFast was likely introduced
when each individual application needed it's own code to
get Watson reports. The CLR takes care of this for us now,
so we don't need our implementation.
Our method CheckForSevereException was also introduced in
the early days of the CLR - the exceptions it was checking
for aren't actually raised the CLR anymore, they just FailFast.
I removed them as there is a tiny bit of overhead (in code size)
and also in the generated code, e.g. dynamic sites called the method.
2016-12-01 13:46:56 -08:00