@@ -227,22 +227,22 @@ define macro decoded-class-definer
227
227
end ;
228
228
229
229
define macro gen-classes
230
- { gen-classes(?:name; ?superframe:name) }
230
+ { gen-classes("<" ## ?:name; "<" ## ?superframe:name) }
231
231
=> { define inline method unparsed-class
232
- (type :: subclass("<" ## ?name ## ">" ))
233
- => (class == "<unparsed-" ## ?name ## ">" )
234
- "<unparsed-" ## ?name ## ">"
232
+ (type :: subclass("<" ## ?name))
233
+ => (class == "<unparsed-" ## ?name)
234
+ "<unparsed-" ## ?name
235
235
end ;
236
236
237
237
define inline method decoded-class
238
- (type :: subclass("<" ## ?name ## ">" ))
239
- => (class == "<decoded-" ## ?name ## ">" )
240
- "<decoded-" ## ?name ## ">"
238
+ (type :: subclass("<" ## ?name))
239
+ => (class == "<decoded-" ## ?name)
240
+ "<decoded-" ## ?name
241
241
end ;
242
242
243
- define class "<unparsed-" ## ?name ## ">" ("<" ## ?name ## ">" , "<unparsed-" ## ?superframe ## ">" )
243
+ define class "<unparsed-" ## ?name ("<" ## ?name, "<unparsed-" ## ?superframe)
244
244
// sadly, inherited slots can't specify a type (and generate a warning if you try)
245
- inherited slot cache /* :: "<" ## ?name ## ">" */ = make ("<decoded-" ## ?name ## ">" ),
245
+ inherited slot cache /* :: "<" ## ?name */ = make ("<decoded-" ## ?name),
246
246
init-keyword: cache:;
247
247
end ; }
248
248
end ;
@@ -266,6 +266,8 @@ define macro unparsed-frame-field-generator
266
266
end ;
267
267
end ;
268
268
269
+ ignore(?name);
270
+
269
271
define inline method ?name ## "-setter"
270
272
(value, mframe :: ?frame-type) => (res)
271
273
mframe.cache.?name := value;
@@ -274,6 +276,9 @@ define macro unparsed-frame-field-generator
274
276
assemble-field-into(frame-field.field, mframe, subsequence(mframe.packet, start: start-offset(frame-field)));
275
277
value;
276
278
end ;
279
+
280
+ ignore(?name ## "-setter" );
281
+
277
282
}
278
283
end ;
279
284
@@ -307,6 +312,8 @@ define macro enum-frame-field-generator
307
312
end ;
308
313
end ;
309
314
315
+ ignore(?name);
316
+
310
317
define inline method ?name ## "-setter"
311
318
(value :: <symbol> , mframe :: "<decoded-" ## ?frame-type) => (res)
312
319
let field = fields(mframe)[?field-index];
@@ -326,6 +333,9 @@ define macro enum-frame-field-generator
326
333
let val :: <integer> = enum-field-symbol-to-int(field, value);
327
334
?name ## "-setter" (val, mframe)
328
335
end ;
336
+
337
+ ignore(?name ## "-setter" );
338
+
329
339
}
330
340
end ;
331
341
@@ -361,6 +371,7 @@ define method parse-frame-field
361
371
// frame-field.field.field-name, start, end-of-field, full-frame-size);
362
372
end-of-field := full-frame-size;
363
373
end ;
374
+ // format-out(" calling subsequence with start %d end %d (frame-size %d, my-length %d)\n", start, end-of-field, full-frame-size, my-length);
364
375
let (value, length)
365
376
= parse-frame-field-aux(frame-field.field,
366
377
frame-field.frame,
@@ -564,28 +575,30 @@ define macro summary-generator
564
575
end ;
565
576
566
577
define macro container-frame-constructor
567
- { container-frame-constructor(?:name) }
578
+ { container-frame-constructor("<" ## ?:name ## ">" ) }
568
579
=> { define inline method ?name (#rest args)
569
580
apply (make , "<" ## ?name ## ">" , args)
570
- end }
581
+ end ;
582
+
583
+ ignore(?name); }
571
584
end ;
572
585
573
586
define macro binary-data-definer
574
587
{ define ?attrs:* binary-data ?:name (?superprotocol:name)
575
588
summary ?summary:* ;
576
589
?fields:*
577
590
end }
578
- => { summary-generator("<" ## ?name ## ">" ; ?summary);
591
+ => { summary-generator(?name; ?summary);
579
592
define ?attrs binary-data ?name (?superprotocol) ?fields end ; }
580
593
581
- { define ?attrs:* binary-data ?:name (container-frame) end }
582
- => { define abstract class "<" ## ?name ## ">" (<container-frame>) end ;
594
+ { define ?attrs:* binary-data "<" ## ?:name (< container-frame> ) end }
595
+ => { define abstract class "<" ## ?name (<container-frame>) end ;
583
596
584
- define abstract class "<decoded-" ## ?name ## ">"
585
- ("<" ## ?name ## ">" , <decoded-container-frame>)
597
+ define abstract class "<decoded-" ## ?name
598
+ ("<" ## ?name, <decoded-container-frame>)
586
599
end ;
587
600
588
- gen-classes(?name; container-frame); }
601
+ gen-classes("<" ## ?name; < container-frame> ); }
589
602
590
603
{ define ?attrs:* binary-data ?:name (?superprotocol:name)
591
604
over ?super:name ?magic:expression;
@@ -596,11 +609,11 @@ define macro binary-data-definer
596
609
define method lookup-layer
597
610
(frame :: subclass(?super), value == ?magic)
598
611
=> (class :: <class> )
599
- "<" ## ?name ## ">"
612
+ ?name
600
613
end ;
601
614
602
615
define method reverse-lookup-layer
603
- (frame :: subclass(?super), payload :: "<" ## ?name ## ">" )
616
+ (frame :: subclass(?super), payload :: ?name)
604
617
=> (value :: <integer> )
605
618
?magic
606
619
end ; }
@@ -612,25 +625,25 @@ define macro binary-data-definer
612
625
=> { define ?attrs binary-data ?name (?superprotocol) ?fields end ;
613
626
614
627
define inline method container-frame-size
615
- (?=frame :: "<" ## ?name ## ">" ) => (res :: <integer> )
628
+ (?=frame :: ?name) => (res :: <integer> )
616
629
?container-frame-length
617
630
end ; }
618
631
619
- { define ?attrs:* binary-data ?:name (?superprotocol:name)
632
+ { define ?attrs:* binary-data "<" ## ?:name ("<" ## ?superprotocol:name)
620
633
?fields:*
621
634
end }
622
- => { real-class-definer(?attrs; "<" ## ?name ## ">" ; "<" ## ?superprotocol ## ">" ; ?fields);
635
+ => { real-class-definer(?attrs; "<" ## ?name; "<" ## ?superprotocol; ?fields);
623
636
624
- decoded-class-definer("<decoded-" ## ?name ## ">" ;
625
- "<" ## ?name ## ">" , "<decoded-" ## ?superprotocol ## ">" ;
637
+ decoded-class-definer("<decoded-" ## ?name;
638
+ "<" ## ?name, "<decoded-" ## ?superprotocol;
626
639
?fields);
627
640
628
- gen-classes(?name; ?superprotocol);
641
+ gen-classes("<" ## ?name; "<" ## ?superprotocol);
629
642
630
- frame-field-generator("<unparsed-" ## ?name ## ">" ;
631
- field-count("<unparsed-" ## ?superprotocol ## ">" );
643
+ frame-field-generator("<unparsed-" ## ?name;
644
+ field-count("<unparsed-" ## ?superprotocol);
632
645
?fields);
633
646
634
- container-frame-constructor(?name); }
647
+ container-frame-constructor("<" ## ?name); }
635
648
end ;
636
649
0 commit comments