Commit a0f17dd5 authored by Peter Steinberger's avatar Peter Steinberger

Implement description for record types in Objective-C.

parent 79462ca1
...@@ -385,6 +385,43 @@ class ObjcGenerator(spec: Spec) extends Generator(spec) { ...@@ -385,6 +385,43 @@ class ObjcGenerator(spec: Spec) extends Generator(spec) {
} }
w.wl w.wl
} }
w.wl("- (NSString *)description")
w.braced {
w.w(s"return ").nestedN(2) {
w.w("[NSString stringWithFormat:@\"<%@ %p")
for (f <- r.fields) w.w(s" ${idObjc.field(f.ident)}:%@")
w.w(">\", self.class, self")
for (f <- r.fields) {
w.w(", ")
f.ty.resolved.base match {
case MOptional =>
f.ty.resolved.args.head.base match {
case df: MDef if df.defType == DEnum =>
w.w(s"@(self.${idObjc.field(f.ident)})")
case _ => w.w(s"self.${idObjc.field(f.ident)}")
}
case t: MPrimitive => w.w(s"@(self.${idObjc.field(f.ident)})")
case df: MDef => df.defType match {
case DEnum => w.w(s"@(self.${idObjc.field(f.ident)})")
case _ => w.w(s"self.${idObjc.field(f.ident)}")
}
case e: MExtern =>
if (e.objc.pointer) {
w.w(s"self.${idObjc.field(f.ident)}")
} else {
w.w(s"@(self.${idObjc.field(f.ident)})")
}
case _ => w.w(s"self.${idObjc.field(f.ident)}")
}
}
}
w.wl("];")
}
w.wl
w.wl("@end") w.wl("@end")
}) })
} }
......
...@@ -112,4 +112,9 @@ ...@@ -112,4 +112,9 @@
self.oFsixtyfour.hash; self.oFsixtyfour.hash;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p b:%@ eight:%@ sixteen:%@ thirtytwo:%@ sixtyfour:%@ fthirtytwo:%@ fsixtyfour:%@ oB:%@ oEight:%@ oSixteen:%@ oThirtytwo:%@ oSixtyfour:%@ oFthirtytwo:%@ oFsixtyfour:%@>", self.class, self, @(self.b), @(self.eight), @(self.sixteen), @(self.thirtytwo), @(self.sixtyfour), @(self.fthirtytwo), @(self.fsixtyfour), self.oB, self.oEight, self.oSixteen, self.oThirtytwo, self.oSixtyfour, self.oFthirtytwo, self.oFsixtyfour];
}
@end @end
...@@ -27,4 +27,9 @@ ...@@ -27,4 +27,9 @@
misc:misc]; misc:misc];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p recordId:%@ content:%@ misc:%@>", self.class, self, @(self.recordId), self.content, self.misc];
}
@end @end
...@@ -48,4 +48,9 @@ DBConstants * __nonnull const DBConstantsObjectConstant = [[DBConstants alloc] i ...@@ -48,4 +48,9 @@ DBConstants * __nonnull const DBConstantsObjectConstant = [[DBConstants alloc] i
someString:someString]; someString:someString];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p someInteger:%@ someString:%@>", self.class, self, @(self.someInteger), self.someString];
}
@end @end
...@@ -44,4 +44,9 @@ ...@@ -44,4 +44,9 @@
return NSOrderedSame; return NSOrderedSame;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p createdAt:%@>", self.class, self, self.createdAt];
}
@end @end
...@@ -18,4 +18,9 @@ ...@@ -18,4 +18,9 @@
return [[self alloc] init]; return [[self alloc] init];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p>", self.class, self];
}
@end @end
...@@ -60,4 +60,9 @@ ...@@ -60,4 +60,9 @@
return NSOrderedSame; return NSOrderedSame;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p member:%@ e:%@>", self.class, self, self.member, @(self.e)];
}
@end @end
...@@ -19,4 +19,9 @@ ...@@ -19,4 +19,9 @@
return [[self alloc] initWithDatesById:datesById]; return [[self alloc] initWithDatesById:datesById];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p datesById:%@>", self.class, self, self.datesById];
}
@end @end
...@@ -19,4 +19,9 @@ ...@@ -19,4 +19,9 @@
return [[self alloc] initWithMapList:mapList]; return [[self alloc] initWithMapList:mapList];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p mapList:%@>", self.class, self, self.mapList];
}
@end @end
...@@ -23,4 +23,9 @@ ...@@ -23,4 +23,9 @@
imap:imap]; imap:imap];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p map:%@ imap:%@>", self.class, self, self.map, self.imap];
}
@end @end
...@@ -19,4 +19,9 @@ ...@@ -19,4 +19,9 @@
return [[self alloc] initWithSetList:setList]; return [[self alloc] initWithSetList:setList];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p setList:%@>", self.class, self, self.setList];
}
@end @end
...@@ -19,4 +19,9 @@ ...@@ -19,4 +19,9 @@
return [[self alloc] initWithList:list]; return [[self alloc] initWithList:list];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p list:%@>", self.class, self, self.list];
}
@end @end
...@@ -60,4 +60,9 @@ ...@@ -60,4 +60,9 @@
return NSOrderedSame; return NSOrderedSame;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p key1:%@ key2:%@>", self.class, self, @(self.key1), self.key2];
}
@end @end
...@@ -50,4 +50,9 @@ ...@@ -50,4 +50,9 @@
return NSOrderedSame; return NSOrderedSame;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p dt:%@>", self.class, self, @(self.dt)];
}
@end @end
...@@ -60,4 +60,9 @@ ...@@ -60,4 +60,9 @@
return NSOrderedSame; return NSOrderedSame;
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p key:%@ rec:%@>", self.class, self, @(self.key), self.rec];
}
@end @end
...@@ -23,4 +23,9 @@ ...@@ -23,4 +23,9 @@
iset:iset]; iset:iset];
} }
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p set:%@ iset:%@>", self.class, self, self.set, self.iset];
}
@end @end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment