Added (for compiler versions that support it):
-Wmissing-declarations
-Wzero-as-null-pointer-constant
Then, fixes to problems identified by the extra warnings
Tested only on GCC 9.4.0
Adjusted the CPP code generator to output nullptr where appropriate,
to satisfy -Wzero-as-null-pointer-constant
Added a lot of 'static' declarations in front of functions,
to satisfy -Wmissing-declarations,
and wrap static function defs in anonymous namespaces.
There are advantages to both anonymous namespaces and static,
it seems that marking a function as static will not publish the name in
the symbol table at all, thus giving the linker less work to do.
* Adds implementation flag for swift
Forces internal flag when using @_implementationOnly in swift
Fixes access type for verifier functions & encoder functions
Updates generated code
* Addresses PR comments & adds a code gen dir within the swift tests
* Adds test case for no-include
* Fixes code gen script
Removes prefix
* Apply Namer to Lua bfbs code gen
* refactor namer into IdlNamer to keep idl includes separate
* remove commented out code
* added bfbs_namer
* remove Enum case
* add to bazel
* Define and use Namer overloads
* more
* NamespacedType needs a public string-like overload
* Move Rust FieldOffsetName to Namer LegacyRustFieldOffsetName
* Started swift
* More Namer updates
* Remove more usage of the variable 'name' which was semantically overloaded
* unshadow varible
* Make ptr to bool explicit
Co-authored-by: Casper Neo <cneo@google.com>
* Unified name case conversion to single method
* Convert bfbs_gen to use ConvertCase
* convert rust to use ConvertCase
* Convert idl_parser to use ConvertCase
* Convert MakeScreamingCamel to ConvertCase
* Replaced MakeCamel with ConvertCase
* minor fixes
* disable clippy
* Vector of enum default
* swift and tests
* git clang format
* Rewrite enum parser checks
* Remove Voids from more_defaults
* vector enum swift
* remove vector accessor from swift
* clang format
Co-authored-by: Casper Neo <cneo@google.com>
* Define presence.
* Migrate to IsRequired and IsOptional methods
* moved stuff around
* Removed optional and required bools from FieldDef
* change assert to return error
* Fix tests.cpp
* MakeFieldPresence helper
* fmt
* old c++ compatibility stuff
Co-authored-by: Casper Neo <cneo@google.com>
* Rebuild the way swift handles structs from scratch
* Updates docs, and sample binary
* Replaces InMemory to Mutable
* Migrates docs from inmemory
* use inline for some functions
* Renamed Mutable objects
* Updates documentation
* Updated SupportsAdvancedUnionFeatures to look out for string
* Mass refactoring to use BASE_TYPE helper functions.
Co-authored-by: Casper Neo <cneo@google.com>
This commit adds replacement of `::tolower` and `::toupper`.
Added CharToLower and CharToUpper routines reduce the number of cast operators
that required for correct usage of standard C/C++ `::tolower/toupper` routines.
This PR attempts to switch namespace from public enum back to ordinary
concat with _ in Swift. This kept style similar with protobuf, but
different from other popular style guide in Swift.
This is needed because previously, when we do `public enum`, we don't
really know when to declare and when to extend (extension). With namespace
implementation in this PR, there is no such ambiguity.
Adds swift test code
Replaces if statments
Adds swift to supported languages for optionals
Moved std::string to auto
Adds nullable scalars support in object api
* Perpares swift to take optional scalars + adds optional string helper method + disables linters in generated code
* Small fix for generated code
* Update grpc support to alpha 17 for swift