[arkit] Add ARAnchorCopying protocol (#4523)

Even if empty this protocol will help with tests and subclasses.
This commit is contained in:
Vincent Dondain 2018-07-31 21:20:16 -04:00 коммит произвёл Sebastien Pouliot
Родитель 65b1d0cfb5
Коммит 839c26e21d
3 изменённых файлов: 18 добавлений и 7 удалений

Просмотреть файл

@ -144,11 +144,20 @@ namespace ARKit {
Mapped,
}
[iOS (12,0)]
[NoWatch, NoTV, NoMac]
[Protocol]
[Advice ("To conform to 'ARAnchorCopying' you need to implement:\n'[Export (\"initWithAnchor:\")]'\n'public YourConstructor (ARAnchor anchor)'")]
interface ARAnchorCopying : NSCopying {
// Constructors in interfaces are not possible in C#
// @required -(instancetype _Nonnull)initWithAnchor:(ARAnchor * _Nonnull)anchor;
}
[iOS (11,0)]
[NoWatch, NoTV, NoMac]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface ARAnchor : NSCopying, NSSecureCoding {
interface ARAnchor : ARAnchorCopying, NSSecureCoding {
[NullAllowed, Export ("identifier")]
NSUuid Identifier { get; }

Просмотреть файл

@ -62,6 +62,10 @@ namespace Introspection
return SkipAllowed (methodName.DeclaringType.Name, methodName.Name, typo);
}
readonly HashSet<string> allowedRule3 = new HashSet<string> {
"IARAnchorCopying", // We're showing a code snippet in the 'Advice' message and that shouldn't end with a dot.
};
HashSet<string> allowedMemberRule4 = new HashSet<string> {
"Platform",
"PlatformHelper",
@ -944,8 +948,10 @@ namespace Introspection
// Rule 3: https://github.com/xamarin/xamarin-macios/wiki/BINDINGS#rule-3
if (!message.EndsWith (".", StringComparison.Ordinal)) {
ReportError ("[Rule 3] Missing '.' in attribute's message: \"{0}\" - {1}", message, memberAndType);
totalErrors++;
if (!allowedRule3.Contains (typeName)) {
ReportError ("[Rule 3] Missing '.' in attribute's message: \"{0}\" - {1}", message, memberAndType);
totalErrors++;
}
}
// Rule 4: https://github.com/xamarin/xamarin-macios/wiki/BINDINGS#rule-4

Просмотреть файл

@ -5,7 +5,3 @@
!wrong-simd-missing-marshaldirective! System.IntPtr ARKit.ARPlaneGeometry::GetRawTextureCoordinates(): simd type: simd_float2
!wrong-simd-missing-marshaldirective! System.IntPtr ARKit.ARPlaneGeometry::GetRawVertices(): simd type: simd_float3
!wrong-simd-missing-marshaldirective! System.IntPtr ARKit.ARPointCloud::GetRawPoints(): simd type: simd_float3
# Protocol inlined in ARAnchor (constructor in protocol)
!missing-protocol! ARAnchorCopying not bound
!missing-protocol-conformance! ARAnchor should conform to ARAnchorCopying