brighterscript 0.66.0-alpha.3 → 0.66.0-alpha.5

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.
Files changed (198) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/BusyStatusTracker.d.ts +31 -0
  3. package/dist/BusyStatusTracker.js +83 -0
  4. package/dist/BusyStatusTracker.js.map +1 -0
  5. package/dist/DiagnosticMessages.d.ts +6 -1
  6. package/dist/DiagnosticMessages.js +5 -0
  7. package/dist/DiagnosticMessages.js.map +1 -1
  8. package/dist/LanguageServer.d.ts +18 -0
  9. package/dist/LanguageServer.js +126 -57
  10. package/dist/LanguageServer.js.map +1 -1
  11. package/dist/Logger.d.ts +1 -1
  12. package/dist/Logger.js.map +1 -1
  13. package/dist/Program.d.ts +3 -8
  14. package/dist/Program.js +13 -55
  15. package/dist/Program.js.map +1 -1
  16. package/dist/ProgramBuilder.js +14 -2
  17. package/dist/ProgramBuilder.js.map +1 -1
  18. package/dist/Scope.d.ts +1 -13
  19. package/dist/Scope.js +10 -65
  20. package/dist/Scope.js.map +1 -1
  21. package/dist/SymbolTable.d.ts +12 -10
  22. package/dist/SymbolTable.js +33 -24
  23. package/dist/SymbolTable.js.map +1 -1
  24. package/dist/Throttler.d.ts +12 -0
  25. package/dist/Throttler.js +39 -0
  26. package/dist/Throttler.js.map +1 -1
  27. package/dist/astUtils/creators.js +5 -3
  28. package/dist/astUtils/creators.js.map +1 -1
  29. package/dist/astUtils/reflection.d.ts +3 -1
  30. package/dist/astUtils/reflection.js +12 -1
  31. package/dist/astUtils/reflection.js.map +1 -1
  32. package/dist/astUtils/reflection.spec.js +2 -1
  33. package/dist/astUtils/reflection.spec.js.map +1 -1
  34. package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
  35. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  36. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +39 -1
  37. package/dist/bscPlugin/completions/CompletionsProcessor.js +305 -3
  38. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  39. package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +1 -0
  40. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1369 -0
  41. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  42. package/dist/bscPlugin/hover/HoverProcessor.d.ts +9 -4
  43. package/dist/bscPlugin/hover/HoverProcessor.js +64 -67
  44. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  45. package/dist/bscPlugin/hover/HoverProcessor.spec.js +107 -4
  46. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  47. package/dist/bscPlugin/validation/BrsFileValidator.js +18 -15
  48. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  49. package/dist/bscPlugin/validation/ScopeValidator.d.ts +10 -1
  50. package/dist/bscPlugin/validation/ScopeValidator.js +85 -42
  51. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  52. package/dist/bscPlugin/validation/ScopeValidator.spec.js +307 -0
  53. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  54. package/dist/cli.js +9 -1
  55. package/dist/cli.js.map +1 -1
  56. package/dist/deferred.d.ts +1 -1
  57. package/dist/deferred.js.map +1 -1
  58. package/dist/diagnosticUtils.d.ts +7 -2
  59. package/dist/diagnosticUtils.js +43 -15
  60. package/dist/diagnosticUtils.js.map +1 -1
  61. package/dist/files/BrsFile.Class.spec.js +10 -8
  62. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  63. package/dist/files/BrsFile.d.ts +3 -20
  64. package/dist/files/BrsFile.js +7 -355
  65. package/dist/files/BrsFile.js.map +1 -1
  66. package/dist/files/BrsFile.spec.js +2 -248
  67. package/dist/files/BrsFile.spec.js.map +1 -1
  68. package/dist/files/XmlFile.d.ts +1 -6
  69. package/dist/files/XmlFile.js +0 -13
  70. package/dist/files/XmlFile.js.map +1 -1
  71. package/dist/files/XmlFile.spec.js +0 -36
  72. package/dist/files/XmlFile.spec.js.map +1 -1
  73. package/dist/globalCallables.js +9 -1
  74. package/dist/globalCallables.js.map +1 -1
  75. package/dist/index.d.ts +2 -0
  76. package/dist/index.js +2 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/interfaces.d.ts +12 -1
  79. package/dist/interfaces.js.map +1 -1
  80. package/dist/lexer/Lexer.d.ts +12 -0
  81. package/dist/lexer/Lexer.js +27 -2
  82. package/dist/lexer/Lexer.js.map +1 -1
  83. package/dist/lexer/Lexer.spec.js +40 -0
  84. package/dist/lexer/Lexer.spec.js.map +1 -1
  85. package/dist/lexer/Token.d.ts +4 -0
  86. package/dist/lexer/Token.js.map +1 -1
  87. package/dist/lexer/TokenKind.d.ts +4 -0
  88. package/dist/lexer/TokenKind.js +10 -1
  89. package/dist/lexer/TokenKind.js.map +1 -1
  90. package/dist/parser/AstNode.d.ts +8 -1
  91. package/dist/parser/AstNode.js +16 -0
  92. package/dist/parser/AstNode.js.map +1 -1
  93. package/dist/parser/Expression.d.ts +16 -1
  94. package/dist/parser/Expression.js +43 -1
  95. package/dist/parser/Expression.js.map +1 -1
  96. package/dist/parser/Parser.d.ts +7 -0
  97. package/dist/parser/Parser.js +46 -6
  98. package/dist/parser/Parser.js.map +1 -1
  99. package/dist/parser/Parser.spec.js +327 -3
  100. package/dist/parser/Parser.spec.js.map +1 -1
  101. package/dist/parser/SGTypes.d.ts +1 -1
  102. package/dist/parser/Statement.d.ts +16 -3
  103. package/dist/parser/Statement.js +53 -15
  104. package/dist/parser/Statement.js.map +1 -1
  105. package/dist/parser/tests/Parser.spec.js +2 -1
  106. package/dist/parser/tests/Parser.spec.js.map +1 -1
  107. package/dist/parser/tests/controlFlow/For.spec.js +16 -8
  108. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  109. package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
  110. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  111. package/dist/parser/tests/controlFlow/While.spec.js +8 -4
  112. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  113. package/dist/parser/tests/expression/Call.spec.js +4 -4
  114. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  115. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +13 -13
  116. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  117. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -33
  118. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  119. package/dist/parser/tests/statement/Enum.spec.js +1 -257
  120. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  121. package/dist/parser/tests/statement/PrintStatement.spec.js +6 -3
  122. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  123. package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
  124. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  125. package/dist/parser/tests/statement/Set.spec.js +26 -13
  126. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  127. package/dist/roku-types/data.json +158 -137
  128. package/dist/roku-types/index.d.ts +3 -38
  129. package/dist/types/ArrayType.d.ts +3 -1
  130. package/dist/types/ArrayType.js +42 -6
  131. package/dist/types/ArrayType.js.map +1 -1
  132. package/dist/types/ArrayType.spec.js +21 -2
  133. package/dist/types/ArrayType.spec.js.map +1 -1
  134. package/dist/types/BooleanType.js +5 -1
  135. package/dist/types/BooleanType.js.map +1 -1
  136. package/dist/types/BscType.d.ts +6 -2
  137. package/dist/types/BscType.js +20 -4
  138. package/dist/types/BscType.js.map +1 -1
  139. package/dist/types/BuiltInInterfaceAdder.d.ts +15 -0
  140. package/dist/types/BuiltInInterfaceAdder.js +93 -0
  141. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  142. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  143. package/dist/types/BuiltInInterfaceAdder.spec.js +109 -0
  144. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  145. package/dist/types/ClassType.d.ts +4 -0
  146. package/dist/types/ClassType.js +25 -1
  147. package/dist/types/ClassType.js.map +1 -1
  148. package/dist/types/DoubleType.d.ts +1 -1
  149. package/dist/types/DoubleType.js +5 -1
  150. package/dist/types/DoubleType.js.map +1 -1
  151. package/dist/types/DynamicType.js +2 -0
  152. package/dist/types/DynamicType.js.map +1 -1
  153. package/dist/types/EnumType.d.ts +1 -0
  154. package/dist/types/EnumType.js +6 -1
  155. package/dist/types/EnumType.js.map +1 -1
  156. package/dist/types/FloatType.d.ts +1 -1
  157. package/dist/types/FloatType.js +5 -1
  158. package/dist/types/FloatType.js.map +1 -1
  159. package/dist/types/FunctionType.js +5 -1
  160. package/dist/types/FunctionType.js.map +1 -1
  161. package/dist/types/IntegerType.d.ts +1 -1
  162. package/dist/types/IntegerType.js +5 -1
  163. package/dist/types/IntegerType.js.map +1 -1
  164. package/dist/types/InterfaceType.js +2 -1
  165. package/dist/types/InterfaceType.js.map +1 -1
  166. package/dist/types/InvalidType.d.ts +1 -1
  167. package/dist/types/InvalidType.js +5 -1
  168. package/dist/types/InvalidType.js.map +1 -1
  169. package/dist/types/LongIntegerType.d.ts +1 -1
  170. package/dist/types/LongIntegerType.js +5 -1
  171. package/dist/types/LongIntegerType.js.map +1 -1
  172. package/dist/types/ObjectType.js +2 -0
  173. package/dist/types/ObjectType.js.map +1 -1
  174. package/dist/types/ReferenceType.d.ts +12 -0
  175. package/dist/types/ReferenceType.js +69 -12
  176. package/dist/types/ReferenceType.js.map +1 -1
  177. package/dist/types/ReferenceType.spec.js +15 -0
  178. package/dist/types/ReferenceType.spec.js.map +1 -1
  179. package/dist/types/StringType.d.ts +1 -1
  180. package/dist/types/StringType.js +4 -0
  181. package/dist/types/StringType.js.map +1 -1
  182. package/dist/types/TypedFunctionType.js +9 -2
  183. package/dist/types/TypedFunctionType.js.map +1 -1
  184. package/dist/types/UnionType.d.ts +2 -0
  185. package/dist/types/UnionType.js +22 -1
  186. package/dist/types/UnionType.js.map +1 -1
  187. package/dist/types/UnionType.spec.js +43 -17
  188. package/dist/types/UnionType.spec.js.map +1 -1
  189. package/dist/types/VoidType.d.ts +1 -1
  190. package/dist/types/VoidType.js +5 -1
  191. package/dist/types/VoidType.js.map +1 -1
  192. package/dist/types/helpers.d.ts +1 -0
  193. package/dist/types/helpers.js +18 -3
  194. package/dist/types/helpers.js.map +1 -1
  195. package/dist/util.d.ts +10 -2
  196. package/dist/util.js +82 -6
  197. package/dist/util.js.map +1 -1
  198. package/package.json +2 -2
@@ -679,6 +679,313 @@ describe('ScopeValidator', () => {
679
679
  DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'function').message
680
680
  ]);
681
681
  });
682
+ it('allows any variable to passed as argument to an untyped param with default type invalid', () => {
683
+ program.setFile('source/util.brs', `
684
+ sub doSomething(x = invalid)
685
+ print x
686
+ end sub
687
+
688
+ sub tests()
689
+ doSomething(1)
690
+ doSomething(1.1)
691
+ doSomething("Hello")
692
+ doSomething(true)
693
+ doSomething({test: true})
694
+ end sub
695
+ `);
696
+ program.validate();
697
+ //should have no errors
698
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
699
+ });
700
+ it('allows calling future function and save to same variable', () => {
701
+ program.setFile('source/util.brs', `
702
+ function getSomeInt() as integer
703
+ numVal = getUntypedNum()
704
+ numVal = cInt(numVal)
705
+ return numVal
706
+ end function
707
+
708
+ function getUntypedNum()
709
+ return 1
710
+ end function
711
+ `);
712
+ program.validate();
713
+ //should have no errors
714
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
715
+ });
716
+ it('allows union types of all compatible types as arg', () => {
717
+ program.setFile('source/util.bs', `
718
+ sub printIntNum(num as float or double or integer)
719
+ print cInt(num)
720
+ end sub
721
+ `);
722
+ program.validate();
723
+ //should have no errors
724
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
725
+ });
726
+ it('allows function calls of built-in members of primitives', () => {
727
+ program.setFile('source/util.brs', `
728
+ sub doSomething()
729
+ myStr = "Hello World"
730
+ myStr = myStr.replace("World", "You")
731
+ print myStr
732
+ end sub
733
+ `);
734
+ program.validate();
735
+ //should have no errors
736
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
737
+ });
738
+ it('validates union types of all compatible types as arg - when some do not work', () => {
739
+ program.setFile('source/util.bs', `
740
+ sub printIntNum(maybeNum as float or string)
741
+ print cInt(maybeNum)
742
+ end sub
743
+ `);
744
+ program.validate();
745
+ //should have no errors
746
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
747
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float or string', 'float').message
748
+ ]);
749
+ });
750
+ it('validates function calls of built-in members of primitives', () => {
751
+ program.setFile('source/util.brs', `
752
+ sub doSomething()
753
+ myStr = "Hello World"
754
+ notAString = 3.14
755
+ myStr = myStr.replace("World", notAString)
756
+ print myStr
757
+ end sub
758
+ `);
759
+ program.validate();
760
+ //should have error - 2nd param should be a string, not a float
761
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
762
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
763
+ ]);
764
+ });
765
+ it('validates method calls of classes', () => {
766
+ program.setFile('source/util.bs', `
767
+ class Klass
768
+ sub test(input as string)
769
+ end sub
770
+ end class
771
+
772
+ sub doSomething()
773
+ k = new Klass()
774
+ k.test(3.14)
775
+ end sub
776
+ `);
777
+ program.validate();
778
+ //should have error - param should be a string, not a float
779
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
780
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
781
+ ]);
782
+ });
783
+ it('validates inside method calls of classes', () => {
784
+ program.setFile('source/util.bs', `
785
+ class Klass
786
+ sub test(input as string)
787
+ end sub
788
+
789
+ sub otherTest()
790
+ m.test(3.14)
791
+ end sub
792
+ end class
793
+ `);
794
+ program.validate();
795
+ //should have error - param should be a string, not a float
796
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
797
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
798
+ ]);
799
+ });
800
+ it('validates calls of a constructor', () => {
801
+ program.setFile('source/util.bs', `
802
+ class Klass
803
+ sub new(name as string)
804
+ end sub
805
+ end class
806
+
807
+ sub createKlass()
808
+ k = new Klass(3.14)
809
+ end sub
810
+ `);
811
+ program.validate();
812
+ //should have error - param should be a string, not a float
813
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
814
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
815
+ ]);
816
+ });
817
+ it('validates super calls in a constructor', () => {
818
+ program.setFile('source/util.bs', `
819
+ class Klass
820
+ sub new(name as string)
821
+ end sub
822
+ end class
823
+
824
+ class SubKlass extends Klass
825
+ sub new()
826
+ super(3.14)
827
+ end sub
828
+ end class
829
+ `);
830
+ program.validate();
831
+ //should have error - param should be a string, not a float
832
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
833
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
834
+ ]);
835
+ });
836
+ it('validates super calls in a class methods', () => {
837
+ program.setFile('source/util.bs', `
838
+ class Klass
839
+ sub test(name as string)
840
+ end sub
841
+ end class
842
+
843
+ class SubKlass extends Klass
844
+ sub test2()
845
+ super.test(3.14)
846
+ end sub
847
+ end class
848
+ `);
849
+ program.validate();
850
+ //should have error - param should be a string, not a float
851
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
852
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('float', 'string').message
853
+ ]);
854
+ });
855
+ it('validates a function passed as an arg', () => {
856
+ program.setFile('source/util.bs', `
857
+ sub foo()
858
+ getPi = function()
859
+ return 3.14
860
+ end function
861
+ bar(getPi)
862
+ end sub
863
+
864
+
865
+ sub bar(num as integer)
866
+ print num
867
+ end sub
868
+ `);
869
+ program.validate();
870
+ //should have error - param should be a string, not a float
871
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
872
+ DiagnosticMessages_1.DiagnosticMessages.argumentTypeMismatch('function () as dynamic', 'integer').message
873
+ ]);
874
+ });
875
+ });
876
+ describe('cannotFindName', () => {
877
+ it('finds variables from assignments from member functions of primitive types', () => {
878
+ program.setFile('source/util.brs', `
879
+ function lcaseTrim(str)
880
+ trimmedLowerStr = lcase(str).trim()
881
+ print trimmedLowerStr
882
+ end function
883
+ `);
884
+ program.validate();
885
+ //should have no errors
886
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
887
+ });
888
+ it('validates when lhs of compound assignment does not exist', () => {
889
+ program.setFile('source/util.brs', `
890
+ sub main()
891
+ expected += chr(10) + " version=""2.0"""
892
+ end sub
893
+ `);
894
+ program.validate();
895
+ //should have error - cannot find "expected"
896
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
897
+ DiagnosticMessages_1.DiagnosticMessages.cannotFindName('expected').message
898
+ ]);
899
+ });
900
+ });
901
+ describe('returnTypeMismatch', () => {
902
+ it('finds when a function returns a type that is not what was declared', () => {
903
+ program.setFile('source/util.bs', `
904
+ function getPi() as float
905
+ return "apple" ' get it?
906
+ end function
907
+ `);
908
+ program.validate();
909
+ //should have error - return value should be a float, not a string
910
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
911
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('string', 'float').message
912
+ ]);
913
+ });
914
+ it('finds all return statements that do not match', () => {
915
+ program.setFile('source/util.bs', `
916
+ function getPi(kind as integer) as float
917
+ if kind = 1
918
+ return "apple"
919
+ else if kind = 2
920
+ return false
921
+ else if kind = 3
922
+ return new Pie("lemon")
923
+ end if
924
+ return 3.14
925
+ end function
926
+
927
+ class Pie
928
+ kind as string
929
+ sub new(kind as string)
930
+ m.kind = kind
931
+ end sub
932
+ end class
933
+ `);
934
+ program.validate();
935
+ //should have error - return value should be a float, not whatever else
936
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
937
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('string', 'float').message,
938
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('boolean', 'float').message,
939
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('Pie', 'float').message
940
+ ]);
941
+ });
942
+ it('allows returning compatible types', () => {
943
+ program.setFile('source/util.bs', `
944
+ function getPi() as float
945
+ return 3 ' integers are compatible with floats
946
+ end function
947
+
948
+ function getPie() as Pie
949
+ return new Tart("lemon") ' Tart extends Pie
950
+ end function
951
+
952
+ class Pie
953
+ kind as string
954
+ sub new(kind as string)
955
+ m.kind = kind
956
+ end sub
957
+ end class
958
+
959
+ class Tart extends Pie
960
+ size = "small"
961
+ end class
962
+ `);
963
+ program.validate();
964
+ //should have no errors
965
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
966
+ });
967
+ it('detects return types on void functions (subs)', () => {
968
+ program.setFile('source/util.bs', `
969
+ sub sayHello(name as string)
970
+ return "hello " + name ' return should be void in subs
971
+ end sub
972
+ `);
973
+ program.validate();
974
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
975
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('string', 'void').message
976
+ ]);
977
+ });
978
+ it('detects return types on void functions', () => {
979
+ program.setFile('source/util.bs', `
980
+ function sayHello(name as string) as void
981
+ return "hello " + name ' return should be void in subs
982
+ end function
983
+ `);
984
+ program.validate();
985
+ (0, testHelpers_spec_1.expectDiagnostics)(program, [
986
+ DiagnosticMessages_1.DiagnosticMessages.returnTypeMismatch('string', 'void').message
987
+ ]);
988
+ });
682
989
  });
683
990
  });
684
991
  //# sourceMappingURL=ScopeValidator.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeValidator.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/ScopeValidator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScopeValidator.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/ScopeValidator.spec.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -7,10 +7,10 @@ const ProgramBuilder_1 = require("./ProgramBuilder");
7
7
  const vscode_languageserver_1 = require("vscode-languageserver");
8
8
  const util_1 = require("./util");
9
9
  const LanguageServer_1 = require("./LanguageServer");
10
- const v8Profiler = require("v8-profiler-next");
11
10
  const chalk_1 = require("chalk");
12
11
  const fsExtra = require("fs-extra");
13
12
  const readline = require("readline");
13
+ const child_process_1 = require("child_process");
14
14
  const rl = readline.createInterface({
15
15
  input: process.stdin,
16
16
  output: process.stdout
@@ -115,8 +115,16 @@ async function finalize(exitCode, builder) {
115
115
  rl.close();
116
116
  process.exit(exitCode);
117
117
  }
118
+ let v8Profiler;
118
119
  function initProfiling() {
119
120
  if (options.profile) {
121
+ console.log('Installing v8-profiler-next');
122
+ (0, child_process_1.execSync)('npm install v8-profiler-next@^1.9.0', {
123
+ stdio: 'inherit',
124
+ cwd: `${__dirname}/../`
125
+ });
126
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
127
+ v8Profiler = require('v8-profiler-next');
120
128
  // set generateType 1 to generate new format for cpuprofile parsing in vscode.
121
129
  v8Profiler.setGenerateType(1);
122
130
  v8Profiler.startProfiling(profileTitle, true);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class Deferred<T = void> {
20
20
  /**
21
21
  * Resolve the promise
22
22
  */
23
- resolve(value: T): void;
23
+ resolve(value?: T): void;
24
24
  private _resolve;
25
25
  /**
26
26
  * Reject the promise
@@ -1 +1 @@
1
- {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACjB;QAiBQ,iBAAY,GAAG,KAAK,CAAC;QAQrB,gBAAW,GAAG,KAAK,CAAC;QAQpB,gBAAW,GAAG,KAAK,CAAC;QAhCxB,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACI,OAAO,CAAC,KAAQ;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAGD;;OAEG;IACI,MAAM,CAAC,KAAQ;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CAEJ;AA7DD,4BA6DC"}
1
+ {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACjB;QAiBQ,iBAAY,GAAG,KAAK,CAAC;QAQrB,gBAAW,GAAG,KAAK,CAAC;QAQpB,gBAAW,GAAG,KAAK,CAAC;QAhCxB,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACI,OAAO,CAAC,KAAS;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAGD;;OAEG;IACI,MAAM,CAAC,KAAQ;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CAEJ;AA7DD,4BA6DC"}
@@ -2,6 +2,7 @@ import type { Chalk } from 'chalk';
2
2
  import type { BsConfig } from './BsConfig';
3
3
  import { DiagnosticSeverity } from 'vscode-languageserver';
4
4
  import type { BsDiagnostic } from '.';
5
+ import type { Range } from 'vscode-languageserver';
5
6
  /**
6
7
  * Prepare print diagnostic formatting options
7
8
  */
@@ -16,9 +17,13 @@ export declare function getPrintDiagnosticOptions(options: BsConfig): {
16
17
  /**
17
18
  * Format output of one diagnostic
18
19
  */
19
- export declare function printDiagnostic(options: ReturnType<typeof getPrintDiagnosticOptions>, severity: DiagnosticSeverity, filePath: string, lines: string[], diagnostic: BsDiagnostic): void;
20
+ export declare function printDiagnostic(options: ReturnType<typeof getPrintDiagnosticOptions>, severity: DiagnosticSeverity, filePath: string, lines: string[], diagnostic: BsDiagnostic, relatedInformation?: Array<{
21
+ range: Range;
22
+ filePath: string;
23
+ message: string;
24
+ }>): void;
20
25
  export declare function getDiagnosticLine(diagnostic: BsDiagnostic, diagnosticLine: string, colorFunction: Chalk): string;
21
26
  /**
22
27
  * Given a diagnostic, compute the range for the squiggly
23
28
  */
24
- export declare function getDiagnosticSquigglyText(diagnostic: BsDiagnostic, line: string): string;
29
+ export declare function getDiagnosticSquigglyText(line: string, startCharacter: number, endCharacter: number): string;
@@ -44,8 +44,8 @@ exports.getPrintDiagnosticOptions = getPrintDiagnosticOptions;
44
44
  /**
45
45
  * Format output of one diagnostic
46
46
  */
47
- function printDiagnostic(options, severity, filePath, lines, diagnostic) {
48
- var _a, _b, _c, _d;
47
+ function printDiagnostic(options, severity, filePath, lines, diagnostic, relatedInformation) {
48
+ var _a, _b, _c, _d, _e;
49
49
  let { includeDiagnostic, severityTextMap, typeColor } = options;
50
50
  if (!includeDiagnostic[severity]) {
51
51
  return;
@@ -68,6 +68,26 @@ function printDiagnostic(options, severity, filePath, lines, diagnostic) {
68
68
  // default to an empty string so it doesn't crash the error printing below
69
69
  let diagnosticLine = (_d = lines[(_c = (_b = (_a = diagnostic.range) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.line) !== null && _c !== void 0 ? _c : -1]) !== null && _d !== void 0 ? _d : '';
70
70
  console.log(getDiagnosticLine(diagnostic, diagnosticLine, typeColor[severity]));
71
+ //print related information if present (only first few rows)
72
+ const relatedInfoList = relatedInformation !== null && relatedInformation !== void 0 ? relatedInformation : [];
73
+ let indent = ' ';
74
+ for (let i = 0; i < relatedInfoList.length; i++) {
75
+ let relatedInfo = relatedInfoList[i];
76
+ //only show the first 5 relatedInfo links
77
+ if (i < 5) {
78
+ console.log('');
79
+ console.log(indent, chalk_1.default.cyan((_e = relatedInfo.filePath) !== null && _e !== void 0 ? _e : '<unknown file>') +
80
+ ':' +
81
+ chalk_1.default.yellow(relatedInfo.range
82
+ ? (relatedInfo.range.start.line + 1) + ':' + (relatedInfo.range.start.character + 1)
83
+ : 'line?:col?'));
84
+ console.log(indent, relatedInfo.message);
85
+ }
86
+ else {
87
+ console.log('\n', indent, `...and ${relatedInfoList.length - i + 1} more`);
88
+ break;
89
+ }
90
+ }
71
91
  console.log('');
72
92
  }
73
93
  exports.printDiagnostic = printDiagnostic;
@@ -76,10 +96,18 @@ function getDiagnosticLine(diagnostic, diagnosticLine, colorFunction) {
76
96
  //only print the line information if we have some
77
97
  if (diagnostic.range && diagnosticLine) {
78
98
  const lineNumberText = chalk_1.default.bgWhite(' ' + chalk_1.default.black((diagnostic.range.start.line + 1).toString()) + ' ') + ' ';
79
- const blankLineNumberText = chalk_1.default.bgWhite(' ' + chalk_1.default.white('_'.repeat((diagnostic.range.start.line + 1).toString().length)) + ' ') + ' ';
80
- const squigglyText = getDiagnosticSquigglyText(diagnostic, diagnosticLine);
99
+ const blankLineNumberText = chalk_1.default.bgWhite(' ' + chalk_1.default.white(' '.repeat((diagnostic.range.start.line + 1).toString().length)) + ' ') + ' ';
100
+ //remove tabs in favor of spaces to make diagnostic printing more consistent
101
+ let leadingText = diagnosticLine.slice(0, diagnostic.range.start.character);
102
+ let leadingTextNormalized = leadingText.replace(/\t/g, ' ');
103
+ let actualText = diagnosticLine.slice(diagnostic.range.start.character, diagnostic.range.end.character);
104
+ let actualTextNormalized = actualText.replace(/\t/g, ' ');
105
+ let startIndex = leadingTextNormalized.length;
106
+ let endIndex = leadingTextNormalized.length + actualTextNormalized.length;
107
+ let diagnosticLineNormalized = diagnosticLine.replace(/\t/g, ' ');
108
+ const squigglyText = getDiagnosticSquigglyText(diagnosticLineNormalized, startIndex, endIndex);
81
109
  result +=
82
- lineNumberText + diagnosticLine + '\n' +
110
+ lineNumberText + diagnosticLineNormalized + '\n' +
83
111
  blankLineNumberText + colorFunction(squigglyText);
84
112
  }
85
113
  return result;
@@ -88,36 +116,36 @@ exports.getDiagnosticLine = getDiagnosticLine;
88
116
  /**
89
117
  * Given a diagnostic, compute the range for the squiggly
90
118
  */
91
- function getDiagnosticSquigglyText(diagnostic, line) {
92
- var _a, _b;
119
+ function getDiagnosticSquigglyText(line, startCharacter, endCharacter) {
120
+ var _a;
93
121
  let squiggle;
94
122
  //fill the entire line
95
123
  if (
96
124
  //there is no range
97
- !diagnostic.range ||
125
+ typeof startCharacter !== 'number' || typeof endCharacter !== 'number' ||
98
126
  //there is no line
99
127
  !line ||
100
128
  //both positions point to same location
101
- diagnostic.range.start.character === diagnostic.range.end.character ||
129
+ startCharacter === endCharacter ||
102
130
  //the diagnostic starts after the end of the line
103
- diagnostic.range.start.character >= line.length) {
131
+ startCharacter >= line.length) {
104
132
  squiggle = ''.padStart((_a = line === null || line === void 0 ? void 0 : line.length) !== null && _a !== void 0 ? _a : 0, '~');
105
133
  }
106
134
  else {
107
- let endIndex = Math.max((_b = diagnostic.range) === null || _b === void 0 ? void 0 : _b.end.character, line.length);
135
+ let endIndex = Math.max(endCharacter, line.length);
108
136
  endIndex = endIndex > 0 ? endIndex : 0;
109
137
  if ((line === null || line === void 0 ? void 0 : line.length) < endIndex) {
110
138
  endIndex = line.length;
111
139
  }
112
- let leadingWhitespaceLength = diagnostic.range.start.character;
140
+ let leadingWhitespaceLength = startCharacter;
113
141
  let squiggleLength;
114
- if (diagnostic.range.end.character === Number.MAX_VALUE) {
142
+ if (endCharacter === Number.MAX_VALUE) {
115
143
  squiggleLength = line.length - leadingWhitespaceLength;
116
144
  }
117
145
  else {
118
- squiggleLength = diagnostic.range.end.character - diagnostic.range.start.character;
146
+ squiggleLength = endCharacter - startCharacter;
119
147
  }
120
- let trailingWhitespaceLength = endIndex - diagnostic.range.end.character;
148
+ let trailingWhitespaceLength = endIndex - endCharacter;
121
149
  //opening whitespace
122
150
  squiggle =
123
151
  ''.padStart(leadingWhitespaceLength, ' ') +
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticUtils.js","sourceRoot":"","sources":["../src/diagnosticUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnosticUtils.js","sourceRoot":"","sources":["../src/diagnosticUtils.ts"],"names":[],"mappings":"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"}