Commit 1725d321 authored by Guy Nicholas's avatar Guy Nicholas

Updated extended record test with constant using forward declared item. This...

Updated extended record test with constant using forward declared item.  This does two things, first it tests the forward declared namespace object and second it generates a .cpp file that uses the extended record include prefix.
parent c7a95dd5
...@@ -164,9 +164,9 @@ object Main { ...@@ -164,9 +164,9 @@ object Main {
opt[String]("objcpp-include-objc-prefix").valueName("<prefix>").foreach(x => objcppIncludeObjcPrefixOptional = Some(x)) opt[String]("objcpp-include-objc-prefix").valueName("<prefix>").foreach(x => objcppIncludeObjcPrefixOptional = Some(x))
.text("The prefix for #import of the Objective-C header files from Objective-C++ files (default: the same as --objcpp-include-prefix)") .text("The prefix for #import of the Objective-C header files from Objective-C++ files (default: the same as --objcpp-include-prefix)")
opt[String]("cpp-extended-record-include-prefix").valueName("<prefix>").foreach(cppExtendedRecordIncludePrefix = _) opt[String]("cpp-extended-record-include-prefix").valueName("<prefix>").foreach(cppExtendedRecordIncludePrefix = _)
.text("The prefix for #include of the extended record header files from C++ files.") .text("The prefix path for #include of the extended record C++ header (.hpp) files")
opt[String]("objc-extended-record-include-prefix").valueName("<prefix>").foreach(objcExtendedRecordIncludePrefix = _) opt[String]("objc-extended-record-include-prefix").valueName("<prefix>").foreach(objcExtendedRecordIncludePrefix = _)
.text("The prefix for #import of the extended record header files from Objective-C++ files.") .text("The prefix path for #import of the extended record Objective-C header (.h) files")
opt[String]("objcpp-namespace").valueName("<prefix>").foreach(objcppNamespace = _) opt[String]("objcpp-namespace").valueName("<prefix>").foreach(objcppNamespace = _)
.text("The namespace name to use for generated Objective-C++ classes.") .text("The namespace name to use for generated Objective-C++ classes.")
opt[String]("objc-base-lib-include-prefix").valueName("...").foreach(x => objcBaseLibIncludePrefix = x) opt[String]("objc-base-lib-include-prefix").valueName("...").foreach(x => objcBaseLibIncludePrefix = x)
......
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
# Extended record # Extended record
extended_record = record +c { extended_record = record +c {
foo: bool; foo: bool;
const extended_record_const: extended_record = {foo=true};
} }
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from extended_record.djinni
#include "extended_record_base.hpp" // my header
#include "../../handwritten-src/cpp/extended_record.hpp"
namespace testsuite {
ExtendedRecord const ExtendedRecordBase::EXTENDED_RECORD_CONST = ExtendedRecord(
true /* foo */ );
} // namespace testsuite
...@@ -11,6 +11,8 @@ struct ExtendedRecord; // Requiring extended class ...@@ -11,6 +11,8 @@ struct ExtendedRecord; // Requiring extended class
/** Extended record */ /** Extended record */
struct ExtendedRecordBase { struct ExtendedRecordBase {
static ExtendedRecord const EXTENDED_RECORD_CONST;
bool foo; bool foo;
ExtendedRecordBase(bool foo_) ExtendedRecordBase(bool foo_)
......
...@@ -9,6 +9,10 @@ import javax.annotation.Nonnull; ...@@ -9,6 +9,10 @@ import javax.annotation.Nonnull;
/** Extended record */ /** Extended record */
public final class ExtendedRecord { public final class ExtendedRecord {
@Nonnull
public static final ExtendedRecord EXTENDED_RECORD_CONST = new ExtendedRecord(
true /* mFoo */ );
/*package*/ final boolean mFoo; /*package*/ final boolean mFoo;
......
// AUTOGENERATED FILE - DO NOT MODIFY! // AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from extended_record.djinni // This file generated by Djinni from extended_record.djinni
#import "DBExtendedRecord+Private.h"
#import "DBExtendedRecord+Private.h" #import "DBExtendedRecord+Private.h"
#import "DJIMarshal+Private.h" #import "DJIMarshal+Private.h"
#include <cassert> #include <cassert>
......
// AUTOGENERATED FILE - DO NOT MODIFY! // AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from extended_record.djinni // This file generated by Djinni from extended_record.djinni
#import "DBExtendedRecord.h"
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
/** Extended record */ /** Extended record */
...@@ -11,3 +12,5 @@ ...@@ -11,3 +12,5 @@
@property (nonatomic, readonly) BOOL foo; @property (nonatomic, readonly) BOOL foo;
@end @end
extern DBExtendedRecord * __nonnull const DBExtendedRecordExtendedRecordConst;
...@@ -3,6 +3,12 @@ ...@@ -3,6 +3,12 @@
#import "DBExtendedRecord.h" #import "DBExtendedRecord.h"
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
DBExtendedRecord * __nonnull const DBExtendedRecordExtendedRecordConst = [[DBExtendedRecord alloc] initWithFoo:YES];
#pragma clang diagnostic pop
@implementation DBExtendedRecord @implementation DBExtendedRecord
......
...@@ -5,6 +5,7 @@ djinni-output-temp/cpp/date_record.hpp ...@@ -5,6 +5,7 @@ djinni-output-temp/cpp/date_record.hpp
djinni-output-temp/cpp/date_record.cpp djinni-output-temp/cpp/date_record.cpp
djinni-output-temp/cpp/map_date_record.hpp djinni-output-temp/cpp/map_date_record.hpp
djinni-output-temp/cpp/extended_record_base.hpp djinni-output-temp/cpp/extended_record_base.hpp
djinni-output-temp/cpp/extended_record_base.cpp
djinni-output-temp/cpp/objc_only_listener.hpp djinni-output-temp/cpp/objc_only_listener.hpp
djinni-output-temp/cpp/java_only_listener.hpp djinni-output-temp/cpp/java_only_listener.hpp
djinni-output-temp/cpp/uses_single_language_listeners.hpp djinni-output-temp/cpp/uses_single_language_listeners.hpp
......
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