| Index: mojom/mojom_tool/serialization/serialization_test.go
|
| diff --git a/mojom/mojom_tool/serialization/serialization_test.go b/mojom/mojom_tool/serialization/serialization_test.go
|
| index c71adb03496d62c8e29c56467c27b4d4d2adcf63..8d390fd6be7e528b4e7a60e43d5752898475a96d 100644
|
| --- a/mojom/mojom_tool/serialization/serialization_test.go
|
| +++ b/mojom/mojom_tool/serialization/serialization_test.go
|
| @@ -64,7 +64,7 @@ func (test *singleFileTest) addTestCase(moduleNameSpace, contents string) {
|
| test.expectedFile().ModuleNamespace = &moduleNameSpace
|
|
|
| test.expectedGraph().ResolvedTypes = make(map[string]mojom_types.UserDefinedType)
|
| - test.expectedGraph().ResolvedValues = make(map[string]mojom_types.UserDefinedValue)
|
| + test.expectedGraph().ResolvedConstants = make(map[string]mojom_types.DeclaredConstant)
|
| }
|
|
|
| // endTestCase() should be invoked at the end of a case in
|
| @@ -530,48 +530,33 @@ func TestSingleFileSerialization(t *testing.T) {
|
| // DeclaredMojomObjects
|
| test.expectedFile().DeclaredMojomObjects.TopLevelEnums = &[]string{"TYPE_KEY:Foo"}
|
|
|
| - // Resolved Values
|
| -
|
| - // Foo.X0
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X0"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("X0", "Foo.X0"),
|
| - EnumTypeKey: "TYPE_KEY:Foo",
|
| - IntValue: 0,
|
| - }}
|
| -
|
| - // Foo.X1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X1"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("X1", "Foo.X1"),
|
| - EnumTypeKey: "TYPE_KEY:Foo",
|
| - InitializerValue: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{42}},
|
| - IntValue: 42,
|
| - }}
|
| -
|
| - // Foo.X2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X2"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("X2", "Foo.X2"),
|
| - EnumTypeKey: "TYPE_KEY:Foo",
|
| - InitializerValue: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "X1",
|
| - ValueKey: stringPointer("TYPE_KEY:Foo.X1"),
|
| - }},
|
| - IntValue: 42,
|
| - }}
|
| -
|
| // ResolvedTypes
|
|
|
| // enum Foo
|
| test.expectedGraph().ResolvedTypes["TYPE_KEY:Foo"] = &mojom_types.UserDefinedTypeEnumType{mojom_types.MojomEnum{
|
| DeclData: test.newDeclData("Foo", "Foo"),
|
| Values: []mojom_types.EnumValue{
|
| - // Note(rudominer) It is a bug that we need to copy the enum values here.
|
| - // See https://github.com/domokit/mojo/issues/513.
|
| // value X1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X0"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("X0", "Foo.X0"),
|
| + IntValue: 0,
|
| + },
|
| // value X1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X1"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("X1", "Foo.X1"),
|
| + InitializerValue: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{42}},
|
| + IntValue: 42,
|
| + },
|
| // value X2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Foo.X2"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("X2", "Foo.X2"),
|
| + InitializerValue: &mojom_types.ValueEnumValueReference{mojom_types.EnumValueReference{
|
| + Identifier: "X1",
|
| + EnumTypeKey: "TYPE_KEY:Foo",
|
| + EnumValueIndex: 1,
|
| + }},
|
| + IntValue: 42,
|
| + },
|
| },
|
| }}
|
|
|
| @@ -600,32 +585,19 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedFile().DeclaredMojomObjects.TopLevelEnums = &[]string{"TYPE_KEY:Color"}
|
| test.expectedFile().DeclaredMojomObjects.Structs = &[]string{"TYPE_KEY:MyStruct"}
|
|
|
| - // Resolved Values
|
| -
|
| - // Color.RED
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.RED"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("RED", "Color.RED"),
|
| - EnumTypeKey: "TYPE_KEY:Color",
|
| - IntValue: 0,
|
| - }}
|
| -
|
| - // Color.BLUE
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.BLUE"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("BLUE", "Color.BLUE"),
|
| - EnumTypeKey: "TYPE_KEY:Color",
|
| - IntValue: 1,
|
| - }}
|
| + // Resolved Constants
|
|
|
| // MyStruct.RED
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:MyStruct.RED"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:MyStruct.RED"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newContainedDeclData("RED", "MyStruct.RED", stringPointer("TYPE_KEY:MyStruct")),
|
| Type: &mojom_types.TypeTypeReference{mojom_types.TypeReference{
|
| false, false, stringPointer("Color"), stringPointer("TYPE_KEY:Color")}},
|
| - Value: &mojom_types.ValueUserValueReference{
|
| - mojom_types.UserValueReference{
|
| - Identifier: "BLUE",
|
| - ValueKey: stringPointer("TYPE_KEY:Color.BLUE")}},
|
| - }}
|
| + Value: &mojom_types.ValueEnumValueReference{
|
| + mojom_types.EnumValueReference{
|
| + Identifier: "BLUE",
|
| + EnumTypeKey: "TYPE_KEY:Color",
|
| + EnumValueIndex: 1}},
|
| + }
|
|
|
| // ResolvedTypes
|
|
|
| @@ -633,12 +605,16 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedGraph().ResolvedTypes["TYPE_KEY:Color"] = &mojom_types.UserDefinedTypeEnumType{mojom_types.MojomEnum{
|
| DeclData: test.newDeclData("Color", "Color"),
|
| Values: []mojom_types.EnumValue{
|
| - // Note(rudominer) It is a bug that we need to copy the enum values here.
|
| - // See https://github.com/domokit/mojo/issues/513.
|
| // value RED
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.RED"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("RED", "Color.RED"),
|
| + IntValue: 0,
|
| + },
|
| // value BLUE
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.BLUE"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("BLUE", "Color.BLUE"),
|
| + IntValue: 1,
|
| + },
|
| },
|
| }}
|
|
|
| @@ -661,10 +637,10 @@ func TestSingleFileSerialization(t *testing.T) {
|
| DeclData: test.newShortDeclDataO(0, -1, "a_color"),
|
| Type: &mojom_types.TypeTypeReference{mojom_types.TypeReference{
|
| false, false, stringPointer("Color"), stringPointer("TYPE_KEY:Color")}},
|
| - DefaultValue: &mojom_types.DefaultFieldValueValue{&mojom_types.ValueUserValueReference{
|
| - mojom_types.UserValueReference{
|
| - Identifier: "RED",
|
| - ValueKey: stringPointer("TYPE_KEY:MyStruct.RED")}}}, // Note this refers to MyStruct.RED and not Color.RED.
|
| + DefaultValue: &mojom_types.DefaultFieldValueValue{&mojom_types.ValueConstantReference{
|
| + mojom_types.ConstantReference{
|
| + Identifier: "RED",
|
| + ConstantKey: "TYPE_KEY:MyStruct.RED"}}}, // Note this refers to MyStruct.RED and not Color.RED.
|
| },
|
| },
|
| }}
|
| @@ -869,60 +845,60 @@ func TestSingleFileSerialization(t *testing.T) {
|
| // Resolved Values
|
|
|
| // xu8
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:xu8"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:xu8"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("xu8", "xu8"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Uint8},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueUint8Value{255}},
|
| - }}
|
| + }
|
|
|
| // x8
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x8"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x8"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x8", "x8"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int8},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{-127}},
|
| - }}
|
| + }
|
|
|
| // xu16
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:xu16"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:xu16"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("xu16", "xu16"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Uint16},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueUint16Value{0xFFFF}},
|
| - }}
|
| + }
|
|
|
| // x16
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x16"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x16"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x16", "x16"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int16},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt16Value{-0x7FFF}},
|
| - }}
|
| + }
|
|
|
| // xu32
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:xu32"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:xu32"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("xu32", "xu32"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Uint32},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueUint32Value{4294967295}},
|
| - }}
|
| + }
|
|
|
| // x32
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x32"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x32"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x32", "x32"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int32},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt32Value{-2147483647}},
|
| - }}
|
| + }
|
|
|
| // xu64
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:xu64"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:xu64"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("xu64", "xu64"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Uint64},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueUint64Value{0xFFFFFFFFFFFFFFFF}},
|
| - }}
|
| + }
|
|
|
| // x64
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x64"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x64"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x64", "x64"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int64},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt64Value{-0x7FFFFFFFFFFFFFFF}},
|
| - }}
|
| + }
|
|
|
| test.endTestCase()
|
| }
|
| @@ -950,46 +926,46 @@ func TestSingleFileSerialization(t *testing.T) {
|
| // Resolved Values
|
|
|
| // f1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:f1"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:f1"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("f1", "f1"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Float},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_FloatInfinity},
|
| - }}
|
| + }
|
|
|
| // f2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:f2"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:f2"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("f2", "f2"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Float},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_FloatNegativeInfinity},
|
| - }}
|
| + }
|
|
|
| // f3
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:f3"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:f3"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("f3", "f3"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Float},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_FloatNan},
|
| - }}
|
| + }
|
|
|
| // d1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:d1"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:d1"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("d1", "d1"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Double},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_DoubleInfinity},
|
| - }}
|
| + }
|
|
|
| // d2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:d2"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:d2"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("d2", "d2"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Double},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_DoubleNegativeInfinity},
|
| - }}
|
| + }
|
|
|
| // d3
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:d3"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:d3"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("d3", "d3"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Double},
|
| Value: &mojom_types.ValueBuiltinValue{mojom_types.BuiltinConstantValue_DoubleNan},
|
| - }}
|
| + }
|
|
|
| test.endTestCase()
|
| }
|
| @@ -1019,82 +995,71 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedFile().DeclaredMojomObjects.TopLevelConstants = &[]string{"TYPE_KEY:x1", "TYPE_KEY:x2",
|
| "TYPE_KEY:x3", "TYPE_KEY:c1", "TYPE_KEY:c2", "TYPE_KEY:c3"}
|
|
|
| - // Resolved Values
|
| -
|
| - // Color.RED
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.RED"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("RED", "Color.RED"),
|
| - EnumTypeKey: "TYPE_KEY:Color",
|
| - IntValue: 0,
|
| - }}
|
| -
|
| - // Color.BLUE
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.BLUE"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("BLUE", "Color.BLUE"),
|
| - EnumTypeKey: "TYPE_KEY:Color",
|
| - IntValue: 1,
|
| - }}
|
| + // Resolved Constants
|
|
|
| // x1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x1"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x1"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x1", "x1"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int32},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{42}},
|
| - }}
|
| + }
|
|
|
| // x2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x2"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x2"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x2", "x2"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int32},
|
| - Value: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "x1",
|
| - ValueKey: stringPointer("TYPE_KEY:x1")}},
|
| + Value: &mojom_types.ValueConstantReference{mojom_types.ConstantReference{
|
| + Identifier: "x1",
|
| + ConstantKey: "TYPE_KEY:x1"}},
|
| ResolvedConcreteValue: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{42}},
|
| - }}
|
| + }
|
|
|
| // x3
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:x3"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:x3"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("x3", "x3"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Int32},
|
| - Value: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "x2",
|
| - ValueKey: stringPointer("TYPE_KEY:x2")}},
|
| + Value: &mojom_types.ValueConstantReference{mojom_types.ConstantReference{
|
| + Identifier: "x2",
|
| + ConstantKey: "TYPE_KEY:x2"}},
|
| ResolvedConcreteValue: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{42}},
|
| - }}
|
| + }
|
|
|
| // c1
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:c1"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:c1"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("c1", "c1"),
|
| Type: &mojom_types.TypeTypeReference{mojom_types.TypeReference{
|
| false, false, stringPointer("Color"), stringPointer("TYPE_KEY:Color")}},
|
| - Value: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "RED",
|
| - ValueKey: stringPointer("TYPE_KEY:Color.RED")}},
|
| - }}
|
| + Value: &mojom_types.ValueEnumValueReference{mojom_types.EnumValueReference{
|
| + Identifier: "RED",
|
| + EnumTypeKey: "TYPE_KEY:Color",
|
| + EnumValueIndex: 0}},
|
| + }
|
|
|
| // c2
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:c2"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:c2"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("c2", "c2"),
|
| Type: &mojom_types.TypeTypeReference{mojom_types.TypeReference{
|
| false, false, stringPointer("Color"), stringPointer("TYPE_KEY:Color")}},
|
| - Value: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "c1",
|
| - ValueKey: stringPointer("TYPE_KEY:c1")}},
|
| - ResolvedConcreteValue: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - ValueKey: stringPointer("TYPE_KEY:Color.RED")}},
|
| - }}
|
| + Value: &mojom_types.ValueConstantReference{mojom_types.ConstantReference{
|
| + Identifier: "c1",
|
| + ConstantKey: "TYPE_KEY:c1"}},
|
| + ResolvedConcreteValue: &mojom_types.ValueEnumValueReference{mojom_types.EnumValueReference{
|
| + EnumTypeKey: "TYPE_KEY:Color",
|
| + EnumValueIndex: 0}},
|
| + }
|
|
|
| // c3
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:c3"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:c3"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("c3", "c3"),
|
| Type: &mojom_types.TypeTypeReference{mojom_types.TypeReference{
|
| false, false, stringPointer("Color"), stringPointer("TYPE_KEY:Color")}},
|
| - Value: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "c2",
|
| - ValueKey: stringPointer("TYPE_KEY:c2")}},
|
| - ResolvedConcreteValue: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - ValueKey: stringPointer("TYPE_KEY:Color.RED")}},
|
| - }}
|
| + Value: &mojom_types.ValueConstantReference{mojom_types.ConstantReference{
|
| + Identifier: "c2",
|
| + ConstantKey: "TYPE_KEY:c2"}},
|
| + ResolvedConcreteValue: &mojom_types.ValueEnumValueReference{mojom_types.EnumValueReference{
|
| + EnumTypeKey: "TYPE_KEY:Color",
|
| + EnumValueIndex: 0}},
|
| + }
|
|
|
| // ResolvedTypes
|
|
|
| @@ -1102,12 +1067,16 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedGraph().ResolvedTypes["TYPE_KEY:Color"] = &mojom_types.UserDefinedTypeEnumType{mojom_types.MojomEnum{
|
| DeclData: test.newDeclData("Color", "Color"),
|
| Values: []mojom_types.EnumValue{
|
| - // Note(rudominer) It is a bug that we need to copy the enum values here.
|
| - // See https://github.com/domokit/mojo/issues/513.
|
| // value RED
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.RED"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("RED", "Color.RED"),
|
| + IntValue: 0,
|
| + },
|
| // value BLUE
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:Color.BLUE"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("BLUE", "Color.BLUE"),
|
| + IntValue: 1,
|
| + },
|
| },
|
| }}
|
|
|
| @@ -1161,39 +1130,14 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedFile().DeclaredMojomObjects.Structs = &[]string{"TYPE_KEY:mojom.test.Foo"}
|
| test.expectedFile().DeclaredMojomObjects.TopLevelConstants = &[]string{"TYPE_KEY:mojom.test.NUM_MAGI"}
|
|
|
| - // Resolved Values
|
| + // Resolved Constants
|
|
|
| // NUM_MAGI
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.NUM_MAGI"] = &mojom_types.UserDefinedValueDeclaredConstant{mojom_types.DeclaredConstant{
|
| + test.expectedGraph().ResolvedConstants["TYPE_KEY:mojom.test.NUM_MAGI"] = mojom_types.DeclaredConstant{
|
| DeclData: *test.newDeclData("NUM_MAGI", "mojom.test.NUM_MAGI"),
|
| Type: &mojom_types.TypeSimpleType{mojom_types.SimpleType_Uint16},
|
| Value: &mojom_types.ValueLiteralValue{&mojom_types.LiteralValueInt8Value{3}},
|
| - }}
|
| -
|
| - // Hats.TOP
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.TOP"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("TOP", "mojom.test.Foo.Hats.TOP"),
|
| - EnumTypeKey: "TYPE_KEY:mojom.test.Foo.Hats",
|
| - IntValue: 0,
|
| - }}
|
| -
|
| - // Hats.COWBOY
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.COWBOY"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("COWBOY", "mojom.test.Foo.Hats.COWBOY"),
|
| - EnumTypeKey: "TYPE_KEY:mojom.test.Foo.Hats",
|
| - IntValue: 3,
|
| - InitializerValue: &mojom_types.ValueUserValueReference{mojom_types.UserValueReference{
|
| - Identifier: "NUM_MAGI",
|
| - ValueKey: stringPointer("TYPE_KEY:mojom.test.NUM_MAGI"),
|
| - }},
|
| - }}
|
| -
|
| - // Hats.HARD
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.HARD"] = &mojom_types.UserDefinedValueEnumValue{mojom_types.EnumValue{
|
| - DeclData: test.newDeclData("HARD", "mojom.test.Foo.Hats.HARD"),
|
| - EnumTypeKey: "TYPE_KEY:mojom.test.Foo.Hats",
|
| - IntValue: 4,
|
| - }}
|
| + }
|
|
|
| // ResolvedTypes
|
|
|
| @@ -1234,14 +1178,25 @@ func TestSingleFileSerialization(t *testing.T) {
|
| test.expectedGraph().ResolvedTypes["TYPE_KEY:mojom.test.Foo.Hats"] = &mojom_types.UserDefinedTypeEnumType{mojom_types.MojomEnum{
|
| DeclData: test.newContainedDeclData("Hats", "mojom.test.Foo.Hats", stringPointer("TYPE_KEY:mojom.test.Foo")),
|
| Values: []mojom_types.EnumValue{
|
| - // Note(rudominer) It is a bug that we need to copy the enum values here.
|
| - // See https://github.com/domokit/mojo/issues/513.
|
| // value TOP
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.TOP"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("TOP", "mojom.test.Foo.Hats.TOP"),
|
| + IntValue: 0,
|
| + },
|
| // value COWBOY
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.COWBOY"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("COWBOY", "mojom.test.Foo.Hats.COWBOY"),
|
| + IntValue: 3,
|
| + InitializerValue: &mojom_types.ValueConstantReference{mojom_types.ConstantReference{
|
| + Identifier: "NUM_MAGI",
|
| + ConstantKey: "TYPE_KEY:mojom.test.NUM_MAGI",
|
| + }},
|
| + },
|
| // value HARD
|
| - test.expectedGraph().ResolvedValues["TYPE_KEY:mojom.test.Foo.Hats.HARD"].(*mojom_types.UserDefinedValueEnumValue).Value,
|
| + mojom_types.EnumValue{
|
| + DeclData: test.newDeclData("HARD", "mojom.test.Foo.Hats.HARD"),
|
| + IntValue: 4,
|
| + },
|
| },
|
| }}
|
|
|
| @@ -2645,7 +2600,7 @@ func (test *twoFileTest) addTestCase(moduleNameSpace, contentsA, contentsB strin
|
| }
|
|
|
| test.expectedGraph().ResolvedTypes = make(map[string]mojom_types.UserDefinedType)
|
| - test.expectedGraph().ResolvedValues = make(map[string]mojom_types.UserDefinedValue)
|
| + test.expectedGraph().ResolvedConstants = make(map[string]mojom_types.DeclaredConstant)
|
| }
|
|
|
| // endTestCase() should be invoked at the end of a case in
|
|
|