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.
- package/CHANGELOG.md +56 -0
- package/dist/BusyStatusTracker.d.ts +31 -0
- package/dist/BusyStatusTracker.js +83 -0
- package/dist/BusyStatusTracker.js.map +1 -0
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +18 -0
- package/dist/LanguageServer.js +126 -57
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/Program.d.ts +3 -8
- package/dist/Program.js +13 -55
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.js +14 -2
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +1 -13
- package/dist/Scope.js +10 -65
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +12 -10
- package/dist/SymbolTable.js +33 -24
- package/dist/SymbolTable.js.map +1 -1
- package/dist/Throttler.d.ts +12 -0
- package/dist/Throttler.js +39 -0
- package/dist/Throttler.js.map +1 -1
- package/dist/astUtils/creators.js +5 -3
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +3 -1
- package/dist/astUtils/reflection.js +12 -1
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +2 -1
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +39 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +305 -3
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1369 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +9 -4
- package/dist/bscPlugin/hover/HoverProcessor.js +64 -67
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +107 -4
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +18 -15
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +10 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +85 -42
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +307 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/deferred.d.ts +1 -1
- package/dist/deferred.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +7 -2
- package/dist/diagnosticUtils.js +43 -15
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +10 -8
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +3 -20
- package/dist/files/BrsFile.js +7 -355
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +2 -248
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +1 -6
- package/dist/files/XmlFile.js +0 -13
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +0 -36
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/globalCallables.js +9 -1
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +12 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +12 -0
- package/dist/lexer/Lexer.js +27 -2
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +40 -0
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +4 -0
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +4 -0
- package/dist/lexer/TokenKind.js +10 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +8 -1
- package/dist/parser/AstNode.js +16 -0
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +16 -1
- package/dist/parser/Expression.js +43 -1
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +7 -0
- package/dist/parser/Parser.js +46 -6
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +327 -3
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +1 -1
- package/dist/parser/Statement.d.ts +16 -3
- package/dist/parser/Statement.js +53 -15
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/Parser.spec.js +2 -1
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +16 -8
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +8 -4
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -4
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +13 -13
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +0 -33
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +1 -257
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +6 -3
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +26 -13
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/roku-types/data.json +158 -137
- package/dist/roku-types/index.d.ts +3 -38
- package/dist/types/ArrayType.d.ts +3 -1
- package/dist/types/ArrayType.js +42 -6
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +21 -2
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.js +5 -1
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +6 -2
- package/dist/types/BscType.js +20 -4
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.d.ts +15 -0
- package/dist/types/BuiltInInterfaceAdder.js +93 -0
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js +109 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
- package/dist/types/ClassType.d.ts +4 -0
- package/dist/types/ClassType.js +25 -1
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +1 -1
- package/dist/types/DoubleType.js +5 -1
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.js +2 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/EnumType.d.ts +1 -0
- package/dist/types/EnumType.js +6 -1
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/FloatType.d.ts +1 -1
- package/dist/types/FloatType.js +5 -1
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.js +5 -1
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +1 -1
- package/dist/types/IntegerType.js +5 -1
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InterfaceType.js +2 -1
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +1 -1
- package/dist/types/InvalidType.js +5 -1
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +1 -1
- package/dist/types/LongIntegerType.js +5 -1
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.js +2 -0
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +12 -0
- package/dist/types/ReferenceType.js +69 -12
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/ReferenceType.spec.js +15 -0
- package/dist/types/ReferenceType.spec.js.map +1 -1
- package/dist/types/StringType.d.ts +1 -1
- package/dist/types/StringType.js +4 -0
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/TypedFunctionType.js +9 -2
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UnionType.d.ts +2 -0
- package/dist/types/UnionType.js +22 -1
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/UnionType.spec.js +43 -17
- package/dist/types/UnionType.spec.js.map +1 -1
- package/dist/types/VoidType.d.ts +1 -1
- package/dist/types/VoidType.js +5 -1
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +1 -0
- package/dist/types/helpers.js +18 -3
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +10 -2
- package/dist/util.js +82 -6
- package/dist/util.js.map +1 -1
- 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":";;;AACA,+BAA+B;AAC/B,6BAA6B;AAC7B,qDAAkD;AAClD,iEAA2D;AAC3D,iCAA0B;AAC1B,qDAAkD;AAClD
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,+BAA+B;AAC/B,6BAA6B;AAC7B,qDAAkD;AAClD,iEAA2D;AAC3D,iCAA0B;AAC1B,qDAAkD;AAClD,iCAA0B;AAE1B,oCAAoC;AACpC,qCAAqC;AACrC,iDAAyC;AACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC;AAEH,IAAI,OAAO,GAAG,KAAK;KACd,KAAK,CAAC,IAAI,EAAE,6DAA6D,CAAC;KAC1E,IAAI,CAAC,MAAM,EAAE,wCAAwC,CAAC;KACtD,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,wEAAwE,EAAE,CAAC;KAChK,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,mIAAmI,EAAE,CAAC;KACxN,MAAM,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,wCAAwC,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,qJAAqJ,EAAE,CAAC;KACrT,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;KACzF,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,mEAAmE,EAAE,CAAC;KAC5J,MAAM,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,+GAA+G,EAAE,CAAC;KAC1M,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,6EAA6E,EAAE,CAAC;KACjJ,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,wGAAwG,EAAE,CAAC;KACzL,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;KACnJ,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mHAAmH,EAAE,CAAC;KACpK,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;KAC1F,MAAM,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;KAC7I,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,sEAAsE,EAAE,CAAC;KACzJ,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uGAAuG,EAAE,CAAC;KAC5J,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;KAC5F,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;KAC3F,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,2EAA2E,EAAE,CAAC;KAC3K,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mGAAmG,EAAE,CAAC;KACxJ,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2EAA2E,EAAE,CAAC;KAC3I,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;KAC7H,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8WAA8W,EAAE,CAAC;KACta,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;KACpG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,+FAA+F,EAAE,CAAC;KAClJ,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;KAChI,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;KACxH,KAAK,CAAC,IAAI,CAAC,EAAE;;IACV,MAAM,eAAe,GAAG,IAAI,CAAC,eAAyB,CAAC;IACvD,uEAAuE;IACvE,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,KAAK,EAAE;QAC1F,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,kDAAkD,CAAC,CAAC;KACnH;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,qDAAqD;IACrD,cAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,sDAAsD;IACtD,cAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,IAAI,CAAC;AAEV,KAAK,UAAU,IAAI;IACf,IAAI;QACA,aAAa,EAAE,CAAC;QAEhB,IAAI,OAAO,CAAC,GAAG,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,+BAAc,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,CAAC;SAChB;aAAM;YACH,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,GAAG,CAAM,OAAO,CAAC,CAAC;YAChC,qGAAqG;YACrG,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,0CAAkB,CAAC,KAAK,CAAC,CAAC;YAC/F,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;gBACvB,6DAA6D;gBAC7D,MAAM,WAAW,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,MAAM,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;aAC9B;iBAAM;gBACH,IAAI,QAAQ,EAAE;oBACV,MAAM,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC9B;qBAAM;oBACH,MAAM,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC9B;aACJ;SACJ;KACJ;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;KACrB;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAQ;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,YAAY,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAEjD,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,OAAwB;;IAC9D,IAAI,WAAW,EAAE;QACb,OAAO;KACV;IACD,WAAW,GAAG,IAAI,CAAC;IACnB,MAAM,iBAAiB,EAAE,CAAC;IAC1B,IAAI;QACA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,uDAAI,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB;IACD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,IAAI,UAAU,CAAC;AAEf,SAAS,aAAa;IAClB,IAAI,OAAO,CAAC,OAAO,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,IAAA,wBAAQ,EAAC,qCAAqC,EAAE;YAC5C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,GAAG,SAAS,MAAM;SAC1B,CAAC,CAAC;QACH,iEAAiE;QACjE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACzC,8EAA8E;QAC9E,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;KACjD;AACL,CAAC;AACD,SAAS,iBAAiB;IACtB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI;YACA,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,aAAa,CAAC,CAAC;gBAC/F,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACvD,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC7B,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;oBACjD,OAAO,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,EAAE,CAAC;aACb;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,CAAC,CAAC,CAAC;SACb;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
package/dist/deferred.d.ts
CHANGED
package/dist/deferred.js.map
CHANGED
|
@@ -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,
|
|
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
|
|
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(
|
|
29
|
+
export declare function getDiagnosticSquigglyText(line: string, startCharacter: number, endCharacter: number): string;
|
package/dist/diagnosticUtils.js
CHANGED
|
@@ -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('
|
|
80
|
-
|
|
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 +
|
|
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(
|
|
92
|
-
var _a
|
|
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
|
-
|
|
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
|
-
|
|
129
|
+
startCharacter === endCharacter ||
|
|
102
130
|
//the diagnostic starts after the end of the line
|
|
103
|
-
|
|
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(
|
|
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 =
|
|
140
|
+
let leadingWhitespaceLength = startCharacter;
|
|
113
141
|
let squiggleLength;
|
|
114
|
-
if (
|
|
142
|
+
if (endCharacter === Number.MAX_VALUE) {
|
|
115
143
|
squiggleLength = line.length - leadingWhitespaceLength;
|
|
116
144
|
}
|
|
117
145
|
else {
|
|
118
|
-
squiggleLength =
|
|
146
|
+
squiggleLength = endCharacter - startCharacter;
|
|
119
147
|
}
|
|
120
|
-
let trailingWhitespaceLength = endIndex -
|
|
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":";;;AACA,iCAA0B;AAE1B,iEAA2D;
|
|
1
|
+
{"version":3,"file":"diagnosticUtils.js","sourceRoot":"","sources":["../src/diagnosticUtils.ts"],"names":[],"mappings":"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"}
|