brighterscript 0.69.12 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/LanguageServer.d.ts +3 -1
- package/dist/LanguageServer.js +32 -19
- package/dist/LanguageServer.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.js +9 -3
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +219 -168
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.spec.js +8 -6
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +8 -0
- package/dist/lsp/ProjectManager.js +7 -5
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/ProjectManager.spec.js +128 -0
- package/dist/lsp/ProjectManager.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +11 -1
- package/dist/parser/Statement.js +54 -37
- package/dist/parser/Statement.js.map +1 -1
- package/package.json +2 -2
|
@@ -224,12 +224,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
224
224
|
end sub
|
|
225
225
|
end class
|
|
226
226
|
`, `
|
|
227
|
+
sub __Animal_method_new()
|
|
228
|
+
m.species1 = "Animal"
|
|
229
|
+
print "From Animal: " + m.species
|
|
230
|
+
end sub
|
|
227
231
|
function __Animal_builder()
|
|
228
232
|
instance = {}
|
|
229
|
-
instance.new =
|
|
230
|
-
m.species1 = "Animal"
|
|
231
|
-
print "From Animal: " + m.species
|
|
232
|
-
end sub
|
|
233
|
+
instance.new = __Animal_method_new
|
|
233
234
|
return instance
|
|
234
235
|
end function
|
|
235
236
|
function Animal()
|
|
@@ -237,14 +238,15 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
237
238
|
instance.new()
|
|
238
239
|
return instance
|
|
239
240
|
end function
|
|
241
|
+
sub __Duck_method_new()
|
|
242
|
+
m.super0_new()
|
|
243
|
+
m.species2 = "Duck"
|
|
244
|
+
print "From Duck: " + m.species
|
|
245
|
+
end sub
|
|
240
246
|
function __Duck_builder()
|
|
241
247
|
instance = __Animal_builder()
|
|
242
248
|
instance.super0_new = instance.new
|
|
243
|
-
instance.new =
|
|
244
|
-
m.super0_new()
|
|
245
|
-
m.species2 = "Duck"
|
|
246
|
-
print "From Duck: " + m.species
|
|
247
|
-
end sub
|
|
249
|
+
instance.new = __Duck_method_new
|
|
248
250
|
return instance
|
|
249
251
|
end function
|
|
250
252
|
function Duck()
|
|
@@ -265,10 +267,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
265
267
|
end sub
|
|
266
268
|
end class
|
|
267
269
|
`, `
|
|
270
|
+
sub __Animal_method_new()
|
|
271
|
+
end sub
|
|
268
272
|
function __Animal_builder()
|
|
269
273
|
instance = {}
|
|
270
|
-
instance.new =
|
|
271
|
-
end sub
|
|
274
|
+
instance.new = __Animal_method_new
|
|
272
275
|
return instance
|
|
273
276
|
end function
|
|
274
277
|
function Animal()
|
|
@@ -276,13 +279,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
276
279
|
instance.new()
|
|
277
280
|
return instance
|
|
278
281
|
end function
|
|
282
|
+
sub __Duck_method_new()
|
|
283
|
+
'comment should not cause double super call
|
|
284
|
+
m.super0_new()
|
|
285
|
+
end sub
|
|
279
286
|
function __Duck_builder()
|
|
280
287
|
instance = __Animal_builder()
|
|
281
288
|
instance.super0_new = instance.new
|
|
282
|
-
instance.new =
|
|
283
|
-
'comment should not cause double super call
|
|
284
|
-
m.super0_new()
|
|
285
|
-
end sub
|
|
289
|
+
instance.new = __Duck_method_new
|
|
286
290
|
return instance
|
|
287
291
|
end function
|
|
288
292
|
function Duck()
|
|
@@ -303,10 +307,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
303
307
|
end sub
|
|
304
308
|
end class
|
|
305
309
|
`, `
|
|
310
|
+
sub __Animal_method_new()
|
|
311
|
+
end sub
|
|
306
312
|
function __Animal_builder()
|
|
307
313
|
instance = {}
|
|
308
|
-
instance.new =
|
|
309
|
-
end sub
|
|
314
|
+
instance.new = __Animal_method_new
|
|
310
315
|
return instance
|
|
311
316
|
end function
|
|
312
317
|
function Animal()
|
|
@@ -314,13 +319,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
314
319
|
instance.new()
|
|
315
320
|
return instance
|
|
316
321
|
end function
|
|
322
|
+
sub __Duck_method_new()
|
|
323
|
+
print "I am a statement which does not use m"
|
|
324
|
+
m.super0_new()
|
|
325
|
+
end sub
|
|
317
326
|
function __Duck_builder()
|
|
318
327
|
instance = __Animal_builder()
|
|
319
328
|
instance.super0_new = instance.new
|
|
320
|
-
instance.new =
|
|
321
|
-
print "I am a statement which does not use m"
|
|
322
|
-
m.super0_new()
|
|
323
|
-
end sub
|
|
329
|
+
instance.new = __Duck_method_new
|
|
324
330
|
return instance
|
|
325
331
|
end function
|
|
326
332
|
function Duck()
|
|
@@ -342,11 +348,12 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
342
348
|
className3 = "BabyDuck"
|
|
343
349
|
end class
|
|
344
350
|
`, `
|
|
351
|
+
sub __Animal_method_new()
|
|
352
|
+
m.className1 = "Animal"
|
|
353
|
+
end sub
|
|
345
354
|
function __Animal_builder()
|
|
346
355
|
instance = {}
|
|
347
|
-
instance.new =
|
|
348
|
-
m.className1 = "Animal"
|
|
349
|
-
end sub
|
|
356
|
+
instance.new = __Animal_method_new
|
|
350
357
|
return instance
|
|
351
358
|
end function
|
|
352
359
|
function Animal()
|
|
@@ -354,13 +361,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
354
361
|
instance.new()
|
|
355
362
|
return instance
|
|
356
363
|
end function
|
|
364
|
+
sub __Duck_method_new()
|
|
365
|
+
m.super0_new()
|
|
366
|
+
m.className2 = "Duck"
|
|
367
|
+
end sub
|
|
357
368
|
function __Duck_builder()
|
|
358
369
|
instance = __Animal_builder()
|
|
359
370
|
instance.super0_new = instance.new
|
|
360
|
-
instance.new =
|
|
361
|
-
m.super0_new()
|
|
362
|
-
m.className2 = "Duck"
|
|
363
|
-
end sub
|
|
371
|
+
instance.new = __Duck_method_new
|
|
364
372
|
return instance
|
|
365
373
|
end function
|
|
366
374
|
function Duck()
|
|
@@ -368,13 +376,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
368
376
|
instance.new()
|
|
369
377
|
return instance
|
|
370
378
|
end function
|
|
379
|
+
sub __BabyDuck_method_new()
|
|
380
|
+
m.super1_new()
|
|
381
|
+
m.className3 = "BabyDuck"
|
|
382
|
+
end sub
|
|
371
383
|
function __BabyDuck_builder()
|
|
372
384
|
instance = __Duck_builder()
|
|
373
385
|
instance.super1_new = instance.new
|
|
374
|
-
instance.new =
|
|
375
|
-
m.super1_new()
|
|
376
|
-
m.className3 = "BabyDuck"
|
|
377
|
-
end sub
|
|
386
|
+
instance.new = __BabyDuck_method_new
|
|
378
387
|
return instance
|
|
379
388
|
end function
|
|
380
389
|
function BabyDuck()
|
|
@@ -393,10 +402,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
393
402
|
end class
|
|
394
403
|
end namespace
|
|
395
404
|
`, `
|
|
405
|
+
sub __Birds_WaterFowl_Duck_method_new()
|
|
406
|
+
end sub
|
|
396
407
|
function __Birds_WaterFowl_Duck_builder()
|
|
397
408
|
instance = {}
|
|
398
|
-
instance.new =
|
|
399
|
-
end sub
|
|
409
|
+
instance.new = __Birds_WaterFowl_Duck_method_new
|
|
400
410
|
return instance
|
|
401
411
|
end function
|
|
402
412
|
function Birds_WaterFowl_Duck()
|
|
@@ -404,12 +414,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
404
414
|
instance.new()
|
|
405
415
|
return instance
|
|
406
416
|
end function
|
|
417
|
+
sub __Birds_WaterFowl_BabyDuck_method_new()
|
|
418
|
+
m.super0_new()
|
|
419
|
+
end sub
|
|
407
420
|
function __Birds_WaterFowl_BabyDuck_builder()
|
|
408
421
|
instance = __Birds_WaterFowl_Duck_builder()
|
|
409
422
|
instance.super0_new = instance.new
|
|
410
|
-
instance.new =
|
|
411
|
-
m.super0_new()
|
|
412
|
-
end sub
|
|
423
|
+
instance.new = __Birds_WaterFowl_BabyDuck_method_new
|
|
413
424
|
return instance
|
|
414
425
|
end function
|
|
415
426
|
function Birds_WaterFowl_BabyDuck()
|
|
@@ -424,10 +435,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
424
435
|
class Duck
|
|
425
436
|
end class
|
|
426
437
|
`, `
|
|
438
|
+
sub __Duck_method_new()
|
|
439
|
+
end sub
|
|
427
440
|
function __Duck_builder()
|
|
428
441
|
instance = {}
|
|
429
|
-
instance.new =
|
|
430
|
-
end sub
|
|
442
|
+
instance.new = __Duck_method_new
|
|
431
443
|
return instance
|
|
432
444
|
end function
|
|
433
445
|
function Duck()
|
|
@@ -454,10 +466,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
454
466
|
class BabyDuck extends Duck
|
|
455
467
|
end class
|
|
456
468
|
`, `
|
|
469
|
+
sub __Animal_method_new(p1)
|
|
470
|
+
end sub
|
|
457
471
|
function __Animal_builder()
|
|
458
472
|
instance = {}
|
|
459
|
-
instance.new =
|
|
460
|
-
end sub
|
|
473
|
+
instance.new = __Animal_method_new
|
|
461
474
|
return instance
|
|
462
475
|
end function
|
|
463
476
|
function Animal(p1)
|
|
@@ -465,12 +478,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
465
478
|
instance.new(p1)
|
|
466
479
|
return instance
|
|
467
480
|
end function
|
|
481
|
+
sub __Bird_method_new(p1)
|
|
482
|
+
m.super0_new(p1)
|
|
483
|
+
end sub
|
|
468
484
|
function __Bird_builder()
|
|
469
485
|
instance = __Animal_builder()
|
|
470
486
|
instance.super0_new = instance.new
|
|
471
|
-
instance.new =
|
|
472
|
-
m.super0_new(p1)
|
|
473
|
-
end sub
|
|
487
|
+
instance.new = __Bird_method_new
|
|
474
488
|
return instance
|
|
475
489
|
end function
|
|
476
490
|
function Bird(p1)
|
|
@@ -478,13 +492,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
478
492
|
instance.new(p1)
|
|
479
493
|
return instance
|
|
480
494
|
end function
|
|
495
|
+
sub __Duck_method_new(p1, p2)
|
|
496
|
+
m.super1_new(p1)
|
|
497
|
+
m.p2 = p2
|
|
498
|
+
end sub
|
|
481
499
|
function __Duck_builder()
|
|
482
500
|
instance = __Bird_builder()
|
|
483
501
|
instance.super1_new = instance.new
|
|
484
|
-
instance.new =
|
|
485
|
-
m.super1_new(p1)
|
|
486
|
-
m.p2 = p2
|
|
487
|
-
end sub
|
|
502
|
+
instance.new = __Duck_method_new
|
|
488
503
|
return instance
|
|
489
504
|
end function
|
|
490
505
|
function Duck(p1, p2)
|
|
@@ -492,12 +507,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
492
507
|
instance.new(p1, p2)
|
|
493
508
|
return instance
|
|
494
509
|
end function
|
|
510
|
+
sub __BabyDuck_method_new(p1, p2)
|
|
511
|
+
m.super2_new(p1, p2)
|
|
512
|
+
end sub
|
|
495
513
|
function __BabyDuck_builder()
|
|
496
514
|
instance = __Duck_builder()
|
|
497
515
|
instance.super2_new = instance.new
|
|
498
|
-
instance.new =
|
|
499
|
-
m.super2_new(p1, p2)
|
|
500
|
-
end sub
|
|
516
|
+
instance.new = __BabyDuck_method_new
|
|
501
517
|
return instance
|
|
502
518
|
end function
|
|
503
519
|
function BabyDuck(p1, p2)
|
|
@@ -514,10 +530,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
514
530
|
end sub
|
|
515
531
|
end class
|
|
516
532
|
`, `
|
|
533
|
+
sub __Duck_method_new(name as string, age as integer)
|
|
534
|
+
end sub
|
|
517
535
|
function __Duck_builder()
|
|
518
536
|
instance = {}
|
|
519
|
-
instance.new =
|
|
520
|
-
end sub
|
|
537
|
+
instance.new = __Duck_method_new
|
|
521
538
|
return instance
|
|
522
539
|
end function
|
|
523
540
|
function Duck(name as string, age as integer)
|
|
@@ -541,10 +558,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
541
558
|
end sub
|
|
542
559
|
end class
|
|
543
560
|
`, `
|
|
561
|
+
sub __Animal_method_new(name as string)
|
|
562
|
+
end sub
|
|
544
563
|
function __Animal_builder()
|
|
545
564
|
instance = {}
|
|
546
|
-
instance.new =
|
|
547
|
-
end sub
|
|
565
|
+
instance.new = __Animal_method_new
|
|
548
566
|
return instance
|
|
549
567
|
end function
|
|
550
568
|
function Animal(name as string)
|
|
@@ -552,13 +570,14 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
552
570
|
instance.new(name)
|
|
553
571
|
return instance
|
|
554
572
|
end function
|
|
573
|
+
sub __Duck_method_new(name as string, age as integer)
|
|
574
|
+
m.super0_new(name)
|
|
575
|
+
m.super0_DoSomething()
|
|
576
|
+
end sub
|
|
555
577
|
function __Duck_builder()
|
|
556
578
|
instance = __Animal_builder()
|
|
557
579
|
instance.super0_new = instance.new
|
|
558
|
-
instance.new =
|
|
559
|
-
m.super0_new(name)
|
|
560
|
-
m.super0_DoSomething()
|
|
561
|
-
end sub
|
|
580
|
+
instance.new = __Duck_method_new
|
|
562
581
|
return instance
|
|
563
582
|
end function
|
|
564
583
|
function Duck(name as string, age as integer)
|
|
@@ -587,13 +606,15 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
587
606
|
end function
|
|
588
607
|
end class
|
|
589
608
|
`, `
|
|
609
|
+
sub __Creature_method_new(name as string)
|
|
610
|
+
end sub
|
|
611
|
+
function __Creature_method_sayHello(text)
|
|
612
|
+
? text
|
|
613
|
+
end function
|
|
590
614
|
function __Creature_builder()
|
|
591
615
|
instance = {}
|
|
592
|
-
instance.new =
|
|
593
|
-
|
|
594
|
-
instance.sayHello = function(text)
|
|
595
|
-
? text
|
|
596
|
-
end function
|
|
616
|
+
instance.new = __Creature_method_new
|
|
617
|
+
instance.sayHello = __Creature_method_sayHello
|
|
597
618
|
return instance
|
|
598
619
|
end function
|
|
599
620
|
function Creature(name as string)
|
|
@@ -601,19 +622,21 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
601
622
|
instance.new(name)
|
|
602
623
|
return instance
|
|
603
624
|
end function
|
|
625
|
+
sub __Duck_method_new(name as string)
|
|
626
|
+
m.super0_new(name)
|
|
627
|
+
end sub
|
|
628
|
+
function __Duck_method_sayHello(text)
|
|
629
|
+
text = "The duck says " + text
|
|
630
|
+
if text <> invalid
|
|
631
|
+
m.super0_sayHello(text)
|
|
632
|
+
end if
|
|
633
|
+
end function
|
|
604
634
|
function __Duck_builder()
|
|
605
635
|
instance = __Creature_builder()
|
|
606
636
|
instance.super0_new = instance.new
|
|
607
|
-
instance.new =
|
|
608
|
-
m.super0_new(name)
|
|
609
|
-
end sub
|
|
637
|
+
instance.new = __Duck_method_new
|
|
610
638
|
instance.super0_sayHello = instance.sayHello
|
|
611
|
-
instance.sayHello =
|
|
612
|
-
text = "The duck says " + text
|
|
613
|
-
if text <> invalid
|
|
614
|
-
m.super0_sayHello(text)
|
|
615
|
-
end if
|
|
616
|
-
end function
|
|
639
|
+
instance.sayHello = __Duck_method_sayHello
|
|
617
640
|
return instance
|
|
618
641
|
end function
|
|
619
642
|
function Duck(name as string)
|
|
@@ -687,10 +710,11 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
687
710
|
end sub
|
|
688
711
|
end class
|
|
689
712
|
`, `
|
|
713
|
+
sub __Parent_method_new()
|
|
714
|
+
end sub
|
|
690
715
|
function __Parent_builder()
|
|
691
716
|
instance = {}
|
|
692
|
-
instance.new =
|
|
693
|
-
end sub
|
|
717
|
+
instance.new = __Parent_method_new
|
|
694
718
|
return instance
|
|
695
719
|
end function
|
|
696
720
|
function Parent()
|
|
@@ -698,12 +722,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
698
722
|
instance.new()
|
|
699
723
|
return instance
|
|
700
724
|
end function
|
|
725
|
+
sub __Child_method_new()
|
|
726
|
+
m.super0_new()
|
|
727
|
+
end sub
|
|
701
728
|
function __Child_builder()
|
|
702
729
|
instance = __Parent_builder()
|
|
703
730
|
instance.super0_new = instance.new
|
|
704
|
-
instance.new =
|
|
705
|
-
m.super0_new()
|
|
706
|
-
end sub
|
|
731
|
+
instance.new = __Child_method_new
|
|
707
732
|
return instance
|
|
708
733
|
end function
|
|
709
734
|
function Child()
|
|
@@ -724,11 +749,12 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
724
749
|
name = "Bob"
|
|
725
750
|
end class
|
|
726
751
|
`, `
|
|
752
|
+
sub __Person_method_new()
|
|
753
|
+
m.name = "Bob"
|
|
754
|
+
end sub
|
|
727
755
|
function __Person_builder()
|
|
728
756
|
instance = {}
|
|
729
|
-
instance.new =
|
|
730
|
-
m.name = "Bob"
|
|
731
|
-
end sub
|
|
757
|
+
instance.new = __Person_method_new
|
|
732
758
|
return instance
|
|
733
759
|
end function
|
|
734
760
|
function Person()
|
|
@@ -783,15 +809,17 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
783
809
|
'> Waddling...\\nDewey moved 2 meters\\nFell over...I'm new at this
|
|
784
810
|
end sub
|
|
785
811
|
`, `
|
|
812
|
+
sub __Animal_method_new(name as string)
|
|
813
|
+
m.name = invalid
|
|
814
|
+
m.name = name
|
|
815
|
+
end sub
|
|
816
|
+
sub __Animal_method_move(distanceInMeters as integer)
|
|
817
|
+
print m.name + " moved " + distanceInMeters.ToStr() + " meters"
|
|
818
|
+
end sub
|
|
786
819
|
function __Animal_builder()
|
|
787
820
|
instance = {}
|
|
788
|
-
instance.new =
|
|
789
|
-
|
|
790
|
-
m.name = name
|
|
791
|
-
end sub
|
|
792
|
-
instance.move = sub(distanceInMeters as integer)
|
|
793
|
-
print m.name + " moved " + distanceInMeters.ToStr() + " meters"
|
|
794
|
-
end sub
|
|
821
|
+
instance.new = __Animal_method_new
|
|
822
|
+
instance.move = __Animal_method_move
|
|
795
823
|
return instance
|
|
796
824
|
end function
|
|
797
825
|
function Animal(name as string)
|
|
@@ -799,17 +827,19 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
799
827
|
instance.new(name)
|
|
800
828
|
return instance
|
|
801
829
|
end function
|
|
830
|
+
sub __Duck_method_new(name as string)
|
|
831
|
+
m.super0_new(name)
|
|
832
|
+
end sub
|
|
833
|
+
sub __Duck_method_move(distanceInMeters as integer)
|
|
834
|
+
print "Waddling..."
|
|
835
|
+
m.super0_move(distanceInMeters)
|
|
836
|
+
end sub
|
|
802
837
|
function __Duck_builder()
|
|
803
838
|
instance = __Animal_builder()
|
|
804
839
|
instance.super0_new = instance.new
|
|
805
|
-
instance.new =
|
|
806
|
-
m.super0_new(name)
|
|
807
|
-
end sub
|
|
840
|
+
instance.new = __Duck_method_new
|
|
808
841
|
instance.super0_move = instance.move
|
|
809
|
-
instance.move =
|
|
810
|
-
print "Waddling..."
|
|
811
|
-
m.super0_move(distanceInMeters)
|
|
812
|
-
end sub
|
|
842
|
+
instance.move = __Duck_method_move
|
|
813
843
|
return instance
|
|
814
844
|
end function
|
|
815
845
|
function Duck(name as string)
|
|
@@ -817,17 +847,19 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
817
847
|
instance.new(name)
|
|
818
848
|
return instance
|
|
819
849
|
end function
|
|
850
|
+
sub __BabyDuck_method_new(name as string)
|
|
851
|
+
m.super1_new(name)
|
|
852
|
+
end sub
|
|
853
|
+
sub __BabyDuck_method_move(distanceInMeters as integer)
|
|
854
|
+
m.super1_move(distanceInMeters)
|
|
855
|
+
print "Fell over...I'm new at this"
|
|
856
|
+
end sub
|
|
820
857
|
function __BabyDuck_builder()
|
|
821
858
|
instance = __Duck_builder()
|
|
822
859
|
instance.super1_new = instance.new
|
|
823
|
-
instance.new =
|
|
824
|
-
m.super1_new(name)
|
|
825
|
-
end sub
|
|
860
|
+
instance.new = __BabyDuck_method_new
|
|
826
861
|
instance.super1_move = instance.move
|
|
827
|
-
instance.move =
|
|
828
|
-
m.super1_move(distanceInMeters)
|
|
829
|
-
print "Fell over...I'm new at this"
|
|
830
|
-
end sub
|
|
862
|
+
instance.move = __BabyDuck_method_move
|
|
831
863
|
return instance
|
|
832
864
|
end function
|
|
833
865
|
function BabyDuck(name as string)
|
|
@@ -864,13 +896,15 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
864
896
|
end sub
|
|
865
897
|
end class
|
|
866
898
|
`, `
|
|
899
|
+
sub __Duck_method_new()
|
|
900
|
+
end sub
|
|
901
|
+
sub __Duck_method_walk(meters as integer)
|
|
902
|
+
print "Walked " + meters.ToStr() + " meters"
|
|
903
|
+
end sub
|
|
867
904
|
function __Duck_builder()
|
|
868
905
|
instance = {}
|
|
869
|
-
instance.new =
|
|
870
|
-
|
|
871
|
-
instance.walk = sub(meters as integer)
|
|
872
|
-
print "Walked " + meters.ToStr() + " meters"
|
|
873
|
-
end sub
|
|
906
|
+
instance.new = __Duck_method_new
|
|
907
|
+
instance.walk = __Duck_method_walk
|
|
874
908
|
return instance
|
|
875
909
|
end function
|
|
876
910
|
function Duck()
|
|
@@ -878,17 +912,19 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
878
912
|
instance.new()
|
|
879
913
|
return instance
|
|
880
914
|
end function
|
|
915
|
+
sub __BabyDuck_method_new()
|
|
916
|
+
m.super0_new()
|
|
917
|
+
end sub
|
|
918
|
+
sub __BabyDuck_method_walk(meters as integer)
|
|
919
|
+
print "Tripped"
|
|
920
|
+
m.super0_walk(meters)
|
|
921
|
+
end sub
|
|
881
922
|
function __BabyDuck_builder()
|
|
882
923
|
instance = __Duck_builder()
|
|
883
924
|
instance.super0_new = instance.new
|
|
884
|
-
instance.new =
|
|
885
|
-
m.super0_new()
|
|
886
|
-
end sub
|
|
925
|
+
instance.new = __BabyDuck_method_new
|
|
887
926
|
instance.super0_walk = instance.walk
|
|
888
|
-
instance.walk =
|
|
889
|
-
print "Tripped"
|
|
890
|
-
m.super0_walk(meters)
|
|
891
|
-
end sub
|
|
927
|
+
instance.walk = __BabyDuck_method_walk
|
|
892
928
|
return instance
|
|
893
929
|
end function
|
|
894
930
|
function BabyDuck()
|
|
@@ -910,11 +946,12 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
910
946
|
end enum
|
|
911
947
|
end namespace
|
|
912
948
|
`, `
|
|
949
|
+
sub __MyNS_HasEnumKlass_method_new()
|
|
950
|
+
m.enumValue = "A"
|
|
951
|
+
end sub
|
|
913
952
|
function __MyNS_HasEnumKlass_builder()
|
|
914
953
|
instance = {}
|
|
915
|
-
instance.new =
|
|
916
|
-
m.enumValue = "A"
|
|
917
|
-
end sub
|
|
954
|
+
instance.new = __MyNS_HasEnumKlass_method_new
|
|
918
955
|
return instance
|
|
919
956
|
end function
|
|
920
957
|
function MyNS_HasEnumKlass()
|
|
@@ -943,12 +980,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
943
980
|
end enum
|
|
944
981
|
end namespace
|
|
945
982
|
`, `
|
|
983
|
+
sub __MyNS_SubKlass_method_new()
|
|
984
|
+
m.super0_new("B")
|
|
985
|
+
end sub
|
|
946
986
|
function __MyNS_SubKlass_builder()
|
|
947
987
|
instance = __MyNS_SuperKlass_builder()
|
|
948
988
|
instance.super0_new = instance.new
|
|
949
|
-
instance.new =
|
|
950
|
-
m.super0_new("B")
|
|
951
|
-
end sub
|
|
989
|
+
instance.new = __MyNS_SubKlass_method_new
|
|
952
990
|
return instance
|
|
953
991
|
end function
|
|
954
992
|
function MyNS_SubKlass()
|
|
@@ -956,11 +994,12 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
956
994
|
instance.new()
|
|
957
995
|
return instance
|
|
958
996
|
end function
|
|
997
|
+
sub __MyNS_SuperKlass_method_new(enumVal)
|
|
998
|
+
print enumVal
|
|
999
|
+
end sub
|
|
959
1000
|
function __MyNS_SuperKlass_builder()
|
|
960
1001
|
instance = {}
|
|
961
|
-
instance.new =
|
|
962
|
-
print enumVal
|
|
963
|
-
end sub
|
|
1002
|
+
instance.new = __MyNS_SuperKlass_method_new
|
|
964
1003
|
return instance
|
|
965
1004
|
end function
|
|
966
1005
|
function MyNS_SuperKlass(enumVal)
|
|
@@ -986,16 +1025,17 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
986
1025
|
end enum
|
|
987
1026
|
end namespace
|
|
988
1027
|
`, `
|
|
1028
|
+
sub __MyNS_HasEnumKlass_method_new()
|
|
1029
|
+
m.myArray = [
|
|
1030
|
+
true
|
|
1031
|
+
true
|
|
1032
|
+
]
|
|
1033
|
+
m.myArray[0] = true
|
|
1034
|
+
m.myArray[1] = false
|
|
1035
|
+
end sub
|
|
989
1036
|
function __MyNS_HasEnumKlass_builder()
|
|
990
1037
|
instance = {}
|
|
991
|
-
instance.new =
|
|
992
|
-
m.myArray = [
|
|
993
|
-
true
|
|
994
|
-
true
|
|
995
|
-
]
|
|
996
|
-
m.myArray[0] = true
|
|
997
|
-
m.myArray[1] = false
|
|
998
|
-
end sub
|
|
1038
|
+
instance.new = __MyNS_HasEnumKlass_method_new
|
|
999
1039
|
return instance
|
|
1000
1040
|
end function
|
|
1001
1041
|
function MyNS_HasEnumKlass()
|
|
@@ -1021,16 +1061,17 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1021
1061
|
end enum
|
|
1022
1062
|
end namespace
|
|
1023
1063
|
`, `
|
|
1064
|
+
sub __MyNS_HasEnumKlass_method_new()
|
|
1065
|
+
m.myArray = [
|
|
1066
|
+
true
|
|
1067
|
+
true
|
|
1068
|
+
]
|
|
1069
|
+
m.myArray[0] = true
|
|
1070
|
+
m.myArray[1] = false
|
|
1071
|
+
end sub
|
|
1024
1072
|
function __MyNS_HasEnumKlass_builder()
|
|
1025
1073
|
instance = {}
|
|
1026
|
-
instance.new =
|
|
1027
|
-
m.myArray = [
|
|
1028
|
-
true
|
|
1029
|
-
true
|
|
1030
|
-
]
|
|
1031
|
-
m.myArray[0] = true
|
|
1032
|
-
m.myArray[1] = false
|
|
1033
|
-
end sub
|
|
1074
|
+
instance.new = __MyNS_HasEnumKlass_method_new
|
|
1034
1075
|
return instance
|
|
1035
1076
|
end function
|
|
1036
1077
|
function MyNS_HasEnumKlass()
|
|
@@ -1135,13 +1176,15 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1135
1176
|
fsExtra.emptyDirSync(testHelpers_spec_2.stagingDir);
|
|
1136
1177
|
await program.transpile([], testHelpers_spec_2.stagingDir);
|
|
1137
1178
|
(0, chai_config_spec_1.expect)(fsExtra.readFileSync((0, util_1.standardizePath) `${testHelpers_spec_2.stagingDir}/source/lib.brs`).toString().trimEnd()).to.eql((0, testHelpers_spec_1.trim) `
|
|
1179
|
+
sub __Being_method_new()
|
|
1180
|
+
end sub
|
|
1181
|
+
function __Being_method_think()
|
|
1182
|
+
print "thinking..."
|
|
1183
|
+
end function
|
|
1138
1184
|
function __Being_builder()
|
|
1139
1185
|
instance = {}
|
|
1140
|
-
instance.new =
|
|
1141
|
-
|
|
1142
|
-
instance.think = function()
|
|
1143
|
-
print "thinking..."
|
|
1144
|
-
end function
|
|
1186
|
+
instance.new = __Being_method_new
|
|
1187
|
+
instance.think = __Being_method_think
|
|
1145
1188
|
return instance
|
|
1146
1189
|
end function
|
|
1147
1190
|
function Being()
|
|
@@ -1149,15 +1192,17 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1149
1192
|
instance.new()
|
|
1150
1193
|
return instance
|
|
1151
1194
|
end function
|
|
1195
|
+
sub __Human_method_new()
|
|
1196
|
+
m.super0_new()
|
|
1197
|
+
end sub
|
|
1198
|
+
function __Human_method_think()
|
|
1199
|
+
m.super0_think()
|
|
1200
|
+
end function
|
|
1152
1201
|
function __Human_builder()
|
|
1153
1202
|
instance = __Being_builder()
|
|
1154
1203
|
instance.super0_new = instance.new
|
|
1155
|
-
instance.new =
|
|
1156
|
-
|
|
1157
|
-
end sub
|
|
1158
|
-
instance.think = function()
|
|
1159
|
-
m.super0_think()
|
|
1160
|
-
end function
|
|
1204
|
+
instance.new = __Human_method_new
|
|
1205
|
+
instance.think = __Human_method_think
|
|
1161
1206
|
return instance
|
|
1162
1207
|
end function
|
|
1163
1208
|
function Human()
|
|
@@ -1578,12 +1623,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1578
1623
|
end class
|
|
1579
1624
|
end namespace
|
|
1580
1625
|
`, `
|
|
1626
|
+
sub __App_ClassC_method_new()
|
|
1627
|
+
m.super1_new()
|
|
1628
|
+
end sub
|
|
1581
1629
|
function __App_ClassC_builder()
|
|
1582
1630
|
instance = __App_ClassB_builder()
|
|
1583
1631
|
instance.super1_new = instance.new
|
|
1584
|
-
instance.new =
|
|
1585
|
-
m.super1_new()
|
|
1586
|
-
end sub
|
|
1632
|
+
instance.new = __App_ClassC_method_new
|
|
1587
1633
|
return instance
|
|
1588
1634
|
end function
|
|
1589
1635
|
function App_ClassC()
|
|
@@ -1604,12 +1650,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1604
1650
|
end class
|
|
1605
1651
|
end namespace
|
|
1606
1652
|
`, `
|
|
1653
|
+
sub __App_ClassB_method_new()
|
|
1654
|
+
m.super0_new()
|
|
1655
|
+
end sub
|
|
1607
1656
|
function __App_ClassB_builder()
|
|
1608
1657
|
instance = __ClassA_builder()
|
|
1609
1658
|
instance.super0_new = instance.new
|
|
1610
|
-
instance.new =
|
|
1611
|
-
m.super0_new()
|
|
1612
|
-
end sub
|
|
1659
|
+
instance.new = __App_ClassB_method_new
|
|
1613
1660
|
return instance
|
|
1614
1661
|
end function
|
|
1615
1662
|
function App_ClassB()
|
|
@@ -1672,11 +1719,12 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1672
1719
|
end class
|
|
1673
1720
|
end namespace
|
|
1674
1721
|
`, `
|
|
1722
|
+
sub __App_CoreClass_method_new()
|
|
1723
|
+
print "CoreClass.new()"
|
|
1724
|
+
end sub
|
|
1675
1725
|
function __App_CoreClass_builder()
|
|
1676
1726
|
instance = {}
|
|
1677
|
-
instance.new =
|
|
1678
|
-
print "CoreClass.new()"
|
|
1679
|
-
end sub
|
|
1727
|
+
instance.new = __App_CoreClass_method_new
|
|
1680
1728
|
return instance
|
|
1681
1729
|
end function
|
|
1682
1730
|
function App_CoreClass()
|
|
@@ -1684,12 +1732,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1684
1732
|
instance.new()
|
|
1685
1733
|
return instance
|
|
1686
1734
|
end function
|
|
1735
|
+
sub __App_Logic_FirstClass_method_new()
|
|
1736
|
+
m.super0_new()
|
|
1737
|
+
end sub
|
|
1687
1738
|
function __App_Logic_FirstClass_builder()
|
|
1688
1739
|
instance = __App_CoreClass_builder()
|
|
1689
1740
|
instance.super0_new = instance.new
|
|
1690
|
-
instance.new =
|
|
1691
|
-
m.super0_new()
|
|
1692
|
-
end sub
|
|
1741
|
+
instance.new = __App_Logic_FirstClass_method_new
|
|
1693
1742
|
return instance
|
|
1694
1743
|
end function
|
|
1695
1744
|
function App_Logic_FirstClass()
|
|
@@ -1697,12 +1746,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1697
1746
|
instance.new()
|
|
1698
1747
|
return instance
|
|
1699
1748
|
end function
|
|
1749
|
+
sub __App_Logic_SecondClass_method_new()
|
|
1750
|
+
m.super1_new()
|
|
1751
|
+
end sub
|
|
1700
1752
|
function __App_Logic_SecondClass_builder()
|
|
1701
1753
|
instance = __App_Logic_FirstClass_builder()
|
|
1702
1754
|
instance.super1_new = instance.new
|
|
1703
|
-
instance.new =
|
|
1704
|
-
m.super1_new()
|
|
1705
|
-
end sub
|
|
1755
|
+
instance.new = __App_Logic_SecondClass_method_new
|
|
1706
1756
|
return instance
|
|
1707
1757
|
end function
|
|
1708
1758
|
function App_Logic_SecondClass()
|
|
@@ -1710,12 +1760,13 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1710
1760
|
instance.new()
|
|
1711
1761
|
return instance
|
|
1712
1762
|
end function
|
|
1763
|
+
sub __App_OtherLogic_FinalClass_method_new()
|
|
1764
|
+
m.super2_new()
|
|
1765
|
+
end sub
|
|
1713
1766
|
function __App_OtherLogic_FinalClass_builder()
|
|
1714
1767
|
instance = __App_Logic_SecondClass_builder()
|
|
1715
1768
|
instance.super2_new = instance.new
|
|
1716
|
-
instance.new =
|
|
1717
|
-
m.super2_new()
|
|
1718
|
-
end sub
|
|
1769
|
+
instance.new = __App_OtherLogic_FinalClass_method_new
|
|
1719
1770
|
return instance
|
|
1720
1771
|
end function
|
|
1721
1772
|
function App_OtherLogic_FinalClass()
|