Skip to content

Commit cfa6e49

Browse files
committed
add scalar struct to test case
1 parent 4b8be45 commit cfa6e49

File tree

3 files changed

+276
-16
lines changed

3 files changed

+276
-16
lines changed

compiler/tools/fpp-to-dict/test/top/FirstTopTopologyDictionary.ref.json

Lines changed: 130 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,112 @@
5959
],
6060
"default" : "Module1.E2.PASS"
6161
},
62+
{
63+
"kind" : "struct",
64+
"qualifiedName" : "Module1.ScalarStruct",
65+
"members" : {
66+
"u32" : {
67+
"type" : {
68+
"name" : "U32",
69+
"kind" : "integer",
70+
"size" : 32,
71+
"signed" : false
72+
},
73+
"index" : 6
74+
},
75+
"f64" : {
76+
"type" : {
77+
"name" : "F64",
78+
"kind" : "float",
79+
"size" : 64
80+
},
81+
"index" : 9
82+
},
83+
"f32" : {
84+
"type" : {
85+
"name" : "F32",
86+
"kind" : "float",
87+
"size" : 32
88+
},
89+
"index" : 8
90+
},
91+
"i8" : {
92+
"type" : {
93+
"name" : "I8",
94+
"kind" : "integer",
95+
"size" : 8,
96+
"signed" : true
97+
},
98+
"index" : 0
99+
},
100+
"i16" : {
101+
"type" : {
102+
"name" : "I16",
103+
"kind" : "integer",
104+
"size" : 16,
105+
"signed" : true
106+
},
107+
"index" : 1
108+
},
109+
"u8" : {
110+
"type" : {
111+
"name" : "U8",
112+
"kind" : "integer",
113+
"size" : 8,
114+
"signed" : false
115+
},
116+
"index" : 4
117+
},
118+
"u64" : {
119+
"type" : {
120+
"name" : "U64",
121+
"kind" : "integer",
122+
"size" : 64,
123+
"signed" : false
124+
},
125+
"index" : 7
126+
},
127+
"i64" : {
128+
"type" : {
129+
"name" : "I64",
130+
"kind" : "integer",
131+
"size" : 64,
132+
"signed" : true
133+
},
134+
"index" : 3
135+
},
136+
"i32" : {
137+
"type" : {
138+
"name" : "I32",
139+
"kind" : "integer",
140+
"size" : 32,
141+
"signed" : true
142+
},
143+
"index" : 2
144+
},
145+
"u16" : {
146+
"type" : {
147+
"name" : "U16",
148+
"kind" : "integer",
149+
"size" : 16,
150+
"signed" : false
151+
},
152+
"index" : 5
153+
}
154+
},
155+
"default" : {
156+
"u32" : 0,
157+
"f64" : 0.0,
158+
"f32" : 0.0,
159+
"i8" : 0,
160+
"i16" : 0,
161+
"u8" : 0,
162+
"u64" : 0,
163+
"i64" : 0,
164+
"i32" : 0,
165+
"u16" : 0
166+
}
167+
},
62168
{
63169
"kind" : "struct",
64170
"qualifiedName" : "Module1.S1",
@@ -253,14 +359,6 @@
253359
],
254360
"annotation" : "Parameter of type string"
255361
},
256-
{
257-
"name" : "Module1.myFirstC1.PARAM1_PRM_SAVE",
258-
"commandKind" : "save",
259-
"opcode" : 773,
260-
"formalParams" : [
261-
],
262-
"annotation" : "Parameter (struct)"
263-
},
264362
{
265363
"name" : "Module1.myFirstC1.PARAM3_PRM_SET",
266364
"commandKind" : "set",
@@ -405,6 +503,30 @@
405503
],
406504
"annotation" : "Command with 2 args (array of strings and U32)"
407505
},
506+
{
507+
"name" : "Module1.myFirstC2.SendScalars",
508+
"commandKind" : "sync",
509+
"opcode" : 1026,
510+
"formalParams" : [
511+
{
512+
"name" : "s",
513+
"type" : {
514+
"name" : "Module1.ScalarStruct",
515+
"kind" : "qualifiedIdentifier"
516+
},
517+
"ref" : false
518+
}
519+
],
520+
"annotation" : "Send scalars"
521+
},
522+
{
523+
"name" : "Module1.myFirstC1.PARAM1_PRM_SAVE",
524+
"commandKind" : "save",
525+
"opcode" : 773,
526+
"formalParams" : [
527+
],
528+
"annotation" : "Parameter (struct)"
529+
},
408530
{
409531
"name" : "Module1.myFirstC1.PARAM5_PRM_SET",
410532
"commandKind" : "set",

compiler/tools/fpp-to-dict/test/top/SecondTopTopologyDictionary.ref.json

Lines changed: 130 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,112 @@
5959
],
6060
"default" : "Module1.E2.PASS"
6161
},
62+
{
63+
"kind" : "struct",
64+
"qualifiedName" : "Module1.ScalarStruct",
65+
"members" : {
66+
"u32" : {
67+
"type" : {
68+
"name" : "U32",
69+
"kind" : "integer",
70+
"size" : 32,
71+
"signed" : false
72+
},
73+
"index" : 6
74+
},
75+
"f64" : {
76+
"type" : {
77+
"name" : "F64",
78+
"kind" : "float",
79+
"size" : 64
80+
},
81+
"index" : 9
82+
},
83+
"f32" : {
84+
"type" : {
85+
"name" : "F32",
86+
"kind" : "float",
87+
"size" : 32
88+
},
89+
"index" : 8
90+
},
91+
"i8" : {
92+
"type" : {
93+
"name" : "I8",
94+
"kind" : "integer",
95+
"size" : 8,
96+
"signed" : true
97+
},
98+
"index" : 0
99+
},
100+
"i16" : {
101+
"type" : {
102+
"name" : "I16",
103+
"kind" : "integer",
104+
"size" : 16,
105+
"signed" : true
106+
},
107+
"index" : 1
108+
},
109+
"u8" : {
110+
"type" : {
111+
"name" : "U8",
112+
"kind" : "integer",
113+
"size" : 8,
114+
"signed" : false
115+
},
116+
"index" : 4
117+
},
118+
"u64" : {
119+
"type" : {
120+
"name" : "U64",
121+
"kind" : "integer",
122+
"size" : 64,
123+
"signed" : false
124+
},
125+
"index" : 7
126+
},
127+
"i64" : {
128+
"type" : {
129+
"name" : "I64",
130+
"kind" : "integer",
131+
"size" : 64,
132+
"signed" : true
133+
},
134+
"index" : 3
135+
},
136+
"i32" : {
137+
"type" : {
138+
"name" : "I32",
139+
"kind" : "integer",
140+
"size" : 32,
141+
"signed" : true
142+
},
143+
"index" : 2
144+
},
145+
"u16" : {
146+
"type" : {
147+
"name" : "U16",
148+
"kind" : "integer",
149+
"size" : 16,
150+
"signed" : false
151+
},
152+
"index" : 5
153+
}
154+
},
155+
"default" : {
156+
"u32" : 0,
157+
"f64" : 0.0,
158+
"f32" : 0.0,
159+
"i8" : 0,
160+
"i16" : 0,
161+
"u8" : 0,
162+
"u64" : 0,
163+
"i64" : 0,
164+
"i32" : 0,
165+
"u16" : 0
166+
}
167+
},
62168
{
63169
"kind" : "struct",
64170
"qualifiedName" : "Module1.S1",
@@ -283,14 +389,6 @@
283389
],
284390
"annotation" : "Parameter of type string"
285391
},
286-
{
287-
"name" : "Module1.mySecondC1.PARAM1_PRM_SAVE",
288-
"commandKind" : "save",
289-
"opcode" : 1285,
290-
"formalParams" : [
291-
],
292-
"annotation" : "Parameter (struct)"
293-
},
294392
{
295393
"name" : "Module1.mySecondC1.PARAM3_PRM_SET",
296394
"commandKind" : "set",
@@ -397,6 +495,30 @@
397495
],
398496
"annotation" : "Command with no args"
399497
},
498+
{
499+
"name" : "Module1.mySecondC2.SendScalars",
500+
"commandKind" : "sync",
501+
"opcode" : 1538,
502+
"formalParams" : [
503+
{
504+
"name" : "s",
505+
"type" : {
506+
"name" : "Module1.ScalarStruct",
507+
"kind" : "qualifiedIdentifier"
508+
},
509+
"ref" : false
510+
}
511+
],
512+
"annotation" : "Send scalars"
513+
},
514+
{
515+
"name" : "Module1.mySecondC1.PARAM1_PRM_SAVE",
516+
"commandKind" : "save",
517+
"opcode" : 1285,
518+
"formalParams" : [
519+
],
520+
"annotation" : "Parameter (struct)"
521+
},
400522
{
401523
"name" : "Module1.mySecondC2.Command1",
402524
"commandKind" : "sync",

compiler/tools/fpp-to-dict/test/top/multipleTops.fpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,19 @@ module Module1 {
4545
y: EnumArray
4646
} default { x = E2.PASS }
4747

48+
struct ScalarStruct {
49+
i8: I8,
50+
i16: I16,
51+
i32: I32,
52+
i64: I64,
53+
u8: U8,
54+
u16: U16,
55+
u32: U32,
56+
u64: U64,
57+
f32: F32,
58+
f64: F64
59+
}
60+
4861
# Component
4962
active component Component1 {
5063

@@ -193,6 +206,9 @@ module Module1 {
193206
@ Command with 3 args (of types string, I32, and bool)
194207
sync command Command2(a: string, b: I32, c: bool)
195208

209+
@ Send scalars
210+
sync command SendScalars(s: ScalarStruct)
211+
196212
# Events
197213
@ Event with a single U64 arg
198214
event Event1(

0 commit comments

Comments
 (0)