[ASTPrinter] Fix printing of nested typealias types and make it consistent with printing of nominal types.

This fixes several issues:
- By default parent types of alias types are not printed which results in
	- Erroneous fixits, for example when casting to 'Notification.Name' from a string, which ends up adding erroneous cast
	  as "Name(rawValue: ...)"
	- Hard to understand types in code-completion results and diagnostics
- When printing with 'fully-qualified' option typealias types are printed erroneously like this "<PARENT>.Type.<TYPEALIAS>"

The change make typealias printing same as nominal types and addresses the above.
This commit is contained in:
Argyrios Kyrtzidis
2016-08-11 12:15:15 -07:00
parent 38e6b2808e
commit 69918a966d
25 changed files with 92 additions and 64 deletions

View File

@@ -16,8 +16,8 @@ var x: Int
// Check that extensions of nested decls are showing up.
// CHECK-STDLIB-LABEL: extension String.UTF16View.Index {
// CHECK-STDLIB: func samePosition(in utf8: String.UTF8View) -> String.UTF8View.Index?
// CHECK-STDLIB: func samePosition(in unicodeScalars: String.UnicodeScalarView) -> UnicodeScalarIndex?
// CHECK-STDLIB: func samePosition(in characters: String) -> Index?
// CHECK-STDLIB: func samePosition(in unicodeScalars: String.UnicodeScalarView) -> String.UnicodeScalarIndex?
// CHECK-STDLIB: func samePosition(in characters: String) -> String.Index?
// CHECK-STDLIB-NEXT: }
// CHECK-MUTATING-ATTR: mutating func