| 11 | namespace FBE { |
| 12 | |
| 13 | void 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 | } |