lxdrgen-swift: fix prefix handling
"Any prefix will work, so long as it's 'Relay'."
This commit is contained in:
		@@ -36,7 +36,7 @@ function codegen_begin() {
 | 
				
			|||||||
	print "// Code generated from " FILENAME ". DO NOT EDIT."
 | 
						print "// Code generated from " FILENAME ". DO NOT EDIT."
 | 
				
			||||||
	print "import Foundation"
 | 
						print "import Foundation"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "public struct RelayReader {"
 | 
						print "public struct " PrefixCamel "Reader {"
 | 
				
			||||||
	print "\tpublic var data: Data"
 | 
						print "\tpublic var data: Data"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic enum ReadError: Error {"
 | 
						print "\tpublic enum ReadError: Error {"
 | 
				
			||||||
@@ -102,7 +102,7 @@ function codegen_begin() {
 | 
				
			|||||||
	print "\t}"
 | 
						print "\t}"
 | 
				
			||||||
	print "}"
 | 
						print "}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "public struct RelayWriter {"
 | 
						print "public struct " PrefixCamel "Writer {"
 | 
				
			||||||
	print "\tpublic var data = Data()"
 | 
						print "\tpublic var data = Data()"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic mutating func append<T: FixedWidthInteger>(_ number: T) {"
 | 
						print "\tpublic mutating func append<T: FixedWidthInteger>(_ number: T) {"
 | 
				
			||||||
@@ -123,8 +123,8 @@ function codegen_begin() {
 | 
				
			|||||||
	print "\t\tdata.append(bytes)"
 | 
						print "\t\tdata.append(bytes)"
 | 
				
			||||||
	print "\t}"
 | 
						print "\t}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic mutating func append<" \
 | 
						print "\tpublic mutating func append<T: " \
 | 
				
			||||||
		"T: RawRepresentable<Int8>>(_ value: T) {"
 | 
							"RawRepresentable<Int8>>(_ value: T) {"
 | 
				
			||||||
	print "\t\tappend(value.rawValue)"
 | 
						print "\t\tappend(value.rawValue)"
 | 
				
			||||||
	print "\t}"
 | 
						print "\t}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
@@ -136,13 +136,14 @@ function codegen_begin() {
 | 
				
			|||||||
	print "\t\t}"
 | 
						print "\t\t}"
 | 
				
			||||||
	print "\t}"
 | 
						print "\t}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic mutating func append<T: RelayEncodable>(_ value: T) {"
 | 
						print "\tpublic mutating func append<T: " \
 | 
				
			||||||
 | 
							PrefixCamel "Encodable>(_ value: T) {"
 | 
				
			||||||
	print "\t\tvalue.encode(to: &self)"
 | 
						print "\t\tvalue.encode(to: &self)"
 | 
				
			||||||
	print "\t}"
 | 
						print "\t}"
 | 
				
			||||||
	print "}"
 | 
						print "}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "public protocol RelayEncodable { " \
 | 
						print "public protocol " PrefixCamel "Encodable { " \
 | 
				
			||||||
		"func encode(to: inout RelayWriter) }"
 | 
							"func encode(to: inout " PrefixCamel "Writer) }"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function codegen_constant(name, value) {
 | 
					function codegen_constant(name, value) {
 | 
				
			||||||
@@ -201,10 +202,10 @@ function codegen_struct(name, cg,    swifttype) {
 | 
				
			|||||||
	print "public struct " swifttype " {\n" cg["fields"] "}"
 | 
						print "public struct " swifttype " {\n" cg["fields"] "}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "extension " swifttype ": " PrefixCamel "Encodable {"
 | 
						print "extension " swifttype ": " PrefixCamel "Encodable {"
 | 
				
			||||||
	print "\tpublic init(from: inout RelayReader) throws {"
 | 
						print "\tpublic init(from: inout " PrefixCamel "Reader) throws {"
 | 
				
			||||||
	print cg["deserialize"] "\t}"
 | 
						print cg["deserialize"] "\t}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic func encode(to: inout RelayWriter) {"
 | 
						print "\tpublic func encode(to: inout " PrefixCamel "Writer) {"
 | 
				
			||||||
	print cg["serialize"] "\t}"
 | 
						print cg["serialize"] "\t}"
 | 
				
			||||||
	print "}"
 | 
						print "}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -230,10 +231,10 @@ function codegen_union_struct(name, casename, cg, scg,     swifttype) {
 | 
				
			|||||||
	print scg["fields"] "}"
 | 
						print scg["fields"] "}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "extension " swifttype ": " PrefixCamel "Encodable {"
 | 
						print "extension " swifttype ": " PrefixCamel "Encodable {"
 | 
				
			||||||
	print "\tfileprivate init(from: inout RelayReader) throws {"
 | 
						print "\tfileprivate init(from: inout " PrefixCamel "Reader) throws {"
 | 
				
			||||||
	print scg["deserialize"] "\t}"
 | 
						print scg["deserialize"] "\t}"
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "\tpublic func encode(to: inout RelayWriter) {"
 | 
						print "\tpublic func encode(to: inout " PrefixCamel "Writer) {"
 | 
				
			||||||
	print scg["serialize"] "\t}"
 | 
						print scg["serialize"] "\t}"
 | 
				
			||||||
	print "}"
 | 
						print "}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -257,12 +258,12 @@ function codegen_union(name, cg, exhaustive,    swifttype, init) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if (!exhaustive)
 | 
						if (!exhaustive)
 | 
				
			||||||
		append(cg, "cases", "\tdefault:\n" \
 | 
							append(cg, "cases", "\tdefault:\n" \
 | 
				
			||||||
			"\t\tthrow RelayReader.ReadError.unexpectedValue\n")
 | 
								"\t\tthrow " PrefixCamel "Reader.ReadError.unexpectedValue\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	init = decapitalize(swifttype)
 | 
						init = decapitalize(swifttype)
 | 
				
			||||||
	print ""
 | 
						print ""
 | 
				
			||||||
	print "public func " init \
 | 
						print "public func " init \
 | 
				
			||||||
		"(from: inout RelayReader) throws -> " swifttype " {"
 | 
							"(from: inout " PrefixCamel "Reader) throws -> " swifttype " {"
 | 
				
			||||||
	print "\tlet " cg["tagname"] ": " CodegenSwiftType[cg["tagtype"]] \
 | 
						print "\tlet " cg["tagname"] ": " CodegenSwiftType[cg["tagtype"]] \
 | 
				
			||||||
		" = try from.read()"
 | 
							" = try from.read()"
 | 
				
			||||||
	print "\tswitch " cg["tagname"] " {"
 | 
						print "\tswitch " cg["tagname"] " {"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user