Commit 7b270670 authored by j4cbo's avatar j4cbo

Merge pull request #117 from mknejp/feature/convenience-init

Generate convenience initializers for Objective-C records
parents 708d6218 449ed7e9
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface TXSItemList : NSObject
- (nonnull id)initWithItems:(nonnull NSArray *)items;
- (nonnull instancetype)initWithItems:(nonnull NSArray *)items;
+ (nonnull instancetype)itemListWithItems:(nonnull NSArray *)items;
@property (nonatomic, readonly, nonnull) NSArray * items;
......
......@@ -6,7 +6,7 @@
@implementation TXSItemList
- (id)initWithItems:(nonnull NSArray *)items
- (nonnull instancetype)initWithItems:(nonnull NSArray *)items
{
if (self = [super init]) {
_items = items;
......@@ -14,4 +14,9 @@
return self;
}
+ (nonnull instancetype)itemListWithItems:(nonnull NSArray *)items
{
return [[self alloc] initWithItems:items];
}
@end
......@@ -191,19 +191,21 @@ class ObjcGenerator(spec: Spec) extends Generator(spec) {
case _ => false
}
val firstInitializerArg = if(r.fields.isEmpty) "" else IdentStyle.camelUpper("with_" + r.fields.head.ident.name)
writeObjcFile(marshal.headerName(objcName), origin, refs.header, w => {
writeDoc(w, doc)
w.wl(s"@interface $self : NSObject")
if (!r.fields.isEmpty) {
val head = r.fields.head
val skipFirst = SkipFirst()
val first = if(r.fields.isEmpty) "" else IdentStyle.camelUpper("with_" + r.fields.head.ident.name)
val decl = s"- (nonnull id)init$first"
def writeInitializer(sign: String, prefix: String) {
val decl = s"$sign (nonnull instancetype)$prefix$firstInitializerArg"
writeAlignedObjcCall(w, decl, r.fields, "", f => (idObjc.field(f.ident), s"(${marshal.paramType(f.ty)})${idObjc.local(f.ident)}"))
w.wl(";")
}
writeInitializer("-", "init")
if (!r.ext.objc) writeInitializer("+", IdentStyle.camelLower(objcName))
for (f <- r.fields) {
w.wl
writeDoc(w, f.doc)
......@@ -234,11 +236,8 @@ class ObjcGenerator(spec: Spec) extends Generator(spec) {
w.wl(s"@implementation $self")
w.wl
// Constructor from all fields (not copying)
if (!r.fields.isEmpty) {
val head = r.fields.head
val skipFirst = SkipFirst()
val decl = s"- (id)${idObjc.method("init_with_" + head.ident.name)}"
writeAlignedObjcCall(w, decl, r.fields, "", f => (idObjc.field(f.ident), s"(${marshal.paramType(f.ty)})${idObjc.local(f.ident)}"))
val init = s"- (nonnull instancetype)init$firstInitializerArg"
writeAlignedObjcCall(w, init, r.fields, "", f => (idObjc.field(f.ident), s"(${marshal.paramType(f.ty)})${idObjc.local(f.ident)}"))
w.wl
w.braced {
w.w("if (self = [super init])").braced {
......@@ -252,6 +251,18 @@ class ObjcGenerator(spec: Spec) extends Generator(spec) {
w.wl("return self;")
}
w.wl
// Convenience initializer
if(!r.ext.objc) {
val decl = s"+ (nonnull instancetype)${IdentStyle.camelLower(objcName)}$firstInitializerArg"
writeAlignedObjcCall(w, decl, r.fields, "", f => (idObjc.field(f.ident), s"(${marshal.paramType(f.ty)})${idObjc.local(f.ident)}"))
w.wl
w.braced {
val call = s"return [[self alloc] init$firstInitializerArg"
writeAlignedObjcCall(w, call, r.fields, "", f => (idObjc.field(f.ident), s"${idObjc.local(f.ident)}"))
w.wl("];")
}
w.wl
}
if (r.derivingTypes.contains(DerivingType.Eq)) {
......
......@@ -34,3 +34,7 @@ test_helpers = interface +c {
static id_binary(b: binary): binary;
}
empty_record = record {
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#pragma once
#include <utility>
struct EmptyRecord final {
};
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
package com.dropbox.djinni.test;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
public final class EmptyRecord {
public EmptyRecord(
) {
}
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#include "NativeEmptyRecord.hpp" // my header
namespace djinni_generated {
NativeEmptyRecord::NativeEmptyRecord() = default;
NativeEmptyRecord::~NativeEmptyRecord() = default;
auto NativeEmptyRecord::fromCpp(JNIEnv* jniEnv, const CppType& c) -> ::djinni::LocalRef<JniType> {
(void)c; // Suppress warnings in release builds for empty records
const auto& data = ::djinni::JniClass<NativeEmptyRecord>::get();
auto r = ::djinni::LocalRef<JniType>{jniEnv->NewObject(data.clazz.get(), data.jconstructor)};
::djinni::jniExceptionCheck(jniEnv);
return r;
}
auto NativeEmptyRecord::toCpp(JNIEnv* jniEnv, JniType j) -> CppType {
::djinni::JniLocalScope jscope(jniEnv, 1);
assert(j != nullptr);
(void)j; // Suppress warnings in release builds for empty records
return {};
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#pragma once
#include "djinni_support.hpp"
#include "empty_record.hpp"
namespace djinni_generated {
class NativeEmptyRecord final {
public:
using CppType = ::EmptyRecord;
using JniType = jobject;
using Boxed = NativeEmptyRecord;
~NativeEmptyRecord();
static CppType toCpp(JNIEnv* jniEnv, JniType j);
static ::djinni::LocalRef<JniType> fromCpp(JNIEnv* jniEnv, const CppType& c);
private:
NativeEmptyRecord();
friend ::djinni::JniClass<NativeEmptyRecord>;
const ::djinni::GlobalRef<jclass> clazz { ::djinni::jniFindClass("com/dropbox/djinni/test/EmptyRecord") };
const jmethodID jconstructor { ::djinni::jniGetMethodID(clazz.get(), "<init>", "()V") };
};
} // namespace djinni_generated
......@@ -4,7 +4,21 @@
#import <Foundation/Foundation.h>
@interface DBAssortedPrimitives : NSObject
- (nonnull id)initWithB:(BOOL)b
- (nonnull instancetype)initWithB:(BOOL)b
eight:(int8_t)eight
sixteen:(int16_t)sixteen
thirtytwo:(int32_t)thirtytwo
sixtyfour:(int64_t)sixtyfour
fthirtytwo:(float)fthirtytwo
fsixtyfour:(double)fsixtyfour
oB:(nullable NSNumber *)oB
oEight:(nullable NSNumber *)oEight
oSixteen:(nullable NSNumber *)oSixteen
oThirtytwo:(nullable NSNumber *)oThirtytwo
oSixtyfour:(nullable NSNumber *)oSixtyfour
oFthirtytwo:(nullable NSNumber *)oFthirtytwo
oFsixtyfour:(nullable NSNumber *)oFsixtyfour;
+ (nonnull instancetype)assortedPrimitivesWithB:(BOOL)b
eight:(int8_t)eight
sixteen:(int16_t)sixteen
thirtytwo:(int32_t)thirtytwo
......
......@@ -6,7 +6,7 @@
@implementation DBAssortedPrimitives
- (id)initWithB:(BOOL)b
- (nonnull instancetype)initWithB:(BOOL)b
eight:(int8_t)eight
sixteen:(int16_t)sixteen
thirtytwo:(int32_t)thirtytwo
......@@ -40,6 +40,37 @@
return self;
}
+ (nonnull instancetype)assortedPrimitivesWithB:(BOOL)b
eight:(int8_t)eight
sixteen:(int16_t)sixteen
thirtytwo:(int32_t)thirtytwo
sixtyfour:(int64_t)sixtyfour
fthirtytwo:(float)fthirtytwo
fsixtyfour:(double)fsixtyfour
oB:(nullable NSNumber *)oB
oEight:(nullable NSNumber *)oEight
oSixteen:(nullable NSNumber *)oSixteen
oThirtytwo:(nullable NSNumber *)oThirtytwo
oSixtyfour:(nullable NSNumber *)oSixtyfour
oFthirtytwo:(nullable NSNumber *)oFthirtytwo
oFsixtyfour:(nullable NSNumber *)oFsixtyfour
{
return [[self alloc] initWithB:b
eight:eight
sixteen:sixteen
thirtytwo:thirtytwo
sixtyfour:sixtyfour
fthirtytwo:fthirtytwo
fsixtyfour:fsixtyfour
oB:oB
oEight:oEight
oSixteen:oSixteen
oThirtytwo:oThirtytwo
oSixtyfour:oSixtyfour
oFthirtytwo:oFthirtytwo
oFsixtyfour:oFsixtyfour];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBAssortedPrimitives class]]) {
......
......@@ -4,7 +4,10 @@
#import <Foundation/Foundation.h>
@interface DBClientReturnedRecord : NSObject
- (nonnull id)initWithRecordId:(int64_t)recordId
- (nonnull instancetype)initWithRecordId:(int64_t)recordId
content:(nonnull NSString *)content
misc:(nullable NSString *)misc;
+ (nonnull instancetype)clientReturnedRecordWithRecordId:(int64_t)recordId
content:(nonnull NSString *)content
misc:(nullable NSString *)misc;
......
......@@ -6,7 +6,7 @@
@implementation DBClientReturnedRecord
- (id)initWithRecordId:(int64_t)recordId
- (nonnull instancetype)initWithRecordId:(int64_t)recordId
content:(nonnull NSString *)content
misc:(nullable NSString *)misc
{
......@@ -18,4 +18,13 @@
return self;
}
+ (nonnull instancetype)clientReturnedRecordWithRecordId:(int64_t)recordId
content:(nonnull NSString *)content
misc:(nullable NSString *)misc
{
return [[self alloc] initWithRecordId:recordId
content:content
misc:misc];
}
@end
......@@ -5,7 +5,9 @@
#import <Foundation/Foundation.h>
@interface DBConstants : NSObject
- (nonnull id)initWithSomeInteger:(int32_t)someInteger
- (nonnull instancetype)initWithSomeInteger:(int32_t)someInteger
someString:(nonnull NSString *)someString;
+ (nonnull instancetype)constantsWithSomeInteger:(int32_t)someInteger
someString:(nonnull NSString *)someString;
@property (nonatomic, readonly) int32_t someInteger;
......
......@@ -31,7 +31,7 @@ DBConstants * __nonnull const DBConstantsObjectConstant = [[DBConstants alloc] i
@implementation DBConstants
- (id)initWithSomeInteger:(int32_t)someInteger
- (nonnull instancetype)initWithSomeInteger:(int32_t)someInteger
someString:(nonnull NSString *)someString
{
if (self = [super init]) {
......@@ -41,4 +41,11 @@ DBConstants * __nonnull const DBConstantsObjectConstant = [[DBConstants alloc] i
return self;
}
+ (nonnull instancetype)constantsWithSomeInteger:(int32_t)someInteger
someString:(nonnull NSString *)someString
{
return [[self alloc] initWithSomeInteger:someInteger
someString:someString];
}
@end
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBDateRecord : NSObject
- (nonnull id)initWithCreatedAt:(nonnull NSDate *)createdAt;
- (nonnull instancetype)initWithCreatedAt:(nonnull NSDate *)createdAt;
+ (nonnull instancetype)dateRecordWithCreatedAt:(nonnull NSDate *)createdAt;
@property (nonatomic, readonly, nonnull) NSDate * createdAt;
......
......@@ -6,7 +6,7 @@
@implementation DBDateRecord
- (id)initWithCreatedAt:(nonnull NSDate *)createdAt
- (nonnull instancetype)initWithCreatedAt:(nonnull NSDate *)createdAt
{
if (self = [super init]) {
_createdAt = createdAt;
......@@ -14,6 +14,11 @@
return self;
}
+ (nonnull instancetype)dateRecordWithCreatedAt:(nonnull NSDate *)createdAt
{
return [[self alloc] initWithCreatedAt:createdAt];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBDateRecord class]]) {
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#import "DBEmptyRecord.h"
#include "empty_record.hpp"
static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
@class DBEmptyRecord;
namespace djinni_generated {
struct EmptyRecord
{
using CppType = ::EmptyRecord;
using ObjcType = DBEmptyRecord*;
using Boxed = EmptyRecord;
static CppType toCpp(ObjcType objc);
static ObjcType fromCpp(const CppType& cpp);
};
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#import "DBEmptyRecord+Private.h"
#include <cassert>
namespace djinni_generated {
auto EmptyRecord::toCpp(ObjcType obj) -> CppType
{
assert(obj);
(void)obj; // Suppress warnings in relase builds for empty records
return {};
}
auto EmptyRecord::fromCpp(const CppType& cpp) -> ObjcType
{
(void)cpp; // Suppress warnings in relase builds for empty records
return [[DBEmptyRecord alloc] init];
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#import <Foundation/Foundation.h>
@interface DBEmptyRecord : NSObject
- (nonnull instancetype)init;
+ (nonnull instancetype)emptyRecord;
@end
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from test.djinni
#import "DBEmptyRecord.h"
@implementation DBEmptyRecord
- (nonnull instancetype)init
{
if (self = [super init]) {
}
return self;
}
+ (nonnull instancetype)emptyRecord
{
return [[self alloc] init];
}
@end
......@@ -7,7 +7,9 @@
/** This file tests YAML dumped by Djinni can be parsed back in */
@interface DBExternRecordWithDerivings : NSObject
- (nonnull id)initWithMember:(nonnull DBRecordWithDerivings *)member
- (nonnull instancetype)initWithMember:(nonnull DBRecordWithDerivings *)member
e:(DBColor)e;
+ (nonnull instancetype)externRecordWithDerivingsWithMember:(nonnull DBRecordWithDerivings *)member
e:(DBColor)e;
@property (nonatomic, readonly, nonnull) DBRecordWithDerivings * member;
......
......@@ -6,7 +6,7 @@
@implementation DBExternRecordWithDerivings
- (id)initWithMember:(nonnull DBRecordWithDerivings *)member
- (nonnull instancetype)initWithMember:(nonnull DBRecordWithDerivings *)member
e:(DBColor)e
{
if (self = [super init]) {
......@@ -16,6 +16,13 @@
return self;
}
+ (nonnull instancetype)externRecordWithDerivingsWithMember:(nonnull DBRecordWithDerivings *)member
e:(DBColor)e
{
return [[self alloc] initWithMember:member
e:e];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBExternRecordWithDerivings class]]) {
......
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBMapDateRecord : NSObject
- (nonnull id)initWithDatesById:(nonnull NSDictionary *)datesById;
- (nonnull instancetype)initWithDatesById:(nonnull NSDictionary *)datesById;
+ (nonnull instancetype)mapDateRecordWithDatesById:(nonnull NSDictionary *)datesById;
@property (nonatomic, readonly, nonnull) NSDictionary * datesById;
......
......@@ -6,7 +6,7 @@
@implementation DBMapDateRecord
- (id)initWithDatesById:(nonnull NSDictionary *)datesById
- (nonnull instancetype)initWithDatesById:(nonnull NSDictionary *)datesById
{
if (self = [super init]) {
_datesById = datesById;
......@@ -14,4 +14,9 @@
return self;
}
+ (nonnull instancetype)mapDateRecordWithDatesById:(nonnull NSDictionary *)datesById
{
return [[self alloc] initWithDatesById:datesById];
}
@end
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBMapListRecord : NSObject
- (nonnull id)initWithMapList:(nonnull NSArray *)mapList;
- (nonnull instancetype)initWithMapList:(nonnull NSArray *)mapList;
+ (nonnull instancetype)mapListRecordWithMapList:(nonnull NSArray *)mapList;
@property (nonatomic, readonly, nonnull) NSArray * mapList;
......
......@@ -6,7 +6,7 @@
@implementation DBMapListRecord
- (id)initWithMapList:(nonnull NSArray *)mapList
- (nonnull instancetype)initWithMapList:(nonnull NSArray *)mapList
{
if (self = [super init]) {
_mapList = mapList;
......@@ -14,4 +14,9 @@
return self;
}
+ (nonnull instancetype)mapListRecordWithMapList:(nonnull NSArray *)mapList
{
return [[self alloc] initWithMapList:mapList];
}
@end
......@@ -4,7 +4,9 @@
#import <Foundation/Foundation.h>
@interface DBMapRecord : NSObject
- (nonnull id)initWithMap:(nonnull NSDictionary *)map
- (nonnull instancetype)initWithMap:(nonnull NSDictionary *)map
imap:(nonnull NSDictionary *)imap;
+ (nonnull instancetype)mapRecordWithMap:(nonnull NSDictionary *)map
imap:(nonnull NSDictionary *)imap;
@property (nonatomic, readonly, nonnull) NSDictionary * map;
......
......@@ -6,7 +6,7 @@
@implementation DBMapRecord
- (id)initWithMap:(nonnull NSDictionary *)map
- (nonnull instancetype)initWithMap:(nonnull NSDictionary *)map
imap:(nonnull NSDictionary *)imap
{
if (self = [super init]) {
......@@ -16,4 +16,11 @@
return self;
}
+ (nonnull instancetype)mapRecordWithMap:(nonnull NSDictionary *)map
imap:(nonnull NSDictionary *)imap
{
return [[self alloc] initWithMap:map
imap:imap];
}
@end
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBNestedCollection : NSObject
- (nonnull id)initWithSetList:(nonnull NSArray *)setList;
- (nonnull instancetype)initWithSetList:(nonnull NSArray *)setList;
+ (nonnull instancetype)nestedCollectionWithSetList:(nonnull NSArray *)setList;
@property (nonatomic, readonly, nonnull) NSArray * setList;
......
......@@ -6,7 +6,7 @@
@implementation DBNestedCollection
- (id)initWithSetList:(nonnull NSArray *)setList
- (nonnull instancetype)initWithSetList:(nonnull NSArray *)setList
{
if (self = [super init]) {
_setList = setList;
......@@ -14,4 +14,9 @@
return self;
}
+ (nonnull instancetype)nestedCollectionWithSetList:(nonnull NSArray *)setList
{
return [[self alloc] initWithSetList:setList];
}
@end
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBPrimitiveList : NSObject
- (nonnull id)initWithList:(nonnull NSArray *)list;
- (nonnull instancetype)initWithList:(nonnull NSArray *)list;
+ (nonnull instancetype)primitiveListWithList:(nonnull NSArray *)list;
@property (nonatomic, readonly, nonnull) NSArray * list;
......
......@@ -6,7 +6,7 @@
@implementation DBPrimitiveList
- (id)initWithList:(nonnull NSArray *)list
- (nonnull instancetype)initWithList:(nonnull NSArray *)list
{
if (self = [super init]) {
_list = list;
......@@ -14,4 +14,9 @@
return self;
}
+ (nonnull instancetype)primitiveListWithList:(nonnull NSArray *)list
{
return [[self alloc] initWithList:list];
}
@end
......@@ -4,7 +4,9 @@
#import <Foundation/Foundation.h>
@interface DBRecordWithDerivings : NSObject
- (nonnull id)initWithKey1:(int32_t)key1
- (nonnull instancetype)initWithKey1:(int32_t)key1
key2:(nonnull NSString *)key2;
+ (nonnull instancetype)recordWithDerivingsWithKey1:(int32_t)key1
key2:(nonnull NSString *)key2;
@property (nonatomic, readonly) int32_t key1;
......
......@@ -6,7 +6,7 @@
@implementation DBRecordWithDerivings
- (id)initWithKey1:(int32_t)key1
- (nonnull instancetype)initWithKey1:(int32_t)key1
key2:(nonnull NSString *)key2
{
if (self = [super init]) {
......@@ -16,6 +16,13 @@
return self;
}
+ (nonnull instancetype)recordWithDerivingsWithKey1:(int32_t)key1
key2:(nonnull NSString *)key2
{
return [[self alloc] initWithKey1:key1
key2:key2];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBRecordWithDerivings class]]) {
......
......@@ -4,7 +4,8 @@
#import <Foundation/Foundation.h>
@interface DBRecordWithDurationAndDerivings : NSObject
- (nonnull id)initWithDt:(NSTimeInterval)dt;
- (nonnull instancetype)initWithDt:(NSTimeInterval)dt;
+ (nonnull instancetype)recordWithDurationAndDerivingsWithDt:(NSTimeInterval)dt;
@property (nonatomic, readonly) NSTimeInterval dt;
......
......@@ -6,7 +6,7 @@
@implementation DBRecordWithDurationAndDerivings
- (id)initWithDt:(NSTimeInterval)dt
- (nonnull instancetype)initWithDt:(NSTimeInterval)dt
{
if (self = [super init]) {
_dt = dt;
......@@ -14,6 +14,11 @@
return self;
}
+ (nonnull instancetype)recordWithDurationAndDerivingsWithDt:(NSTimeInterval)dt
{
return [[self alloc] initWithDt:dt];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBRecordWithDurationAndDerivings class]]) {
......
......@@ -5,7 +5,9 @@
#import <Foundation/Foundation.h>
@interface DBRecordWithNestedDerivings : NSObject
- (nonnull id)initWithKey:(int32_t)key
- (nonnull instancetype)initWithKey:(int32_t)key
rec:(nonnull DBRecordWithDerivings *)rec;
+ (nonnull instancetype)recordWithNestedDerivingsWithKey:(int32_t)key
rec:(nonnull DBRecordWithDerivings *)rec;
@property (nonatomic, readonly) int32_t key;
......
......@@ -6,7 +6,7 @@
@implementation DBRecordWithNestedDerivings
- (id)initWithKey:(int32_t)key
- (nonnull instancetype)initWithKey:(int32_t)key
rec:(nonnull DBRecordWithDerivings *)rec
{
if (self = [super init]) {
......@@ -16,6 +16,13 @@
return self;
}
+ (nonnull instancetype)recordWithNestedDerivingsWithKey:(int32_t)key
rec:(nonnull DBRecordWithDerivings *)rec
{
return [[self alloc] initWithKey:key
rec:rec];
}
- (BOOL)isEqual:(id)other
{
if (![other isKindOfClass:[DBRecordWithNestedDerivings class]]) {
......
......@@ -4,7 +4,9 @@
#import <Foundation/Foundation.h>
@interface DBSetRecord : NSObject
- (nonnull id)initWithSet:(nonnull NSSet *)set
- (nonnull instancetype)initWithSet:(nonnull NSSet *)set
iset:(nonnull NSSet *)iset;
+ (nonnull instancetype)setRecordWithSet:(nonnull NSSet *)set
iset:(nonnull NSSet *)iset;
@property (nonatomic, readonly, nonnull) NSSet * set;
......
......@@ -6,7 +6,7 @@
@implementation DBSetRecord
- (id)initWithSet:(nonnull NSSet *)set
- (nonnull instancetype)initWithSet:(nonnull NSSet *)set
iset:(nonnull NSSet *)iset
{
if (self = [super init]) {
......@@ -16,4 +16,11 @@
return self;
}
+ (nonnull instancetype)setRecordWithSet:(nonnull NSSet *)set
iset:(nonnull NSSet *)iset
{
return [[self alloc] initWithSet:set
iset:iset];
}
@end
......@@ -11,6 +11,7 @@ djinni-output-temp/cpp/constants_interface.cpp
djinni-output-temp/cpp/assorted_primitives.hpp
djinni-output-temp/cpp/assorted_primitives.cpp
djinni-output-temp/cpp/test_helpers.hpp
djinni-output-temp/cpp/empty_record.hpp
djinni-output-temp/cpp/token.hpp
djinni-output-temp/cpp/color.hpp
djinni-output-temp/cpp/client_returned_record.hpp
......@@ -33,6 +34,7 @@ djinni-output-temp/java/Constants.java
djinni-output-temp/java/ConstantsInterface.java
djinni-output-temp/java/AssortedPrimitives.java
djinni-output-temp/java/TestHelpers.java
djinni-output-temp/java/EmptyRecord.java
djinni-output-temp/java/Token.java
djinni-output-temp/java/Color.java
djinni-output-temp/java/ClientReturnedRecord.java
......@@ -61,6 +63,8 @@ djinni-output-temp/jni/NativeAssortedPrimitives.hpp
djinni-output-temp/jni/NativeAssortedPrimitives.cpp
djinni-output-temp/jni/NativeTestHelpers.hpp
djinni-output-temp/jni/NativeTestHelpers.cpp
djinni-output-temp/jni/NativeEmptyRecord.hpp
djinni-output-temp/jni/NativeEmptyRecord.cpp
djinni-output-temp/jni/NativeToken.hpp
djinni-output-temp/jni/NativeToken.cpp
djinni-output-temp/jni/NativeColor.hpp
......@@ -98,6 +102,8 @@ djinni-output-temp/objc/DBConstantsInterface.mm
djinni-output-temp/objc/DBAssortedPrimitives.h
djinni-output-temp/objc/DBAssortedPrimitives.mm
djinni-output-temp/objc/DBTestHelpers.h
djinni-output-temp/objc/DBEmptyRecord.h
djinni-output-temp/objc/DBEmptyRecord.mm
djinni-output-temp/objc/DBToken.h
djinni-output-temp/objc/DBColor.h
djinni-output-temp/objc/DBClientReturnedRecord.h
......@@ -134,6 +140,8 @@ djinni-output-temp/objc/DBAssortedPrimitives+Private.h
djinni-output-temp/objc/DBAssortedPrimitives+Private.mm
djinni-output-temp/objc/DBTestHelpers+Private.h
djinni-output-temp/objc/DBTestHelpers+Private.mm
djinni-output-temp/objc/DBEmptyRecord+Private.h
djinni-output-temp/objc/DBEmptyRecord+Private.mm
djinni-output-temp/objc/DBToken+Private.h
djinni-output-temp/objc/DBToken+Private.mm
djinni-output-temp/objc/DBClientReturnedRecord+Private.h
......
......@@ -31,7 +31,7 @@
- (void)testObjcToCpp
{
DBMapRecord *objcMapRecord = [[DBMapRecord alloc] initWithMap:[self getObjcMap] imap:[NSDictionary dictionary]];
DBMapRecord *objcMapRecord = [DBMapRecord mapRecordWithMap:[self getObjcMap] imap:[NSDictionary dictionary]];
MapRecord cppMapRecord = djinni_generated::MapRecord::toCpp(objcMapRecord);
[self checkCppMap:cppMapRecord.map];
}
......@@ -46,7 +46,7 @@
- (void)testObjcToCppEmpty
{
DBMapRecord *objcMapRecord = [[DBMapRecord alloc] initWithMap:[NSDictionary dictionary] imap:[NSDictionary dictionary]];
DBMapRecord *objcMapRecord = [DBMapRecord mapRecordWithMap:[NSDictionary dictionary] imap:[NSDictionary dictionary]];
MapRecord cppMapRecord = djinni_generated::MapRecord::toCpp(objcMapRecord);
auto & cppMap = cppMapRecord.map;
XCTAssertEqual(cppMap.size(), (size_t)0, @"Count 0 expected, actual: %zd", cppMap.size());
......@@ -64,7 +64,7 @@
- (void)testObjcMapListToCpp
{
NSArray *objcMapList = @[ [self getObjcMap] ];
DBMapListRecord *objcMapListRecord = [[DBMapListRecord alloc] initWithMapList:objcMapList];
DBMapListRecord *objcMapListRecord = [DBMapListRecord mapListRecordWithMapList:objcMapList];
auto cppMapListRecord = djinni_generated::MapListRecord::toCpp(objcMapListRecord);
auto & cppMapList = cppMapListRecord.map_list;
XCTAssertEqual(cppMapList.size(), (size_t)1, @"List with 1 map expected, actual no: %zd", cppMapList.size());
......
......@@ -4,7 +4,7 @@
#include "nested_collection.hpp"
static NestedCollection cppNestedCollection { { {u8"String1", u8"String2"}, {u8"StringA", u8"StringB"} } };
static DBNestedCollection *objcNestedCollection = [[DBNestedCollection alloc] initWithSetList:@[
static DBNestedCollection *objcNestedCollection = [DBNestedCollection nestedCollectionWithSetList:@[
[NSSet setWithArray:@[ @"String1", @"String2" ]],
[NSSet setWithArray:@[ @"StringA", @"StringB" ]],
]];
......
......@@ -4,11 +4,7 @@
#import <XCTest/XCTest.h>
static PrimitiveList cppPrimitiveList { { 1, 2, 3 } };
static DBPrimitiveList *objcPrimitiveList = [[DBPrimitiveList alloc] initWithList:
[[NSArray alloc] initWithObjects:[NSNumber numberWithLongLong:1],
[NSNumber numberWithLongLong:2],
[NSNumber numberWithLongLong:3],
nil]];
static DBPrimitiveList *objcPrimitiveList = [DBPrimitiveList primitiveListWithList:@[@1, @2, @3]];
@interface DBPrimitiveListTests : XCTestCase
......
......@@ -4,6 +4,7 @@
#import "DBAssortedPrimitives.h"
#import "DBTestHelpers.h"
#import "DBEmptyRecord.h"
@interface DBPrimitivesTests : XCTestCase
......@@ -23,8 +24,7 @@
- (void)testPrimitives
{
DBAssortedPrimitives * p = [[DBAssortedPrimitives alloc]
initWithB:YES
DBAssortedPrimitives * p = [DBAssortedPrimitives assortedPrimitivesWithB:YES
eight:(int8_t)123
sixteen:(int16_t)20000
thirtytwo:(int32_t)1000000000
......@@ -41,6 +41,11 @@
XCTAssertEqualObjects(p, [DBTestHelpers assortedPrimitivesId:p]);
}
- (void)testEmptyRecord
{
(void)[DBEmptyRecord emptyRecord];
}
- (void)testObjcToCppConverter
{
}
......
......@@ -3,14 +3,14 @@
#import <XCTest/XCTest.h>
static DBRecordWithDerivings *record1 = [[DBRecordWithDerivings alloc] initWithKey1:1 key2:@"String1"];
static DBRecordWithDerivings *record1A = [[DBRecordWithDerivings alloc] initWithKey1:1 key2:@"String1"];
static DBRecordWithDerivings *record2 = [[DBRecordWithDerivings alloc] initWithKey1:1 key2:@"String2"];
static DBRecordWithDerivings *record3 = [[DBRecordWithDerivings alloc] initWithKey1:2 key2:@"String1"];
static DBRecordWithDerivings *record1 = [DBRecordWithDerivings recordWithDerivingsWithKey1:1 key2:@"String1"];
static DBRecordWithDerivings *record1A = [DBRecordWithDerivings recordWithDerivingsWithKey1:1 key2:@"String1"];
static DBRecordWithDerivings *record2 = [DBRecordWithDerivings recordWithDerivingsWithKey1:1 key2:@"String2"];
static DBRecordWithDerivings *record3 = [DBRecordWithDerivings recordWithDerivingsWithKey1:2 key2:@"String1"];
static DBRecordWithNestedDerivings *nestedRecord1 = [[DBRecordWithNestedDerivings alloc] initWithKey:1 rec:record1];
static DBRecordWithNestedDerivings *nestedRecord1A = [[DBRecordWithNestedDerivings alloc] initWithKey:1 rec:record1A];
static DBRecordWithNestedDerivings *nestedRecord2 = [[DBRecordWithNestedDerivings alloc] initWithKey:1 rec:record2];
static DBRecordWithNestedDerivings *nestedRecord1 = [DBRecordWithNestedDerivings recordWithNestedDerivingsWithKey:1 rec:record1];
static DBRecordWithNestedDerivings *nestedRecord1A = [DBRecordWithNestedDerivings recordWithNestedDerivingsWithKey:1 rec:record1A];
static DBRecordWithNestedDerivings *nestedRecord2 = [DBRecordWithNestedDerivings recordWithNestedDerivingsWithKey:1 rec:record2];
@interface DBRecordWithDerivingsObjcTests : XCTestCase
......
......@@ -16,8 +16,8 @@
- (DBSetRecord *)getObjcSetRecord
{
NSSet *set = [[NSSet alloc] initWithObjects:@"StringA", @"StringB", @"StringC", nil];
DBSetRecord *objcSetRecord = [[DBSetRecord alloc] initWithSet:set iset:[NSSet set]];
NSSet *set = [NSSet setWithObjects:@"StringA", @"StringB", @"StringC", nil];
DBSetRecord *objcSetRecord = [DBSetRecord setRecordWithSet:set iset:[NSSet set]];
return objcSetRecord;
}
......
......@@ -58,6 +58,8 @@
B52DA56B1B103F75005CE75F /* DBAssortedPrimitives+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = B52DA5671B103F6D005CE75F /* DBAssortedPrimitives+Private.mm */; };
B52DA56E1B103FC5005CE75F /* assorted_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B52DA56C1B103FBE005CE75F /* assorted_primitives.cpp */; };
B52DA5701B104025005CE75F /* DBPrimitivesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B52DA56F1B104025005CE75F /* DBPrimitivesTests.m */; };
CFAED8751B54291900E3B8A3 /* DBEmptyRecord.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFAED8721B54291900E3B8A3 /* DBEmptyRecord.mm */; };
CFAED8761B54291900E3B8A3 /* DBEmptyRecord+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFAED8741B54291900E3B8A3 /* DBEmptyRecord+Private.mm */; };
CFC5D9D01B15105100BF2DF8 /* extern_record_with_derivings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9CE1B15105100BF2DF8 /* extern_record_with_derivings.cpp */; };
CFC5D9D11B15105100BF2DF8 /* extern_record_with_derivings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9CE1B15105100BF2DF8 /* extern_record_with_derivings.cpp */; };
CFC5D9D61B15106400BF2DF8 /* DBExternRecordWithDerivings.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9D31B15106400BF2DF8 /* DBExternRecordWithDerivings.mm */; };
......@@ -68,7 +70,6 @@
CFC5D9E91B1513E800BF2DF8 /* DBExternInterface1+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9E41B1513E800BF2DF8 /* DBExternInterface1+Private.mm */; };
CFC5D9EA1B1513E800BF2DF8 /* DBExternInterface2+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9E71B1513E800BF2DF8 /* DBExternInterface2+Private.mm */; };
CFC5D9EB1B1513E800BF2DF8 /* DBExternInterface2+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9E71B1513E800BF2DF8 /* DBExternInterface2+Private.mm */; };
CFEFA65D1B25D1BD008EE2D0 /* DBDateRecordTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFEFA65B1B25CFEA008EE2D0 /* DBDateRecordTests.mm */; };
CFC5D9F31B15276900BF2DF8 /* DBDurationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9F11B15276900BF2DF8 /* DBDurationTests.m */; };
CFC5D9FC1B152E4300BF2DF8 /* TranslateDuration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9FB1B152E4300BF2DF8 /* TranslateDuration.cpp */; };
CFC5D9FD1B152E4300BF2DF8 /* TranslateDuration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5D9FB1B152E4300BF2DF8 /* TranslateDuration.cpp */; };
......@@ -80,6 +81,8 @@
CFC5DA0B1B1532F600BF2DF8 /* DBRecordWithDurationAndDerivings+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFC5DA071B1532F600BF2DF8 /* DBRecordWithDurationAndDerivings+Private.mm */; };
CFC5DA0E1B15330000BF2DF8 /* record_with_duration_and_derivings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5DA0C1B15330000BF2DF8 /* record_with_duration_and_derivings.cpp */; };
CFC5DA0F1B15330000BF2DF8 /* record_with_duration_and_derivings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFC5DA0C1B15330000BF2DF8 /* record_with_duration_and_derivings.cpp */; };
CFEFA65D1B25D1BD008EE2D0 /* DBDateRecordTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFEFA65B1B25CFEA008EE2D0 /* DBDateRecordTests.mm */; };
CFF89B931B5D2CC7007F6EC2 /* date_record.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CFF89B921B5D2CC7007F6EC2 /* date_record.cpp */; };
CFFD588B1B019E79001E10B6 /* DBClientInterface+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFFD58871B019E79001E10B6 /* DBClientInterface+Private.mm */; };
CFFD588D1B019E79001E10B6 /* DBCppException+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFFD58881B019E79001E10B6 /* DBCppException+Private.mm */; };
CFFD588E1B019E79001E10B6 /* DBCppException+Private.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFFD58881B019E79001E10B6 /* DBCppException+Private.mm */; };
......@@ -226,6 +229,11 @@
B52DA56C1B103FBE005CE75F /* assorted_primitives.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = assorted_primitives.cpp; sourceTree = "<group>"; };
B52DA56D1B103FBE005CE75F /* assorted_primitives.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = assorted_primitives.hpp; sourceTree = "<group>"; };
B52DA56F1B104025005CE75F /* DBPrimitivesTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DBPrimitivesTests.m; sourceTree = "<group>"; };
CFAED8711B54291900E3B8A3 /* DBEmptyRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBEmptyRecord.h; sourceTree = "<group>"; };
CFAED8721B54291900E3B8A3 /* DBEmptyRecord.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DBEmptyRecord.mm; sourceTree = "<group>"; };
CFAED8731B54291900E3B8A3 /* DBEmptyRecord+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DBEmptyRecord+Private.h"; sourceTree = "<group>"; };
CFAED8741B54291900E3B8A3 /* DBEmptyRecord+Private.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "DBEmptyRecord+Private.mm"; sourceTree = "<group>"; };
CFAED8771B54292600E3B8A3 /* empty_record.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = empty_record.hpp; sourceTree = "<group>"; };
CFC5D9CE1B15105100BF2DF8 /* extern_record_with_derivings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extern_record_with_derivings.cpp; sourceTree = "<group>"; };
CFC5D9CF1B15105100BF2DF8 /* extern_record_with_derivings.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = extern_record_with_derivings.hpp; sourceTree = "<group>"; };
CFC5D9D21B15106400BF2DF8 /* DBExternRecordWithDerivings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBExternRecordWithDerivings.h; sourceTree = "<group>"; };
......@@ -240,7 +248,6 @@
CFC5D9E51B1513E800BF2DF8 /* DBExternInterface2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBExternInterface2.h; sourceTree = "<group>"; };
CFC5D9E61B1513E800BF2DF8 /* DBExternInterface2+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DBExternInterface2+Private.h"; sourceTree = "<group>"; };
CFC5D9E71B1513E800BF2DF8 /* DBExternInterface2+Private.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "DBExternInterface2+Private.mm"; sourceTree = "<group>"; };
CFEFA65B1B25CFEA008EE2D0 /* DBDateRecordTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DBDateRecordTests.mm; sourceTree = "<group>"; };
CFC5D9F11B15276900BF2DF8 /* DBDurationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DBDurationTests.m; sourceTree = "<group>"; };
CFC5D9FA1B152D4400BF2DF8 /* Duration-objc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "Duration-objc.hpp"; sourceTree = "<group>"; };
CFC5D9FB1B152E4300BF2DF8 /* TranslateDuration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateDuration.cpp; sourceTree = "<group>"; };
......@@ -255,6 +262,8 @@
CFC5DA0C1B15330000BF2DF8 /* record_with_duration_and_derivings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = record_with_duration_and_derivings.cpp; sourceTree = "<group>"; };
CFC5DA0D1B15330000BF2DF8 /* record_with_duration_and_derivings.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = record_with_duration_and_derivings.hpp; sourceTree = "<group>"; };
CFC5DA101B15B5FB00BF2DF8 /* Duration-jni.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = "Duration-jni.hpp"; sourceTree = "<group>"; };
CFEFA65B1B25CFEA008EE2D0 /* DBDateRecordTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DBDateRecordTests.mm; sourceTree = "<group>"; };
CFF89B921B5D2CC7007F6EC2 /* date_record.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = date_record.cpp; sourceTree = "<group>"; };
CFFD58871B019E79001E10B6 /* DBClientInterface+Private.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "DBClientInterface+Private.mm"; sourceTree = "<group>"; };
CFFD58881B019E79001E10B6 /* DBCppException+Private.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "DBCppException+Private.mm"; sourceTree = "<group>"; };
CFFD58891B019E79001E10B6 /* DBTestHelpers+Private.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "DBTestHelpers+Private.mm"; sourceTree = "<group>"; };
......@@ -425,6 +434,10 @@
CFC5D9D31B15106400BF2DF8 /* DBExternRecordWithDerivings.mm */,
CFC5D9D41B15106400BF2DF8 /* DBExternRecordWithDerivings+Private.h */,
CFC5D9D51B15106400BF2DF8 /* DBExternRecordWithDerivings+Private.mm */,
CFAED8711B54291900E3B8A3 /* DBEmptyRecord.h */,
CFAED8721B54291900E3B8A3 /* DBEmptyRecord.mm */,
CFAED8731B54291900E3B8A3 /* DBEmptyRecord+Private.h */,
CFAED8741B54291900E3B8A3 /* DBEmptyRecord+Private.mm */,
A242492F1AF192E0003BF8F0 /* DBMapDateRecord.h */,
A248501E1AF96EBC00AFE907 /* DBMapDateRecord.mm */,
A242492E1AF192E0003BF8F0 /* DBMapDateRecord+Private.h */,
......@@ -488,7 +501,9 @@
A24249631AF192FC003BF8F0 /* constants.cpp */,
A24249641AF192FC003BF8F0 /* constants.hpp */,
A24249651AF192FC003BF8F0 /* cpp_exception.hpp */,
CFF89B921B5D2CC7007F6EC2 /* date_record.cpp */,
A24249661AF192FC003BF8F0 /* date_record.hpp */,
CFAED8771B54292600E3B8A3 /* empty_record.hpp */,
CFC5D9E01B1513D800BF2DF8 /* extern_interface_1.hpp */,
CFC5D9E11B1513D800BF2DF8 /* extern_interface_2.hpp */,
CFC5D9CE1B15105100BF2DF8 /* extern_record_with_derivings.cpp */,
......@@ -597,6 +612,7 @@
A238CA981AF84B7100CDDCE5 /* DBMapRecord+Private.mm in Sources */,
CFC5D9E81B1513E800BF2DF8 /* DBExternInterface1+Private.mm in Sources */,
A24850311AF96EBC00AFE907 /* DBSetRecord.mm in Sources */,
CFAED8761B54291900E3B8A3 /* DBEmptyRecord+Private.mm in Sources */,
6536CD6F19A6C82200DD7715 /* DJIWeakPtrWrapper.mm in Sources */,
A24850271AF96EBC00AFE907 /* DBClientReturnedRecord.mm in Sources */,
CFC5D9D61B15106400BF2DF8 /* DBExternRecordWithDerivings.mm in Sources */,
......@@ -611,6 +627,7 @@
6536CD7819A6C98800DD7715 /* cpp_exception_impl.cpp in Sources */,
A248502C1AF96EBC00AFE907 /* DBMapRecord.mm in Sources */,
6536CD7419A6C96C00DD7715 /* DBClientInterfaceImpl.mm in Sources */,
CFF89B931B5D2CC7007F6EC2 /* date_record.cpp in Sources */,
A24850301AF96EBC00AFE907 /* DBRecordWithNestedDerivings.mm in Sources */,
CFFD58B11B041BD9001E10B6 /* DBConstantsInterface.mm in Sources */,
B52DA56E1B103FC5005CE75F /* assorted_primitives.cpp in Sources */,
......@@ -622,6 +639,7 @@
B52DA5691B103F72005CE75F /* DBAssortedPrimitives.mm in Sources */,
A24850281AF96EBC00AFE907 /* DBConstants.mm in Sources */,
CFFD58B71B041BFD001E10B6 /* constants_interface.cpp in Sources */,
CFAED8751B54291900E3B8A3 /* DBEmptyRecord.mm in Sources */,
A238CA9A1AF84B7100CDDCE5 /* DBNestedCollection+Private.mm in Sources */,
CFFD58911B019E79001E10B6 /* DBToken+Private.mm in Sources */,
A2CB54B419BA6E6000A9E600 /* DJIError.mm in Sources */,
......
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