48
48
/ /[ manualArray uint 8 manualArrayField count '1' ] // TODO: Implement ...
49
49
/ /[ manualArray uint 8 manualArrayField length '1' ] // TODO: Implement ...
50
50
/ /[ manualArray uint 8 manualArrayField terminated '1' ] // TODO: Implement ...
51
- [manual uint 8 manualField 'STATIC_CALL("readAManualField ", readBuffer, simpleField)'
52
- 'STATIC_CALL("writeAManualField ", writeBuffer, simpleField)'
51
+ [manual uint 8 manualField 'STATIC_CALL("readManualField ", readBuffer, simpleField)'
52
+ 'STATIC_CALL("writeManualField ", writeBuffer, simpleField)'
53
53
'simpleField*8' ]
54
54
[optional uint 8 optionalField 'simpleField == 5' ]
55
55
[padding uint 8 paddingField '0x00' 'simpleField']
121
121
[simple string 8 abstractStringField]
122
122
]
123
123
]
124
- / /[ abstract bit oneMoreBit ] // TODO: apparently this breaks java
125
124
]
126
125
127
126
[type ArrayTypeTest
213
212
]
214
213
]
215
214
215
+ // Check field with arguments
216
+ [ type Struct ( bit signed , bit unsigned )
217
+ [ typeSwitch signed
218
+ [ 'true' SignedType
219
+ [ simple int 8 data ]
220
+ ]
221
+ [ 'false' UnsignedType
222
+ [ simple uint 8 data ]
223
+ ]
224
+ ]
225
+ ]
226
+
227
+ [ type StructContainer
228
+ [ simple bit signed ]
229
+ [ simple Struct ( 'signed' , '!signed' ) struct ]
230
+ ]
231
+
216
232
// TODO : So far only trouble in GO , C seems OK .
217
233
[ type VirtualFieldTest
218
234
[ simple uint 8 simpleField ]
477
493
/ /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// ///
478
494
479
495
/* Needs to be ported to C and GO
480
- [ discriminatedType TTGranddad
481
- [ discriminator uint 8 dadNumber ]
482
- [ simple uint 8 warStories ]
483
- [ typeSwitch dadNumber
484
- [ '0x00' TTDad
485
- [ discriminator uint 8 sonNumber ]
486
- [ simple uint 8 beerBottles ]
487
- [ typeSwitch sonNumber
488
- [ '0x01' TTSon
489
- [ simple uint 8 gameConsoles ]
490
- [ discriminator uint 8 babyNumber ]
491
- [ typeSwitch babyNumber
492
- [ '0x02' TTBaby
493
- [ simple uint 8 lalalala ]
494
- ]
495
- ]
496
- ]
497
- ]
498
- ]
499
- ]
500
- ]
501
-
502
496
[ discriminatedType TypeSwitchInTypeSwitchParentType
503
497
[ discriminator uint 8 typeNumber ]
504
498
[ simple uint 8 parentFieldHurz ]
558
552
]
559
553
]
560
554
]
561
- ] */
555
+ ]
556
+
557
+ [ discriminatedType TypeSwitchWithArg ( bit arg1 , uint 8 arg2 )
558
+ [ abstract bit isItTrue ]
559
+ [ simple uint 8 value ]
560
+ [ typeSwitch arg1
561
+ [ 'true' TrustfulTypeSwitch ( uint 8 value )
562
+ [ virtual bit isItTrue 'true' ]
563
+ ]
564
+ [ 'false' UnTrustfulTypeSwitch ( uint 8 value )
565
+ [ virtual bit isItTrue 'false' ]
566
+ ]
567
+ ]
568
+ ]
569
+
562
570
563
571
// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// //
564
572
/ / Missing Tests
565
573
/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /
566
574
567
- // TODO : Test case where a dataIo type is used as type of a simple field ( Linking normal model and dataIo )
575
+ // TODO : Test case where a dataIo type is used as type of a simple field ( Linking normal model and dataIo )
0 commit comments