brighterscript 0.67.8 → 0.68.1

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 (34) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/LanguageServer.js +0 -1
  3. package/dist/LanguageServer.js.map +1 -1
  4. package/dist/astUtils/creators.d.ts +35 -2
  5. package/dist/astUtils/creators.js +32 -1
  6. package/dist/astUtils/creators.js.map +1 -1
  7. package/dist/astUtils/visitors.d.ts +3 -2
  8. package/dist/astUtils/visitors.js +37 -14
  9. package/dist/astUtils/visitors.js.map +1 -1
  10. package/dist/astUtils/visitors.spec.js +162 -4
  11. package/dist/astUtils/visitors.spec.js.map +1 -1
  12. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +1 -0
  13. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +140 -3
  14. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
  15. package/dist/lexer/Lexer.js +15 -3
  16. package/dist/lexer/Lexer.js.map +1 -1
  17. package/dist/lexer/Lexer.spec.js +18 -1
  18. package/dist/lexer/Lexer.spec.js.map +1 -1
  19. package/dist/lexer/TokenKind.d.ts +2 -0
  20. package/dist/lexer/TokenKind.js +10 -0
  21. package/dist/lexer/TokenKind.js.map +1 -1
  22. package/dist/parser/Expression.js +12 -0
  23. package/dist/parser/Expression.js.map +1 -1
  24. package/dist/parser/Parser.js +7 -3
  25. package/dist/parser/Parser.js.map +1 -1
  26. package/dist/parser/Statement.d.ts +4 -2
  27. package/dist/parser/Statement.js +12 -8
  28. package/dist/parser/Statement.js.map +1 -1
  29. package/dist/parser/TranspileState.d.ts +1 -1
  30. package/dist/parser/TranspileState.js +4 -1
  31. package/dist/parser/TranspileState.js.map +1 -1
  32. package/dist/parser/tests/expression/TernaryExpression.spec.js +351 -71
  33. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  34. package/package.json +1 -1
@@ -13,6 +13,7 @@ const stackedVisitor_1 = require("./stackedVisitor");
13
13
  const AstEditor_1 = require("./AstEditor");
14
14
  const Parser_1 = require("../parser/Parser");
15
15
  const testHelpers_spec_1 = require("../testHelpers.spec");
16
+ const Expression_1 = require("../parser/Expression");
16
17
  describe('astUtils visitors', () => {
17
18
  const rootDir = process.cwd();
18
19
  let program;
@@ -1005,6 +1006,78 @@ describe('astUtils visitors', () => {
1005
1006
  (0, chai_config_spec_1.expect)(callCount).to.eql(3);
1006
1007
  (0, chai_config_spec_1.expect)(ast.statements[0].func.body.statements).to.be.lengthOf(0);
1007
1008
  });
1009
+ it('walks everything when the first element is replaced', () => {
1010
+ const { ast } = Parser_1.Parser.parse(`
1011
+ sub main()
1012
+ print 1
1013
+ print 2
1014
+ print 3
1015
+ end sub
1016
+ `);
1017
+ const target = ast.findChild(reflection_1.isBlock).statements[0];
1018
+ let callCount = 0;
1019
+ ast.walk((astNode, parent, owner, key) => {
1020
+ if ((0, reflection_1.isPrintStatement)(astNode)) {
1021
+ callCount++;
1022
+ }
1023
+ if (astNode === target) {
1024
+ owner.splice(key, 1);
1025
+ }
1026
+ }, {
1027
+ walkMode: visitors_1.WalkMode.visitAllRecursive
1028
+ });
1029
+ //the visitor should have been called for every statement
1030
+ (0, chai_config_spec_1.expect)(callCount).to.eql(3);
1031
+ (0, chai_config_spec_1.expect)(ast.statements[0].func.body.statements).not.to.include(target);
1032
+ });
1033
+ it('walks everything when the middle element is replaced', () => {
1034
+ const { ast } = Parser_1.Parser.parse(`
1035
+ sub main()
1036
+ print 1
1037
+ print 2
1038
+ print 3
1039
+ end sub
1040
+ `);
1041
+ const target = ast.findChild(reflection_1.isBlock).statements[1];
1042
+ let callCount = 0;
1043
+ ast.walk((astNode, parent, owner, key) => {
1044
+ if ((0, reflection_1.isPrintStatement)(astNode)) {
1045
+ callCount++;
1046
+ }
1047
+ if (astNode === target) {
1048
+ owner.splice(key, 1);
1049
+ }
1050
+ }, {
1051
+ walkMode: visitors_1.WalkMode.visitAllRecursive
1052
+ });
1053
+ //the visitor should have been called for every statement
1054
+ (0, chai_config_spec_1.expect)(callCount).to.eql(3);
1055
+ (0, chai_config_spec_1.expect)(ast.statements[0].func.body.statements).not.to.include(target);
1056
+ });
1057
+ it('walks everything when the end element is replaced', () => {
1058
+ const { ast } = Parser_1.Parser.parse(`
1059
+ sub main()
1060
+ print 1
1061
+ print 2
1062
+ print 3
1063
+ end sub
1064
+ `);
1065
+ const target = ast.findChild(reflection_1.isBlock).statements[2];
1066
+ let callCount = 0;
1067
+ ast.walk((astNode, parent, owner, key) => {
1068
+ if ((0, reflection_1.isPrintStatement)(astNode)) {
1069
+ callCount++;
1070
+ }
1071
+ if (astNode === target) {
1072
+ owner.splice(key, 1);
1073
+ }
1074
+ }, {
1075
+ walkMode: visitors_1.WalkMode.visitAllRecursive
1076
+ });
1077
+ //the visitor should have been called for every statement
1078
+ (0, chai_config_spec_1.expect)(callCount).to.eql(3);
1079
+ (0, chai_config_spec_1.expect)(ast.statements[0].func.body.statements).not.to.include(target);
1080
+ });
1008
1081
  it('can be used to insert statements', () => {
1009
1082
  const { ast } = Parser_1.Parser.parse(`
1010
1083
  sub main()
@@ -1020,20 +1093,105 @@ describe('astUtils visitors', () => {
1020
1093
  PrintStatement: (astNode, parent, owner, key) => {
1021
1094
  printStatementCount++;
1022
1095
  //add another expression to the list every time. This should result in 1 the first time, 2 the second, 3 the third.
1023
- calls.push(new Statement_1.ExpressionStatement((0, creators_1.createCall)((0, creators_1.createVariableExpression)('doSomethingBeforePrint'))));
1024
- owner.splice(key, 0, ...calls);
1096
+ calls.push(new Statement_1.ExpressionStatement((0, creators_1.createCall)((0, creators_1.createVariableExpression)('doSomethingBeforePrint'), [
1097
+ (0, creators_1.createIntegerLiteral)(callExpressionCount.toString())
1098
+ ])));
1099
+ owner.splice(key + 1, 0, ...calls.map(x => x.clone()));
1025
1100
  },
1026
- CallExpression: () => {
1101
+ CallExpression: (call) => {
1027
1102
  callExpressionCount++;
1103
+ console.log('call visitor for', call.args[0].token.text);
1028
1104
  }
1029
1105
  }), {
1030
1106
  walkMode: visitors_1.WalkMode.visitAllRecursive
1031
1107
  });
1032
1108
  //the visitor should have been called for every statement
1033
1109
  (0, chai_config_spec_1.expect)(printStatementCount).to.eql(3);
1034
- (0, chai_config_spec_1.expect)(callExpressionCount).to.eql(0);
1110
+ //since the calls were injected after each print statement, we should have 1 call for the first print, 2 for the second, and 3 for the third
1111
+ (0, chai_config_spec_1.expect)(callExpressionCount).to.eql(6);
1035
1112
  (0, chai_config_spec_1.expect)(ast.statements[0].func.body.statements).to.be.lengthOf(9);
1036
1113
  });
1114
+ it('walks a new child when returned from a visitor', () => {
1115
+ let walkedLiterals = [];
1116
+ Parser_1.Parser.parse(`
1117
+ sub main()
1118
+ print 1 + 2
1119
+ end sub
1120
+ `).ast.walk((0, visitors_1.createVisitor)({
1121
+ BinaryExpression: (node, parent, owner, key) => {
1122
+ //replace the `1 + 2` binary expression with a new binary expression
1123
+ if ((0, reflection_1.isLiteralExpression)(node.left) && node.left.token.text === '1') {
1124
+ return new Expression_1.BinaryExpression((0, creators_1.createIntegerLiteral)('3'), (0, creators_1.createToken)(TokenKind_1.TokenKind.Plus), (0, creators_1.createIntegerLiteral)('4'));
1125
+ }
1126
+ },
1127
+ LiteralExpression: (node) => {
1128
+ walkedLiterals.push(node.token.text);
1129
+ }
1130
+ }), {
1131
+ walkMode: visitors_1.WalkMode.visitAllRecursive
1132
+ });
1133
+ (0, chai_config_spec_1.expect)(walkedLiterals).to.eql(['3', '4']);
1134
+ });
1135
+ it('walks a new child when returned from a visitor and using an AstEditor', () => {
1136
+ let walkedLiterals = [];
1137
+ Parser_1.Parser.parse(`
1138
+ sub main()
1139
+ print 1 + 2
1140
+ end sub
1141
+ `).ast.walk((0, visitors_1.createVisitor)({
1142
+ BinaryExpression: (node, parent, owner, key) => {
1143
+ //replace the `1 + 2` binary expression with a new binary expression
1144
+ if ((0, reflection_1.isLiteralExpression)(node.left) && node.left.token.text === '1') {
1145
+ return new Expression_1.BinaryExpression((0, creators_1.createIntegerLiteral)('3'), (0, creators_1.createToken)(TokenKind_1.TokenKind.Plus), (0, creators_1.createIntegerLiteral)('4'));
1146
+ }
1147
+ },
1148
+ LiteralExpression: (node) => {
1149
+ walkedLiterals.push(node.token.text);
1150
+ }
1151
+ }), {
1152
+ walkMode: visitors_1.WalkMode.visitAllRecursive,
1153
+ editor: new AstEditor_1.AstEditor()
1154
+ });
1155
+ (0, chai_config_spec_1.expect)(walkedLiterals).to.eql(['3', '4']);
1156
+ });
1157
+ });
1158
+ describe('walkArray', () => {
1159
+ const one = (0, creators_1.createVariableExpression)('one');
1160
+ const two = (0, creators_1.createVariableExpression)('two');
1161
+ const three = (0, creators_1.createVariableExpression)('three');
1162
+ const four = (0, creators_1.createVariableExpression)('four');
1163
+ const five = (0, creators_1.createVariableExpression)('five');
1164
+ function doTest(startingArray, expected, visitor) {
1165
+ const visitedItems = [];
1166
+ (0, visitors_1.walkArray)(startingArray, (item, parent, owner, key) => {
1167
+ visitedItems.push(item);
1168
+ return visitor === null || visitor === void 0 ? void 0 : visitor(item, parent, owner, key);
1169
+ }, { walkMode: visitors_1.WalkMode.visitAllRecursive });
1170
+ (0, chai_config_spec_1.expect)(visitedItems.map(x => x.name.text)).to.eql(expected.map(x => x.name.text));
1171
+ }
1172
+ it('walks every element in the array', () => {
1173
+ doTest([one, two, three, four, five], [one, two, three, four, five]);
1174
+ });
1175
+ it('walks new items added to the array', () => {
1176
+ doTest([one, two], [one, three, two, four], (item, parent, owner, key) => {
1177
+ //insert a value after one
1178
+ if (item === one) {
1179
+ owner.splice(key + 1, 0, three);
1180
+ //insert a value after one
1181
+ }
1182
+ else if (item === two) {
1183
+ owner.splice(key + 1, 0, four);
1184
+ }
1185
+ });
1186
+ });
1187
+ it('triggers on nodes that were skiped due to insertions', () => {
1188
+ doTest([one, two, three], [one, two, four, three], (item, parent, owner, key) => {
1189
+ //insert a value after one
1190
+ if (item === two) {
1191
+ owner.splice(key, 0, four);
1192
+ }
1193
+ });
1194
+ });
1037
1195
  });
1038
1196
  });
1039
1197
  //# sourceMappingURL=visitors.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visitors.spec.js","sourceRoot":"","sources":["../../src/astUtils/visitors.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitors.spec.js","sourceRoot":"","sources":["../../src/astUtils/visitors.spec.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class BrsFilePreTranspileProcessor {
5
5
  constructor(event: BeforeFileTranspileEvent<BrsFile>);
6
6
  process(): void;
7
7
  private iterateExpressions;
8
+ private processTernaryExpression;
8
9
  /**
9
10
  * Given a string optionally separated by dots, find an enum related to it.
10
11
  * For example, all of these would return the enum: `SomeNamespace.SomeEnum.SomeMember`, SomeEnum.SomeMember, `SomeEnum`
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BrsFilePreTranspileProcessor = void 0;
4
4
  const creators_1 = require("../../astUtils/creators");
5
5
  const reflection_1 = require("../../astUtils/reflection");
6
+ const visitors_1 = require("../../astUtils/visitors");
6
7
  const TokenKind_1 = require("../../lexer/TokenKind");
7
8
  const Expression_1 = require("../../parser/Expression");
8
9
  const Parser_1 = require("../../parser/Parser");
@@ -18,6 +19,7 @@ class BrsFilePreTranspileProcessor {
18
19
  }
19
20
  iterateExpressions() {
20
21
  const scope = this.event.program.getFirstScopeForFile(this.event.file);
22
+ //TODO move away from this loop and use a visitor instead
21
23
  for (let expression of this.event.file.parser.references.expressions) {
22
24
  if (expression) {
23
25
  if ((0, reflection_1.isUnaryExpression)(expression)) {
@@ -28,6 +30,141 @@ class BrsFilePreTranspileProcessor {
28
30
  }
29
31
  }
30
32
  }
33
+ const walkMode = visitors_1.WalkMode.visitExpressionsRecursive;
34
+ const visitor = (0, visitors_1.createVisitor)({
35
+ TernaryExpression: (ternaryExpression) => {
36
+ this.processTernaryExpression(ternaryExpression, visitor, walkMode);
37
+ }
38
+ });
39
+ this.event.file.ast.walk(visitor, { walkMode: walkMode });
40
+ }
41
+ processTernaryExpression(ternaryExpression, visitor, walkMode) {
42
+ var _a, _b;
43
+ function getOwnerAndKey(statement) {
44
+ const parent = statement.parent;
45
+ if ((0, reflection_1.isBlock)(parent) || (0, reflection_1.isBody)(parent)) {
46
+ let idx = parent.statements.indexOf(statement);
47
+ if (idx > -1) {
48
+ return { owner: parent.statements, key: idx };
49
+ }
50
+ }
51
+ }
52
+ //if the ternary expression is part of a simple assignment, rewrite it as an `IfStatement`
53
+ let parent = ternaryExpression.findAncestor(x => !(0, reflection_1.isGroupingExpression)(x));
54
+ let operator;
55
+ //operators like `+=` will cause the RHS to be a BinaryExpression due to how the parser handles this. let's do a little magic to detect this situation
56
+ if (
57
+ //parent is a binary expression
58
+ (0, reflection_1.isBinaryExpression)(parent) &&
59
+ (((0, reflection_1.isAssignmentStatement)(parent.parent) && (0, reflection_1.isVariableExpression)(parent.left) && parent.left.name === parent.parent.name) ||
60
+ ((0, reflection_1.isDottedSetStatement)(parent.parent) && (0, reflection_1.isDottedGetExpression)(parent.left) && parent.left.name === parent.parent.name) ||
61
+ ((0, reflection_1.isIndexedSetStatement)(parent.parent) && (0, reflection_1.isIndexedGetExpression)(parent.left) && parent.left.index === parent.parent.index))) {
62
+ //keep the correct operator (i.e. `+=`)
63
+ operator = parent.operator;
64
+ //use the outer parent and skip this BinaryExpression
65
+ parent = parent.parent;
66
+ }
67
+ let ifStatement;
68
+ if ((0, reflection_1.isAssignmentStatement)(parent)) {
69
+ ifStatement = (0, creators_1.createIfStatement)({
70
+ if: (0, creators_1.createToken)(TokenKind_1.TokenKind.If, 'if', ternaryExpression.questionMarkToken.range),
71
+ condition: ternaryExpression.test,
72
+ then: (0, creators_1.createToken)(TokenKind_1.TokenKind.Then, 'then', ternaryExpression.questionMarkToken.range),
73
+ thenBranch: (0, creators_1.createBlock)({
74
+ statements: [
75
+ (0, creators_1.createAssignmentStatement)({
76
+ name: parent.name,
77
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
78
+ value: ternaryExpression.consequent
79
+ })
80
+ ]
81
+ }),
82
+ else: (0, creators_1.createToken)(TokenKind_1.TokenKind.Else, 'else', ternaryExpression.questionMarkToken.range),
83
+ elseBranch: (0, creators_1.createBlock)({
84
+ statements: [
85
+ (0, creators_1.createAssignmentStatement)({
86
+ name: parent.name,
87
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
88
+ value: ternaryExpression.alternate
89
+ })
90
+ ]
91
+ }),
92
+ endIf: (0, creators_1.createToken)(TokenKind_1.TokenKind.EndIf, 'end if', ternaryExpression.questionMarkToken.range)
93
+ });
94
+ }
95
+ else if ((0, reflection_1.isDottedSetStatement)(parent)) {
96
+ ifStatement = (0, creators_1.createIfStatement)({
97
+ if: (0, creators_1.createToken)(TokenKind_1.TokenKind.If, 'if', ternaryExpression.questionMarkToken.range),
98
+ condition: ternaryExpression.test,
99
+ then: (0, creators_1.createToken)(TokenKind_1.TokenKind.Then, 'then', ternaryExpression.questionMarkToken.range),
100
+ thenBranch: (0, creators_1.createBlock)({
101
+ statements: [
102
+ (0, creators_1.createDottedSetStatement)({
103
+ obj: parent.obj,
104
+ name: parent.name,
105
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
106
+ value: ternaryExpression.consequent
107
+ })
108
+ ]
109
+ }),
110
+ else: (0, creators_1.createToken)(TokenKind_1.TokenKind.Else, 'else', ternaryExpression.questionMarkToken.range),
111
+ elseBranch: (0, creators_1.createBlock)({
112
+ statements: [
113
+ (0, creators_1.createDottedSetStatement)({
114
+ obj: parent.obj,
115
+ name: parent.name,
116
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
117
+ value: ternaryExpression.alternate
118
+ })
119
+ ]
120
+ }),
121
+ endIf: (0, creators_1.createToken)(TokenKind_1.TokenKind.EndIf, 'end if', ternaryExpression.questionMarkToken.range)
122
+ });
123
+ //if this is an indexedSetStatement, and the ternary expression is NOT an index
124
+ }
125
+ else if ((0, reflection_1.isIndexedSetStatement)(parent) && parent.index !== ternaryExpression && !((_a = parent.additionalIndexes) === null || _a === void 0 ? void 0 : _a.includes(ternaryExpression))) {
126
+ ifStatement = (0, creators_1.createIfStatement)({
127
+ if: (0, creators_1.createToken)(TokenKind_1.TokenKind.If, 'if', ternaryExpression.questionMarkToken.range),
128
+ condition: ternaryExpression.test,
129
+ then: (0, creators_1.createToken)(TokenKind_1.TokenKind.Then, 'then', ternaryExpression.questionMarkToken.range),
130
+ thenBranch: (0, creators_1.createBlock)({
131
+ statements: [
132
+ (0, creators_1.createIndexedSetStatement)({
133
+ obj: parent.obj,
134
+ openingSquare: parent.openingSquare,
135
+ index: parent.index,
136
+ closingSquare: parent.closingSquare,
137
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
138
+ value: ternaryExpression.consequent,
139
+ additionalIndexes: parent.additionalIndexes
140
+ })
141
+ ]
142
+ }),
143
+ else: (0, creators_1.createToken)(TokenKind_1.TokenKind.Else, 'else', ternaryExpression.questionMarkToken.range),
144
+ elseBranch: (0, creators_1.createBlock)({
145
+ statements: [
146
+ (0, creators_1.createIndexedSetStatement)({
147
+ obj: parent.obj,
148
+ openingSquare: parent.openingSquare,
149
+ index: parent.index,
150
+ closingSquare: parent.closingSquare,
151
+ equals: operator !== null && operator !== void 0 ? operator : parent.equals,
152
+ value: ternaryExpression.alternate,
153
+ additionalIndexes: parent.additionalIndexes
154
+ })
155
+ ]
156
+ }),
157
+ endIf: (0, creators_1.createToken)(TokenKind_1.TokenKind.EndIf, 'end if', ternaryExpression.questionMarkToken.range)
158
+ });
159
+ }
160
+ if (ifStatement) {
161
+ let { owner, key } = (_b = getOwnerAndKey(parent)) !== null && _b !== void 0 ? _b : {};
162
+ if (owner && key !== undefined) {
163
+ this.event.editor.setProperty(owner, key, ifStatement);
164
+ }
165
+ //we've injected an ifStatement, so now we need to trigger a walk to handle any nested ternary expressions
166
+ ifStatement.walk(visitor, { walkMode: walkMode });
167
+ }
31
168
  }
32
169
  /**
33
170
  * Given a string optionally separated by dots, find an enum related to it.
@@ -53,10 +190,10 @@ class BrsFilePreTranspileProcessor {
53
190
  };
54
191
  }
55
192
  }
56
- processExpression(expression, scope) {
193
+ processExpression(ternaryExpression, scope) {
57
194
  var _a, _b, _c, _d;
58
- let containingNamespace = (_a = this.event.file.getNamespaceStatementForPosition(expression.range.start)) === null || _a === void 0 ? void 0 : _a.getName(Parser_1.ParseMode.BrighterScript);
59
- const parts = util_1.default.splitExpression(expression);
195
+ let containingNamespace = (_a = this.event.file.getNamespaceStatementForPosition(ternaryExpression.range.start)) === null || _a === void 0 ? void 0 : _a.getName(Parser_1.ParseMode.BrighterScript);
196
+ const parts = util_1.default.splitExpression(ternaryExpression);
60
197
  const processedNames = [];
61
198
  for (let part of parts) {
62
199
  let entityName;
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFilePreTranspileProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/transpile/BrsFilePreTranspileProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrsFilePreTranspileProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/transpile/BrsFilePreTranspileProcessor.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ const TokenKind_1 = require("./TokenKind");
6
6
  const Characters_1 = require("./Characters");
7
7
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
8
8
  const util_1 = require("../util");
9
+ /**
10
+ * Numeric type designators can only be one of these characters
11
+ */
12
+ const numericTypeDesignatorCharsRegexp = /[#d!e&%]/;
9
13
  class Lexer {
10
14
  constructor() {
11
15
  /**
@@ -390,7 +394,11 @@ class Lexer {
390
394
  let asString = this.source.slice(this.start, this.current);
391
395
  let numberOfDigits = containsDecimal ? asString.length - 1 : asString.length;
392
396
  let designator = this.peek().toLowerCase();
393
- if (numberOfDigits >= 10 && designator !== '&' && designator !== 'e') {
397
+ //set to undefined if it's not one of the supported designator chars
398
+ if (!numericTypeDesignatorCharsRegexp.test(designator)) {
399
+ designator = undefined;
400
+ }
401
+ if (numberOfDigits >= 10 && !designator) {
394
402
  // numeric literals over 10 digits with no type designator are implicitly Doubles
395
403
  this.addToken(TokenKind_1.TokenKind.DoubleLiteral);
396
404
  }
@@ -421,8 +429,8 @@ class Lexer {
421
429
  this.addToken(TokenKind_1.TokenKind.FloatLiteral);
422
430
  }
423
431
  else if (designator === 'e') {
424
- // literals that use "E" as the exponent are also automatic Floats
425
- // consume the "E"
432
+ // literals that use "e" as the exponent are also automatic Floats
433
+ // consume the "e"
426
434
  this.advance();
427
435
  // exponents are optionally signed
428
436
  if (this.peek() === '+' || this.peek() === '-') {
@@ -432,6 +440,10 @@ class Lexer {
432
440
  while ((0, Characters_1.isDecimalDigit)(this.peek())) {
433
441
  this.advance();
434
442
  }
443
+ //optionally consume a trailing type designator
444
+ if (numericTypeDesignatorCharsRegexp.test(this.peek())) {
445
+ this.advance();
446
+ }
435
447
  this.addToken(TokenKind_1.TokenKind.FloatLiteral);
436
448
  }
437
449
  else if (containsDecimal) {