Pavel Yaskevich
dd9c28b456
[ConstraintSystem] Add proper printing (name + locator) for fixes
2018-08-13 18:10:50 -07:00
Pavel Yaskevich
1983431591
[ConstraintSystem] Make it so re-labeling fix holds correct labels as trailing objects
2018-08-13 18:09:01 -07:00
Pavel Yaskevich
8f9631bf6c
[ConstraintSystem] Add unwrap optional base with optional result fix kind
2018-08-13 01:23:28 -07:00
Pavel Yaskevich
c3ac038a66
[ConstraintSystem] Add anchor expression accessor to ConstraintFix
2018-08-13 01:23:28 -07:00
Pavel Yaskevich
c005e0084d
[ConstraintSystem] Allocate constraint fixes using constraint system
...
Since constraint fix life span is tightly coupled with particular
constraint system, it makes sense to allocate fixes using the same
allocator as used for constraints.
2018-08-13 01:23:28 -07:00
Pavel Yaskevich
df9614177a
[ConstraintSystem] Add 'missing conformance' fix
2018-08-13 01:23:28 -07:00
Pavel Yaskevich
8221354ce5
[ConstraintSystem] Add 're-label arguments' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
a1651f9b3c
[ConstraintSystem] Add 'mark explicitly @escaping' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
2ced603bc3
[ConstraintSystem] Add 'replace as with as!' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
48c4eb4539
[ConstraintSystem] Add 'add address-of' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
a17c1cb409
[ConstraintSystem] Add 'unwrap optional base' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
6fc5ce36fd
[ConstraintSystem] Add 'force optional' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
428e9b5926
[ConstraintSystem] Add 'force downcast' fix
2018-08-13 01:23:27 -07:00
Pavel Yaskevich
ac0509729a
[ConstraintSystem] Introduce ConstraintFix abstraction
...
A fix is related to one of the constraints through its locator,
and contains information required to "fix" a failure associated with
given constraint, each of the fixes also includes diagnostic.
2018-08-13 01:23:27 -07:00