Merge remote-tracking branch 'origin/swift-3.1-branch' into stable
* origin/swift-3.1-branch:
[API Notes] Fix serialization of FactoryAsInit data.
diff --git a/lib/APINotes/APINotesWriter.cpp b/lib/APINotes/APINotesWriter.cpp
index 36c504a..6debe99 100644
--- a/lib/APINotes/APINotesWriter.cpp
+++ b/lib/APINotes/APINotesWriter.cpp
@@ -721,9 +721,9 @@
}
void emitUnversionedInfo(raw_ostream &out, const ObjCMethodInfo &info) {
- uint8_t payload = info.FactoryAsInit << 2;
- payload = (payload | info.DesignatedInit) << 1;
- payload = (payload | info.Required);
+ uint8_t payload = info.FactoryAsInit;
+ payload = (payload << 1) | info.DesignatedInit;
+ payload = (payload << 1) | info.Required;
endian::Writer<little> writer(out);
writer.write<uint8_t>(payload);
diff --git a/test/APINotes/Inputs/roundtrip.apinotes b/test/APINotes/Inputs/roundtrip.apinotes
index c0e91f9..13e08a1 100644
--- a/test/APINotes/Inputs/roundtrip.apinotes
+++ b/test/APINotes/Inputs/roundtrip.apinotes
@@ -12,6 +12,13 @@
SwiftBridge: ''
NSErrorDomain: ''
Methods:
+ - Selector: 'cellWithImage:'
+ MethodKind: Class
+ Availability: available
+ AvailabilityMsg: ''
+ SwiftPrivate: false
+ SwiftName: ''
+ FactoryAsInit: C
- Selector: init
MethodKind: Instance
NullabilityOfRet: U