Mohit Athwani
ce1122921a
SR-7292 - Refactoring tool for generating member wise init
2018-07-26 11:31:30 -07:00
Huon Wilson
75313cfed5
[IDE] make replace.bodies.with.fatalError an internal refactoring.
...
This shouldn't be exposed to general users.
2018-04-17 09:05:26 +10:00
Huon Wilson
fac1a529fe
[IDE] Tweak replace.bodies.with.fatalError.
...
The menu item should be capitalised, and it's nicer if the fatalError is on its
own line in the new function body.
2018-04-16 12:58:55 +10:00
Huon Wilson
8056102ee5
[IDE] Refactoring to change function bodies to "fatalError()".
...
This is immensely useful when working on generic code, where the signatures
of (many) functions are all that is required, and removing the bodies makes
things compile faster, allows tools like creduce to work better and results in
less noise in a debugger.
Unfortunately the design of refactoring means this currently only works on a
single top-level decl, or multiple decls inside a type.
2018-04-13 15:56:56 +10:00
Rintaro Ishizaki
53be298f1f
[IDE] Don't emit “Convert to Trailing Closure” for trailing closure ( #15824 )
...
rdar://problem/39253640
2018-04-09 15:30:52 +09:00
Robert Widmann
03580d2fe5
Add a parameter list to EnumElementDecl
...
This models, but does not plumb through, default arguments.
2018-03-28 00:05:56 -04:00
Sho Ikeda
25cdc981c7
Merge pull request #14977 from ikesyo/gardening-use-empty
...
[gardening] Use `empty()` over `size() == 0`
2018-03-07 09:34:26 +09:00
Nathan Hawes
743d3a5f44
Merge pull request #14980 from nathawes/rdar37905156-rename-init-gives-empty-categorised-edit-ranges
...
[refactoring] Avoid producing empty string/comment categorized edit ranges when renaming init. Also disallow renaming inits with no arguments.
2018-03-06 15:40:22 -08:00
Nathan Hawes
91ec9982a8
[refactoring] Avoid producing empty categorised edit ranges when renaming init. Also disallow renaming inits with no arguments.
2018-03-05 18:38:35 -08:00
Xi Ge
2f47af6c7c
refactoring: don't assume every pattern binding has an initializer. rdar://38062772
2018-03-05 16:14:09 -08:00
Sho Ikeda
26d650292f
[gardening] Use empty() over size() == 0
2018-03-05 14:43:13 +09:00
David Ungar
a9819b6e60
Renaming FrontendInputs -> FrontendInputsAndOutputs
...
Fix comment in ArtsToFrontendOptionsConverter re getOutputFilenamesFromCommandLineOrFilelist
2018-01-30 18:54:38 -08:00
Xi Ge
cf36346021
refactoring: when RangeInfo is of kind PartOfExpression, we should use the dedicated field to get the parent expression. rdar://36755861 ( #14088 )
2018-01-23 12:53:50 -08:00
Xi Ge
a73b767bf6
refactoring: add a defensive check against null type. rdar://36305791 ( #14014 )
2018-01-18 17:28:54 -08:00
John McCall
7f0f8830cd
Split AccessorDecl out from FuncDecl. NFC.
...
This has three principal advantages:
- It gives some additional type-safety when working
with known accessors.
- It makes it significantly easier to test whether a declaration
is an accessor and encourages the use of a common idiom.
- It saves a small amount of memory in both FuncDecl and its
serialized form.
2018-01-12 14:20:27 -05:00
Xi Ge
7945b7db53
refactoring: Add a defensive check for empty nodes list. ( #13765 )
...
This defensive check ensures convert-to-string-interpolation
refactoring doesn't continue when the selected AST nodes are empty.
We shouldn't need this check since the range info kind already implies its validity.
Tentatively fixing: rdar://35492432
2018-01-08 10:55:32 -08:00
Roman Roibu
b2d122c4a7
[IDE] Refactoring: Expand a ternary operator into an if statement and vice-versa ( #12554 )
2017-12-21 12:40:30 -08:00
David Ungar
28b206008f
FrontendInputs data structure redo.
...
- Outlaw duplicate input files, fix driver, fix tests, and add test.
- Reflect that no buffer is present without a (possibly pseudo) named file.
- Reflect fact that every input has a (possible pseudo) name.
- Break up CompilerInstance::setup.
Don't bail on dups.
2017-12-05 17:28:03 -08:00
Nathan Hawes
c326ec46c7
[Refactoring] Fix subscript rename
...
Adds support for renaming subscripts with external names, e.g.
subscript(x y: Int), and introduces a noncollapsible parameter name range for
subscript parameters, since these shouldn't be collapsed with an argument label
of the same name as function parameter names are.
2017-11-28 19:45:29 -08:00
Slava Pestov
13eb7606ce
IDE: Use the is<> template instead of TypeBase::getKind()
2017-11-13 22:10:41 -08:00
Alex Hoppen
746bfc6d59
[Refactoring] Add refactoring action to move type members to extension ( #12795 )
...
This implements SR-6297.
2017-11-09 11:08:34 -08:00
Rintaro Ishizaki
a57199cf68
[refactoring] Implement "Convert to Trailing Closure" refactoring action
2017-10-16 00:42:05 -07:00
Kacper Harasim
8cd677eb1f
[Refactoring] SR-6051 Expansion of switch statement missing cases ( #12281 )
2017-10-13 09:37:58 -07:00
David Ungar
47ee930a50
git-clang-format'ed
2017-10-08 23:56:03 -07:00
David Ungar
c1821755de
NFC: First step (refactoring) towards speeding up compilation by having multiple primary files: Creates new class, FrontendInputs, to encapsulate InputFilenames, InputBuffers, and PrimaryInput, which were formerly in FrontendOptions. Add new instance variable, Inputs, to FrontendOptions in order to hold FrontendInputs.
...
Encapsulate uses of the variables in FrontendInputs with intention-describing functions. Move some code that sets these variables into FrontendInputs and FrontendOptions classes.
Create new FrontendInputs class to encapsulate InputFilenames, InputBuffers and PrimaryInput, which were formerly in Frontend.
Includes one change in SwiftEditor.cpp to resolve a merge conflict.
2017-10-08 10:20:37 -07:00
Kacper Harasim
1bec63d911
[IDE] Remove convenience function added to SourceEditConsumer
2017-09-28 10:21:00 -07:00
Kacper Harasim
c7b9307348
[Refactoring] CursorInfoResolver now properly handles cursor placement in OptionalTryExpr and ForceTryExpr, NFC ( #12123 )
2017-09-26 14:29:10 -07:00
Xi Ge
e6eb7df33a
Refactoring tool: Ensure we don't need to check applicability again when performing automated code change. NFC ( #12111 )
2017-09-25 17:21:32 -07:00
Kacper Harasim
6fcb8308ff
[IDE] Refactoring: conversion from “force try” to error handled version ( #12063 )
...
* [IDE] Refactoring: conversion from “force try” do error handled version
* Removed unnecessary empty line
* Changed name of the refactor
* Review fixes
* Fixed recognizing try_! location by CursorResolver
* Review fixes
2017-09-24 09:05:32 -04:00
Xi Ge
4e4f5ae6cf
IDE: add a utility stream class to SourceEditorConsumer. NFC ( #12069 )
2017-09-22 16:37:05 -07:00
Kacper Harasim
80698a04b0
[IDE] SR-5745 Refactoring: converting strings concatenation expression to strings interpolation ( #11944 )
2017-09-19 13:37:42 -07:00
Will T. Ellis
57454eb8c9
SR-5739 Add refactoring action to collapse nested if ( #11851 )
2017-09-18 16:16:01 -07:00
Xi Ge
2ba1ca2d8f
IDE: simplify some code. NFC ( #11935 )
...
* IDE: simplify some code. NFC
* add assert.
2017-09-14 18:19:48 -07:00
Xi Ge
5626c72718
Refactoring tool: Avoid re-tokenizing when collecting the available refactorings in a given source range. NFC ( #11857 )
2017-09-11 15:45:26 -07:00
Xi Ge
0437214b40
Refactoring: avoid re-tokenizing during syntactic renames. NFC
2017-09-11 10:25:44 -07:00
Davide Italiano
3b800aa11f
[gardening] Remove unused lambda capture(s). NFCI.
2017-09-10 21:44:38 -07:00
Xi Ge
53585a5e70
Refactoring: Implement a refactoring action to simplify long number literal format. SR-5746
...
For instance, converting from "100000" to "100_000", and "1000.0001" to
"1_000.000_1".
2017-08-31 14:25:48 -07:00
Xi Ge
17f749d1f3
Refactoring: Simplify a switch case statement. NFC
2017-08-31 14:25:48 -07:00
Jordan Rose
f8b7db4e76
Excise the terms "blacklist" and "whitelist" from Swift source. ( #11687 )
...
The etymology of these terms isn't about race, but "black" = "blocked"
and "white" = "allowed" isn't really a good look these days. In most
cases we weren't using these terms particularly precisely anyway, so
the rephrasing is actually an improvement.
2017-08-30 09:28:00 -07:00
Xi Ge
7f29b362d6
SourceKitd: Rename SemaToken to ResolvedCursorInfo. NFC ( #11680 )
2017-08-29 15:34:15 -07:00
Jordan Rose
5f30eac288
Excise "Accessibility" from the compiler (1/3)
...
"Accessibility" has a different meaning for app developers, so we've
already deliberately excised it from our diagnostics in favor of terms
like "access control" and "access level". Do the same in the compiler
now that we aren't constantly pulling things into the release branch.
This commit changes the names of methods, fields, a few local
variables, and even a swift-ide-test flag. The full list is below.
accessibilityForDiagnostics -> accessLevelForDiagnostics
checkAccessibility -> checkAccess
checkGenericParamAccessibility -> checkGenericParamAccess
checkTypeAccessibility -> checkTypeAccess
checkWitnessAccessibility -> checkWitnessAccessibility
computeAccessibility -> computeAccessLevel
computeDefaultAccessibility -> computeDefaultAccessLevel
fixItAccessibility -> fixItAccess
getAccessibilityString -> getAccessLevelString
getAccessibilityStrictly -> getAccessLevelStrictly
getAccessibilityUID -> getAccessLevelUID
getActualAccessibility -> getActualAccessLevel
getDefaultAccessibility -> getDefaultAccessLevel
getMaxAccessibility -> getMaxAccessLevel
getOverridableAccessibility -> getOverridableAccessLevel
getRawStableAccessibility -> getRawStableAccessLevel
getSetterAccessibility -> getSetterFormalAccess
hasAccessibility -> hasAccess
hasDefaultAccessibility -> hasDefaultAccessLevel
inferAccessibility -> inferAccessLevel
inferDefaultAccessibility -> inferDefaultAccessLevel
inferSetterAccessibility -> inferSetterAccessLevel
overwriteAccessibility -> overwriteAccess
overwriteSetterAccessibility -> overwriteSetterAccess
printAccessibility -> printAccess
requiredAccessibilityForDiagnostics -> requiredAccessForDiagnostics
resolveAccessibility -> resolveAccessControl
setAccessibility -> setAccess
setSetterAccessibility -> setSetterAccess
setDefaultAndMaxAccessibility -> setDefaultAndMaxAccess
validateAccessibility -> validateAccessControl
Accessibility -> AccessLevel
AccessibilityFilter -> AccessFilter
IgnoreAccessibility -> IgnoreAccessControl
NL_IgnoreAccessibility -> NL_IgnoreAccessControl
PrintAccessibility -> PrintAccess
PrintInternalAccessibilityKeyword -> PrintInternalAccessKeyword
SetterAccessibility -> SetterAccessLevel
setterAccessibility -> setterAccess
storedPropertyAccessibility -> storedPropertyAccess
-print-accessibility -> -print-access
2017-08-28 11:11:57 -07:00
Argyrios Kyrtzidis
60a91bb736
[refactoring] Upstreaming the implementation for Swift local refactoring ( #11568 )
...
[refactoring] Upstreaming the implementation for Swift local refactoring
2017-08-22 16:50:16 -07:00