MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / Generate

Method Generate

source/generator_kotlin.cpp:13–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11namespace FBE {
12
13void GeneratorKotlin::Generate(const std::shared_ptr<Package>& package)
14{
15 std::string domain = (package->domain && !package->domain->empty()) ? (*package->domain + ".") : "";
16
17 GenerateFBEPackage(domain, "fbe");
18 GenerateFBEUUIDGenerator(domain, "fbe");
19 GenerateFBEBuffer(domain, "fbe");
20 GenerateFBEModel(domain, "fbe");
21 GenerateFBEFieldModel(domain, "fbe");
22 GenerateFBEFieldModel(domain, "fbe", "Boolean", "Boolean", "", "1", "false");
23 GenerateFBEFieldModel(domain, "fbe", "Byte", "Byte", "", "1", "0.toByte()");
24 GenerateFBEFieldModel(domain, "fbe", "Char", "Char", ".code", "1", "'\\u0000'");
25 GenerateFBEFieldModel(domain, "fbe", "WChar", "Char", ".code", "4", "'\\u0000'");
26 GenerateFBEFieldModel(domain, "fbe", "Int8", "Byte", "", "1", "0.toByte()");
27 GenerateFBEFieldModel(domain, "fbe", "UInt8", "UByte", "", "1", "0.toUByte()");
28 GenerateFBEFieldModel(domain, "fbe", "Int16", "Short", "", "2", "0.toShort()");
29 GenerateFBEFieldModel(domain, "fbe", "UInt16", "UShort", "", "2", "0.toUShort()");
30 GenerateFBEFieldModel(domain, "fbe", "Int32", "Int", "", "4", "0");
31 GenerateFBEFieldModel(domain, "fbe", "UInt32", "UInt", "", "4", "0u");
32 GenerateFBEFieldModel(domain, "fbe", "Int64", "Long", "", "8", "0L");
33 GenerateFBEFieldModel(domain, "fbe", "UInt64", "ULong", "", "8", "0uL");
34 GenerateFBEFieldModel(domain, "fbe", "Float", "Float", "", "4", "0.0f");
35 GenerateFBEFieldModel(domain, "fbe", "Double", "Double", "", "8", "0.0");
36 GenerateFBEFieldModel(domain, "fbe", "UUID", "java.util.UUID", "", "16", "UUIDGenerator.nil()");
37 GenerateFBEFieldModelDecimal(domain, "fbe");
38 if (Version() < 8)
39 GenerateFBEFieldModelDate(domain, "fbe");
40 else
41 GenerateFBEFieldModelTimestamp(domain, "fbe");
42 GenerateFBEFieldModelBytes(domain, "fbe");
43 GenerateFBEFieldModelString(domain, "fbe");
44 if (Final())
45 {
46 GenerateFBESize(domain, "fbe");
47 GenerateFBEFinalModel(domain, "fbe");
48 GenerateFBEFinalModel(domain, "fbe", "Boolean", "Boolean", "", "1", "false");
49 GenerateFBEFinalModel(domain, "fbe", "Byte", "Byte", "", "1", "0.toByte()");
50 GenerateFBEFinalModel(domain, "fbe", "Char", "Char", ".code", "1", "'\\u0000'");
51 GenerateFBEFinalModel(domain, "fbe", "WChar", "Char", ".code", "4", "'\\u0000'");
52 GenerateFBEFinalModel(domain, "fbe", "Int8", "Byte", "", "1", "0.toByte()");
53 GenerateFBEFinalModel(domain, "fbe", "UInt8", "UByte", "", "1", "0.toUByte()");
54 GenerateFBEFinalModel(domain, "fbe", "Int16", "Short", "", "2", "0.toShort()");
55 GenerateFBEFinalModel(domain, "fbe", "UInt16", "UShort", "", "2", "0.toUShort()");
56 GenerateFBEFinalModel(domain, "fbe", "Int32", "Int", "", "4", "0");
57 GenerateFBEFinalModel(domain, "fbe", "UInt32", "UInt", "", "4", "0u");
58 GenerateFBEFinalModel(domain, "fbe", "Int64", "Long", "", "8", "0L");
59 GenerateFBEFinalModel(domain, "fbe", "UInt64", "ULong", "", "8", "0uL");
60 GenerateFBEFinalModel(domain, "fbe", "Float", "Float", "", "4", "0.0f");
61 GenerateFBEFinalModel(domain, "fbe", "Double", "Double", "", "8", "0.0");
62 GenerateFBEFinalModel(domain, "fbe", "UUID", "java.util.UUID", "", "16", "UUIDGenerator.nil()");
63 GenerateFBEFinalModelDecimal(domain, "fbe");
64 if (Version() < 8)
65 GenerateFBEFinalModelDate(domain, "fbe");
66 else
67 GenerateFBEFinalModelTimestamp(domain, "fbe");
68 GenerateFBEFinalModelBytes(domain, "fbe");
69 GenerateFBEFinalModelString(domain, "fbe");
70 }

Callers

nothing calls this directly

Calls 3

VersionClass · 0.85
ProtoClass · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected