 bceae7697f
			
		
	
	
		bceae7697f
		
	
	
	
	
		
			
			By default, any union will automatically generate a enum type as "[UnionName]Kind" in C code, and it is duplicated when the discriminator is specified as a pre-defined enum type in schema. After this patch, the pre-defined enum type will be really used as the switch case condition in generated C code, if discriminator is an enum field. Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
		
			
				
	
	
		
			10 lines
		
	
	
		
			806 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			10 lines
		
	
	
		
			806 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [OrderedDict([('union', 'TestUnion'), ('base', 'TestBase'), ('discriminator', 'enum1'), ('data', OrderedDict([('value1', 'TestTypeA'), ('value2', 'TestTypeB')]))]),
 | |
|  OrderedDict([('type', 'TestBase'), ('data', OrderedDict([('enum1', 'TestEnum')]))]),
 | |
|  OrderedDict([('enum', 'TestEnum'), ('data', ['value1', 'value2'])]),
 | |
|  OrderedDict([('type', 'TestTypeA'), ('data', OrderedDict([('string', 'str')]))]),
 | |
|  OrderedDict([('type', 'TestTypeB'), ('data', OrderedDict([('integer', 'int')]))])]
 | |
| [{'enum_name': 'TestEnum', 'enum_values': ['value1', 'value2']}]
 | |
| [OrderedDict([('type', 'TestBase'), ('data', OrderedDict([('enum1', 'TestEnum')]))]),
 | |
|  OrderedDict([('type', 'TestTypeA'), ('data', OrderedDict([('string', 'str')]))]),
 | |
|  OrderedDict([('type', 'TestTypeB'), ('data', OrderedDict([('integer', 'int')]))])]
 |