@harmoniclabs/pebble 0.1.10 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/IR/IRNodes/IRConst.js +14 -3
  2. package/dist/IR/IRNodes/IRNative/index.js +5 -1
  3. package/dist/IR/toUPLC/CompilerOptions.d.ts +22 -7
  4. package/dist/IR/toUPLC/CompilerOptions.js +5 -1
  5. package/dist/IR/tree_utils/bytesToHex.d.ts +8 -0
  6. package/dist/IR/tree_utils/bytesToHex.js +69 -0
  7. package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +16 -2
  8. package/dist/ast/nodes/expr/functions/FuncExpr.js +17 -0
  9. package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +2 -1
  10. package/dist/ast/nodes/expr/litteral/LitteralExpr.js +2 -0
  11. package/dist/ast/nodes/expr/litteral/TemplateStrExpr.d.ts +30 -0
  12. package/dist/ast/nodes/expr/litteral/TemplateStrExpr.js +35 -0
  13. package/dist/ast/nodes/statements/ExportStmt.d.ts +3 -3
  14. package/dist/ast/nodes/statements/PebbleStmt.d.ts +4 -3
  15. package/dist/ast/nodes/statements/PebbleStmt.js +6 -2
  16. package/dist/ast/nodes/statements/TestParam.d.ts +18 -0
  17. package/dist/ast/nodes/statements/TestParam.js +18 -0
  18. package/dist/ast/nodes/statements/TestStmt.d.ts +5 -3
  19. package/dist/ast/nodes/statements/TestStmt.js +3 -1
  20. package/dist/ast/nodes/statements/UsingStmt.d.ts +32 -2
  21. package/dist/ast/nodes/statements/UsingStmt.js +39 -3
  22. package/dist/ast/nodes/statements/declarations/NamespaceDecl.d.ts +21 -0
  23. package/dist/ast/nodes/statements/declarations/NamespaceDecl.js +31 -0
  24. package/dist/compiler/AstCompiler/AstCompiler.d.ts +26 -0
  25. package/dist/compiler/AstCompiler/AstCompiler.js +203 -3
  26. package/dist/compiler/AstCompiler/internal/_deriveContractBody/_deriveContractBody.js +13 -2
  27. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +97 -6
  28. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +12 -5
  29. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +59 -0
  30. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +2 -3
  31. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +28 -0
  32. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +2 -0
  33. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +4 -1
  34. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +15 -1
  35. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +70 -30
  36. package/dist/compiler/AstCompiler/internal/statements/_compileUsingAliasStmt.d.ts +11 -0
  37. package/dist/compiler/AstCompiler/internal/statements/_compileUsingAliasStmt.js +26 -0
  38. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +9 -4
  39. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +51 -10
  40. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +21 -2
  41. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +17 -2
  42. package/dist/compiler/AstCompiler/scope/AstScope.d.ts +70 -1
  43. package/dist/compiler/AstCompiler/scope/AstScope.js +91 -0
  44. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +25 -1
  45. package/dist/compiler/AstCompiler/utils/monomorphizeGeneric.d.ts +36 -0
  46. package/dist/compiler/AstCompiler/utils/monomorphizeGeneric.js +123 -0
  47. package/dist/compiler/AstCompiler/utils/resolveNamespaceChain.d.ts +28 -0
  48. package/dist/compiler/AstCompiler/utils/resolveNamespaceChain.js +95 -0
  49. package/dist/compiler/AstCompiler/utils/resolveNamespacePath.d.ts +37 -0
  50. package/dist/compiler/AstCompiler/utils/resolveNamespacePath.js +93 -0
  51. package/dist/compiler/Compiler.d.ts +9 -1
  52. package/dist/compiler/Compiler.js +204 -9
  53. package/dist/compiler/TirCompiler/expressify/expressifyVars.js +26 -7
  54. package/dist/compiler/test/TestResult.d.ts +38 -0
  55. package/dist/compiler/test/TestResult.js +6 -0
  56. package/dist/compiler/test/fuzz/PRNG.d.ts +26 -0
  57. package/dist/compiler/test/fuzz/PRNG.js +59 -0
  58. package/dist/compiler/tir/expressions/TirExpr.d.ts +2 -1
  59. package/dist/compiler/tir/expressions/TirExpr.js +2 -0
  60. package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +17 -0
  61. package/dist/compiler/tir/expressions/TirNativeFunc.js +53 -106
  62. package/dist/compiler/tir/expressions/TirShowExpr.d.ts +52 -0
  63. package/dist/compiler/tir/expressions/TirShowExpr.js +199 -0
  64. package/dist/compiler/tir/expressions/TirTraceExpr.js +11 -7
  65. package/dist/compiler/tir/program/TypedProgram.d.ts +101 -0
  66. package/dist/compiler/tir/program/TypedProgram.js +43 -0
  67. package/dist/compiler/tir/program/stdScope/populateBuiltinInterfaces.d.ts +17 -0
  68. package/dist/compiler/tir/program/stdScope/populateBuiltinInterfaces.js +70 -0
  69. package/dist/compiler/tir/program/stdScope/populateStdNamespace.d.ts +22 -0
  70. package/dist/compiler/tir/program/stdScope/populateStdNamespace.js +574 -0
  71. package/dist/compiler/tir/program/stdScope/stdScope.d.ts +1 -0
  72. package/dist/compiler/tir/program/stdScope/stdScope.js +1 -1
  73. package/dist/compiler/tir/statements/TirStmt.js +0 -1
  74. package/dist/compiler/tir/statements/TirTestStmt.d.ts +46 -0
  75. package/dist/compiler/tir/statements/TirTestStmt.js +35 -0
  76. package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +50 -1
  77. package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +53 -1
  78. package/dist/compiler/tir/types/TirType.js +3 -1
  79. package/dist/compiler/tir/types/utils/canAssignTo.js +8 -1
  80. package/dist/compiler/tir/types/utils/inferTypeArgs.d.ts +19 -0
  81. package/dist/compiler/tir/types/utils/inferTypeArgs.js +79 -0
  82. package/dist/compiler/tir/types/utils/substituteTypeParams.d.ts +9 -0
  83. package/dist/compiler/tir/types/utils/substituteTypeParams.js +62 -0
  84. package/dist/diagnostics/diagnosticMessages.generated.d.ts +5 -0
  85. package/dist/diagnostics/diagnosticMessages.generated.js +10 -0
  86. package/dist/index.d.ts +2 -0
  87. package/dist/index.js +2 -0
  88. package/dist/parser/Parser.d.ts +73 -3
  89. package/dist/parser/Parser.js +333 -33
  90. package/dist/tokenizer/Token.d.ts +105 -102
  91. package/dist/tokenizer/Token.js +110 -109
  92. package/dist/tokenizer/utils/tokenFromKeyword.js +9 -6
  93. package/dist/utils/semverSatisfies.d.ts +1 -0
  94. package/dist/utils/semverSatisfies.js +161 -0
  95. package/dist/version.generated.d.ts +1 -0
  96. package/dist/version.generated.js +2 -0
  97. package/package.json +3 -2
@@ -22,150 +22,153 @@ export declare enum Token {
22
22
  Interface = 19,
23
23
  Is = 20,
24
24
  Let = 21,
25
- Int = 22,
26
- Of = 23,
27
- Readonly = 24,
28
- Return = 25,
29
- Static = 26,
30
- This = 27,
31
- True = 28,
32
- Type = 29,
33
- Undefined = 30,
34
- Using = 31,
35
- Var = 32,
36
- Void = 33,
37
- While = 34,
38
- Match = 35,
39
- When = 36,
40
- Case = 37,
41
- Test = 38,
42
- Fail = 39,
43
- Assert = 40,
44
- Trace = 41,
45
- Contract = 42,
46
- Param = 43,
47
- Spend = 44,
48
- State = 45,
49
- Mint = 46,
50
- Certify = 47,
51
- Withdraw = 48,
52
- Propose = 49,
53
- Vote = 50,
54
- Context = 51,
25
+ Namespace = 22,
26
+ Int = 23,
27
+ Of = 24,
28
+ Private = 25,
29
+ Readonly = 26,
30
+ Return = 27,
31
+ Static = 28,
32
+ This = 29,
33
+ True = 30,
34
+ Type = 31,
35
+ Undefined = 32,
36
+ Using = 33,
37
+ Var = 34,
38
+ Void = 35,
39
+ While = 36,
40
+ Match = 37,
41
+ When = 38,
42
+ Case = 39,
43
+ Test = 40,
44
+ Via = 41,
45
+ Fail = 42,
46
+ Assert = 43,
47
+ Trace = 44,
48
+ Contract = 45,
49
+ Param = 46,
50
+ Spend = 47,
51
+ State = 48,
52
+ Mint = 49,
53
+ Certify = 50,
54
+ Withdraw = 51,
55
+ Propose = 52,
56
+ Vote = 53,
57
+ Context = 54,
55
58
  /** `{` */
56
- OpenBrace = 52,
59
+ OpenBrace = 55,
57
60
  /** `}` */
58
- CloseBrace = 53,
59
- OpenParen = 54,
60
- CloseParen = 55,
61
+ CloseBrace = 56,
62
+ OpenParen = 57,
63
+ CloseParen = 58,
61
64
  /** `[` */
62
- OpenBracket = 56,
65
+ OpenBracket = 59,
63
66
  /** `]` */
64
- CloseBracket = 57,
67
+ CloseBracket = 60,
65
68
  /** `.` */
66
- Dot = 58,
69
+ Dot = 61,
67
70
  /** `...` */
68
- Dot_Dot_Dot = 59,
71
+ Dot_Dot_Dot = 62,
69
72
  /** `;` */
70
- Semicolon = 60,
73
+ Semicolon = 63,
71
74
  /** `,` */
72
- Comma = 61,
75
+ Comma = 64,
73
76
  /** `<` */
74
- LessThan = 62,
77
+ LessThan = 65,
75
78
  /** `>` */
76
- GreaterThan = 63,
79
+ GreaterThan = 66,
77
80
  /** `<=` */
78
- LessThan_Equals = 64,
81
+ LessThan_Equals = 67,
79
82
  /** `>=` */
80
- GreaterThan_Equals = 65,
83
+ GreaterThan_Equals = 68,
81
84
  /** `==` */
82
- Equals_Equals = 66,
85
+ Equals_Equals = 69,
83
86
  /** `!=` */
84
- Exclamation_Equals = 67,
87
+ Exclamation_Equals = 70,
85
88
  /** `===` */
86
- Equals_Equals_Equals = 68,
89
+ Equals_Equals_Equals = 71,
87
90
  /** `!==` */
88
- Exclamation_Equals_Equals = 69,
91
+ Exclamation_Equals_Equals = 72,
89
92
  /** `=>` */
90
- FatArrow = 70,
93
+ FatArrow = 73,
91
94
  /** `+` */
92
- Plus = 71,
95
+ Plus = 74,
93
96
  /** `-` */
94
- Minus = 72,
97
+ Minus = 75,
95
98
  /** `**` */
96
- Asterisk_Asterisk = 73,
99
+ Asterisk_Asterisk = 76,
97
100
  /** `*` */
98
- Asterisk = 74,
101
+ Asterisk = 77,
99
102
  /** `/` */
100
- Slash = 75,
103
+ Slash = 78,
101
104
  /** `%` */
102
- Percent = 76,
105
+ Percent = 79,
103
106
  /** `++` */
104
- Plus_Plus = 77,
107
+ Plus_Plus = 80,
105
108
  /** `--` */
106
- Minus_Minus = 78,
109
+ Minus_Minus = 81,
107
110
  /** `<<` */
108
- LessThan_LessThan = 79,
111
+ LessThan_LessThan = 82,
109
112
  /** `>>` */
110
- GreaterThan_GreaterThan = 80,
113
+ GreaterThan_GreaterThan = 83,
111
114
  /** `>>>` */
112
- GreaterThan_GreaterThan_GreaterThan = 81,
115
+ GreaterThan_GreaterThan_GreaterThan = 84,
113
116
  /** `+` */
114
- Ampersand = 82,
117
+ Ampersand = 85,
115
118
  /** `|` */
116
- Bar = 83,
119
+ Bar = 86,
117
120
  /** `^` */
118
- Caret = 84,
121
+ Caret = 87,
119
122
  /** `!` */
120
- Exclamation = 85,
123
+ Exclamation = 88,
121
124
  /** `~` */
122
- Tilde = 86,
125
+ Tilde = 89,
123
126
  /** `&&` */
124
- Ampersand_Ampersand = 87,
127
+ Ampersand_Ampersand = 90,
125
128
  /** `||` */
126
- Bar_Bar = 88,
129
+ Bar_Bar = 91,
127
130
  /** `?` */
128
- Question = 89,
131
+ Question = 92,
129
132
  /** `:` */
130
- Colon = 90,
133
+ Colon = 93,
131
134
  /** `=` */
132
- Equals = 91,
133
- Plus_Equals = 92,
134
- Minus_Equals = 93,
135
- Asterisk_Equals = 94,
136
- Asterisk_Asterisk_Equals = 95,
137
- Slash_Equals = 96,
138
- Percent_Equals = 97,
139
- LessThan_LessThan_Equals = 98,
140
- GreaterThan_GreaterThan_Equals = 99,
141
- GreaterThan_GreaterThan_GreaterThan_Equals = 100,
142
- Ampersand_Equals = 101,
143
- Bar_Equals = 102,
144
- Caret_Equals = 103,
145
- At = 104,
135
+ Equals = 94,
136
+ Plus_Equals = 95,
137
+ Minus_Equals = 96,
138
+ Asterisk_Equals = 97,
139
+ Asterisk_Asterisk_Equals = 98,
140
+ Slash_Equals = 99,
141
+ Percent_Equals = 100,
142
+ LessThan_LessThan_Equals = 101,
143
+ GreaterThan_GreaterThan_Equals = 102,
144
+ GreaterThan_GreaterThan_GreaterThan_Equals = 103,
145
+ Ampersand_Equals = 104,
146
+ Bar_Equals = 105,
147
+ Caret_Equals = 106,
148
+ At = 107,
146
149
  /** `??=` */
147
- Question_Question_Equals = 105,
150
+ Question_Question_Equals = 108,
148
151
  /** `||=` */
149
- Bar_Bar_Equals = 106,
152
+ Bar_Bar_Equals = 109,
150
153
  /** `&&=` */
151
- Ampersand_Ampersand_Equals = 107,
154
+ Ampersand_Ampersand_Equals = 110,
152
155
  /** `??` */
153
- Question_Question = 108,
156
+ Question_Question = 111,
154
157
  /** `?.` */
155
- Question_Dot = 109,
158
+ Question_Dot = 112,
156
159
  /** `!.` */
157
- Exclamation_Dot = 110,
158
- Data = 111,
159
- Bytes = 112,
160
- Optional = 113,
161
- List = 114,
162
- LinearMap = 115,
163
- Runtime = 116,
164
- Identifier = 117,
165
- StringLiteral = 118,
166
- HexBytesLiteral = 119,
167
- IntegerLiteral = 120,
168
- StringTemplateLiteralQuote = 121,
169
- Invalid = 122,
170
- EndOfFile = 123
160
+ Exclamation_Dot = 113,
161
+ Data = 114,
162
+ Bytes = 115,
163
+ Optional = 116,
164
+ List = 117,
165
+ LinearMap = 118,
166
+ Runtime = 119,
167
+ Identifier = 120,
168
+ StringLiteral = 121,
169
+ HexBytesLiteral = 122,
170
+ IntegerLiteral = 123,
171
+ StringTemplateLiteralQuote = 124,
172
+ Invalid = 125,
173
+ EndOfFile = 126
171
174
  }
@@ -40,179 +40,180 @@ export var Token;
40
40
  Token[Token["Is"] = 20] = "Is";
41
41
  // KeyOf,
42
42
  Token[Token["Let"] = 21] = "Let";
43
- // Namespace,
44
- // New,
45
- // Null,
46
- Token[Token["Int"] = 22] = "Int";
43
+ Token[Token["Namespace"] = 22] = "Namespace";
44
+ // New,
45
+ // Null,
46
+ Token[Token["Int"] = 23] = "Int";
47
47
  // Number,
48
- Token[Token["Of"] = 23] = "Of";
48
+ Token[Token["Of"] = 24] = "Of";
49
49
  // Override,
50
- // Package,
51
- // Private,
52
- // Protected,
53
- // Public,
54
- Token[Token["Readonly"] = 24] = "Readonly";
55
- Token[Token["Return"] = 25] = "Return";
50
+ // Package,
51
+ Token[Token["Private"] = 25] = "Private";
52
+ // Protected,
53
+ // Public,
54
+ Token[Token["Readonly"] = 26] = "Readonly";
55
+ Token[Token["Return"] = 27] = "Return";
56
56
  // Set,
57
- Token[Token["Static"] = 26] = "Static";
57
+ Token[Token["Static"] = 28] = "Static";
58
58
  // Super,
59
59
  // Switch,
60
- Token[Token["This"] = 27] = "This";
60
+ Token[Token["This"] = 29] = "This";
61
61
  // Throw,
62
- Token[Token["True"] = 28] = "True";
62
+ Token[Token["True"] = 30] = "True";
63
63
  // Try,
64
- Token[Token["Type"] = 29] = "Type";
64
+ Token[Token["Type"] = 31] = "Type";
65
65
  // TypeOf,
66
- Token[Token["Undefined"] = 30] = "Undefined";
67
- Token[Token["Using"] = 31] = "Using";
68
- Token[Token["Var"] = 32] = "Var";
69
- Token[Token["Void"] = 33] = "Void";
70
- Token[Token["While"] = 34] = "While";
66
+ Token[Token["Undefined"] = 32] = "Undefined";
67
+ Token[Token["Using"] = 33] = "Using";
68
+ Token[Token["Var"] = 34] = "Var";
69
+ Token[Token["Void"] = 35] = "Void";
70
+ Token[Token["While"] = 36] = "While";
71
71
  // With,
72
72
  // Yield,
73
73
  // extra keywords for pebble
74
74
  // https://github.com/tc39/proposal-pattern-matching
75
- Token[Token["Match"] = 35] = "Match";
76
- Token[Token["When"] = 36] = "When";
77
- Token[Token["Case"] = 37] = "Case";
78
- Token[Token["Test"] = 38] = "Test";
79
- Token[Token["Fail"] = 39] = "Fail";
80
- Token[Token["Assert"] = 40] = "Assert";
81
- Token[Token["Trace"] = 41] = "Trace";
75
+ Token[Token["Match"] = 37] = "Match";
76
+ Token[Token["When"] = 38] = "When";
77
+ Token[Token["Case"] = 39] = "Case";
78
+ Token[Token["Test"] = 40] = "Test";
79
+ Token[Token["Via"] = 41] = "Via";
80
+ Token[Token["Fail"] = 42] = "Fail";
81
+ Token[Token["Assert"] = 43] = "Assert";
82
+ Token[Token["Trace"] = 44] = "Trace";
82
83
  // contract keywords
83
- Token[Token["Contract"] = 42] = "Contract";
84
- Token[Token["Param"] = 43] = "Param";
85
- Token[Token["Spend"] = 44] = "Spend";
86
- Token[Token["State"] = 45] = "State";
87
- Token[Token["Mint"] = 46] = "Mint";
88
- Token[Token["Certify"] = 47] = "Certify";
89
- Token[Token["Withdraw"] = 48] = "Withdraw";
90
- Token[Token["Propose"] = 49] = "Propose";
91
- Token[Token["Vote"] = 50] = "Vote";
92
- Token[Token["Context"] = 51] = "Context";
84
+ Token[Token["Contract"] = 45] = "Contract";
85
+ Token[Token["Param"] = 46] = "Param";
86
+ Token[Token["Spend"] = 47] = "Spend";
87
+ Token[Token["State"] = 48] = "State";
88
+ Token[Token["Mint"] = 49] = "Mint";
89
+ Token[Token["Certify"] = 50] = "Certify";
90
+ Token[Token["Withdraw"] = 51] = "Withdraw";
91
+ Token[Token["Propose"] = 52] = "Propose";
92
+ Token[Token["Vote"] = 53] = "Vote";
93
+ Token[Token["Context"] = 54] = "Context";
93
94
  // punctuation
94
95
  /** `{` */
95
- Token[Token["OpenBrace"] = 52] = "OpenBrace";
96
+ Token[Token["OpenBrace"] = 55] = "OpenBrace";
96
97
  /** `}` */
97
- Token[Token["CloseBrace"] = 53] = "CloseBrace";
98
- Token[Token["OpenParen"] = 54] = "OpenParen";
99
- Token[Token["CloseParen"] = 55] = "CloseParen";
98
+ Token[Token["CloseBrace"] = 56] = "CloseBrace";
99
+ Token[Token["OpenParen"] = 57] = "OpenParen";
100
+ Token[Token["CloseParen"] = 58] = "CloseParen";
100
101
  /** `[` */
101
- Token[Token["OpenBracket"] = 56] = "OpenBracket";
102
+ Token[Token["OpenBracket"] = 59] = "OpenBracket";
102
103
  /** `]` */
103
- Token[Token["CloseBracket"] = 57] = "CloseBracket";
104
+ Token[Token["CloseBracket"] = 60] = "CloseBracket";
104
105
  /** `.` */
105
- Token[Token["Dot"] = 58] = "Dot";
106
+ Token[Token["Dot"] = 61] = "Dot";
106
107
  /** `...` */
107
- Token[Token["Dot_Dot_Dot"] = 59] = "Dot_Dot_Dot";
108
+ Token[Token["Dot_Dot_Dot"] = 62] = "Dot_Dot_Dot";
108
109
  /** `;` */
109
- Token[Token["Semicolon"] = 60] = "Semicolon";
110
+ Token[Token["Semicolon"] = 63] = "Semicolon";
110
111
  /** `,` */
111
- Token[Token["Comma"] = 61] = "Comma";
112
+ Token[Token["Comma"] = 64] = "Comma";
112
113
  /** `<` */
113
- Token[Token["LessThan"] = 62] = "LessThan";
114
+ Token[Token["LessThan"] = 65] = "LessThan";
114
115
  /** `>` */
115
- Token[Token["GreaterThan"] = 63] = "GreaterThan";
116
+ Token[Token["GreaterThan"] = 66] = "GreaterThan";
116
117
  /** `<=` */
117
- Token[Token["LessThan_Equals"] = 64] = "LessThan_Equals";
118
+ Token[Token["LessThan_Equals"] = 67] = "LessThan_Equals";
118
119
  /** `>=` */
119
- Token[Token["GreaterThan_Equals"] = 65] = "GreaterThan_Equals";
120
+ Token[Token["GreaterThan_Equals"] = 68] = "GreaterThan_Equals";
120
121
  /** `==` */
121
- Token[Token["Equals_Equals"] = 66] = "Equals_Equals";
122
+ Token[Token["Equals_Equals"] = 69] = "Equals_Equals";
122
123
  /** `!=` */
123
- Token[Token["Exclamation_Equals"] = 67] = "Exclamation_Equals";
124
+ Token[Token["Exclamation_Equals"] = 70] = "Exclamation_Equals";
124
125
  /** `===` */
125
- Token[Token["Equals_Equals_Equals"] = 68] = "Equals_Equals_Equals";
126
+ Token[Token["Equals_Equals_Equals"] = 71] = "Equals_Equals_Equals";
126
127
  /** `!==` */
127
- Token[Token["Exclamation_Equals_Equals"] = 69] = "Exclamation_Equals_Equals";
128
+ Token[Token["Exclamation_Equals_Equals"] = 72] = "Exclamation_Equals_Equals";
128
129
  /** `=>` */
129
- Token[Token["FatArrow"] = 70] = "FatArrow";
130
+ Token[Token["FatArrow"] = 73] = "FatArrow";
130
131
  /** `+` */
131
- Token[Token["Plus"] = 71] = "Plus";
132
+ Token[Token["Plus"] = 74] = "Plus";
132
133
  /** `-` */
133
- Token[Token["Minus"] = 72] = "Minus";
134
+ Token[Token["Minus"] = 75] = "Minus";
134
135
  /** `**` */
135
- Token[Token["Asterisk_Asterisk"] = 73] = "Asterisk_Asterisk";
136
+ Token[Token["Asterisk_Asterisk"] = 76] = "Asterisk_Asterisk";
136
137
  /** `*` */
137
- Token[Token["Asterisk"] = 74] = "Asterisk";
138
+ Token[Token["Asterisk"] = 77] = "Asterisk";
138
139
  /** `/` */
139
- Token[Token["Slash"] = 75] = "Slash";
140
+ Token[Token["Slash"] = 78] = "Slash";
140
141
  /** `%` */
141
- Token[Token["Percent"] = 76] = "Percent";
142
+ Token[Token["Percent"] = 79] = "Percent";
142
143
  /** `++` */
143
- Token[Token["Plus_Plus"] = 77] = "Plus_Plus";
144
+ Token[Token["Plus_Plus"] = 80] = "Plus_Plus";
144
145
  /** `--` */
145
- Token[Token["Minus_Minus"] = 78] = "Minus_Minus";
146
+ Token[Token["Minus_Minus"] = 81] = "Minus_Minus";
146
147
  /** `<<` */
147
- Token[Token["LessThan_LessThan"] = 79] = "LessThan_LessThan";
148
+ Token[Token["LessThan_LessThan"] = 82] = "LessThan_LessThan";
148
149
  /** `>>` */
149
- Token[Token["GreaterThan_GreaterThan"] = 80] = "GreaterThan_GreaterThan";
150
+ Token[Token["GreaterThan_GreaterThan"] = 83] = "GreaterThan_GreaterThan";
150
151
  /** `>>>` */
151
- Token[Token["GreaterThan_GreaterThan_GreaterThan"] = 81] = "GreaterThan_GreaterThan_GreaterThan";
152
+ Token[Token["GreaterThan_GreaterThan_GreaterThan"] = 84] = "GreaterThan_GreaterThan_GreaterThan";
152
153
  /** `+` */
153
- Token[Token["Ampersand"] = 82] = "Ampersand";
154
+ Token[Token["Ampersand"] = 85] = "Ampersand";
154
155
  /** `|` */
155
- Token[Token["Bar"] = 83] = "Bar";
156
+ Token[Token["Bar"] = 86] = "Bar";
156
157
  /** `^` */
157
- Token[Token["Caret"] = 84] = "Caret";
158
+ Token[Token["Caret"] = 87] = "Caret";
158
159
  /** `!` */
159
- Token[Token["Exclamation"] = 85] = "Exclamation";
160
+ Token[Token["Exclamation"] = 88] = "Exclamation";
160
161
  /** `~` */
161
- Token[Token["Tilde"] = 86] = "Tilde";
162
+ Token[Token["Tilde"] = 89] = "Tilde";
162
163
  /** `&&` */
163
- Token[Token["Ampersand_Ampersand"] = 87] = "Ampersand_Ampersand";
164
+ Token[Token["Ampersand_Ampersand"] = 90] = "Ampersand_Ampersand";
164
165
  /** `||` */
165
- Token[Token["Bar_Bar"] = 88] = "Bar_Bar";
166
+ Token[Token["Bar_Bar"] = 91] = "Bar_Bar";
166
167
  /** `?` */
167
- Token[Token["Question"] = 89] = "Question";
168
+ Token[Token["Question"] = 92] = "Question";
168
169
  /** `:` */
169
- Token[Token["Colon"] = 90] = "Colon";
170
+ Token[Token["Colon"] = 93] = "Colon";
170
171
  /** `=` */
171
- Token[Token["Equals"] = 91] = "Equals";
172
- Token[Token["Plus_Equals"] = 92] = "Plus_Equals";
173
- Token[Token["Minus_Equals"] = 93] = "Minus_Equals";
174
- Token[Token["Asterisk_Equals"] = 94] = "Asterisk_Equals";
175
- Token[Token["Asterisk_Asterisk_Equals"] = 95] = "Asterisk_Asterisk_Equals";
176
- Token[Token["Slash_Equals"] = 96] = "Slash_Equals";
177
- Token[Token["Percent_Equals"] = 97] = "Percent_Equals";
178
- Token[Token["LessThan_LessThan_Equals"] = 98] = "LessThan_LessThan_Equals";
179
- Token[Token["GreaterThan_GreaterThan_Equals"] = 99] = "GreaterThan_GreaterThan_Equals";
180
- Token[Token["GreaterThan_GreaterThan_GreaterThan_Equals"] = 100] = "GreaterThan_GreaterThan_GreaterThan_Equals";
181
- Token[Token["Ampersand_Equals"] = 101] = "Ampersand_Equals";
182
- Token[Token["Bar_Equals"] = 102] = "Bar_Equals";
183
- Token[Token["Caret_Equals"] = 103] = "Caret_Equals";
184
- Token[Token["At"] = 104] = "At";
172
+ Token[Token["Equals"] = 94] = "Equals";
173
+ Token[Token["Plus_Equals"] = 95] = "Plus_Equals";
174
+ Token[Token["Minus_Equals"] = 96] = "Minus_Equals";
175
+ Token[Token["Asterisk_Equals"] = 97] = "Asterisk_Equals";
176
+ Token[Token["Asterisk_Asterisk_Equals"] = 98] = "Asterisk_Asterisk_Equals";
177
+ Token[Token["Slash_Equals"] = 99] = "Slash_Equals";
178
+ Token[Token["Percent_Equals"] = 100] = "Percent_Equals";
179
+ Token[Token["LessThan_LessThan_Equals"] = 101] = "LessThan_LessThan_Equals";
180
+ Token[Token["GreaterThan_GreaterThan_Equals"] = 102] = "GreaterThan_GreaterThan_Equals";
181
+ Token[Token["GreaterThan_GreaterThan_GreaterThan_Equals"] = 103] = "GreaterThan_GreaterThan_GreaterThan_Equals";
182
+ Token[Token["Ampersand_Equals"] = 104] = "Ampersand_Equals";
183
+ Token[Token["Bar_Equals"] = 105] = "Bar_Equals";
184
+ Token[Token["Caret_Equals"] = 106] = "Caret_Equals";
185
+ Token[Token["At"] = 107] = "At";
185
186
  /** `??=` */
186
- Token[Token["Question_Question_Equals"] = 105] = "Question_Question_Equals";
187
+ Token[Token["Question_Question_Equals"] = 108] = "Question_Question_Equals";
187
188
  /** `||=` */
188
- Token[Token["Bar_Bar_Equals"] = 106] = "Bar_Bar_Equals";
189
+ Token[Token["Bar_Bar_Equals"] = 109] = "Bar_Bar_Equals";
189
190
  /** `&&=` */
190
- Token[Token["Ampersand_Ampersand_Equals"] = 107] = "Ampersand_Ampersand_Equals";
191
+ Token[Token["Ampersand_Ampersand_Equals"] = 110] = "Ampersand_Ampersand_Equals";
191
192
  /** `??` */
192
- Token[Token["Question_Question"] = 108] = "Question_Question";
193
+ Token[Token["Question_Question"] = 111] = "Question_Question";
193
194
  /** `?.` */
194
- Token[Token["Question_Dot"] = 109] = "Question_Dot";
195
+ Token[Token["Question_Dot"] = 112] = "Question_Dot";
195
196
  /** `!.` */
196
- Token[Token["Exclamation_Dot"] = 110] = "Exclamation_Dot";
197
+ Token[Token["Exclamation_Dot"] = 113] = "Exclamation_Dot";
197
198
  // custom native types for pebble
198
- Token[Token["Data"] = 111] = "Data";
199
- Token[Token["Bytes"] = 112] = "Bytes";
200
- Token[Token["Optional"] = 113] = "Optional";
201
- Token[Token["List"] = 114] = "List";
202
- Token[Token["LinearMap"] = 115] = "LinearMap";
199
+ Token[Token["Data"] = 114] = "Data";
200
+ Token[Token["Bytes"] = 115] = "Bytes";
201
+ Token[Token["Optional"] = 116] = "Optional";
202
+ Token[Token["List"] = 117] = "List";
203
+ Token[Token["LinearMap"] = 118] = "LinearMap";
203
204
  // struct decl modifiers
204
205
  // taggedModifier, // `tagged` data struct
205
- Token[Token["Runtime"] = 116] = "Runtime";
206
+ Token[Token["Runtime"] = 119] = "Runtime";
206
207
  // literals
207
- Token[Token["Identifier"] = 117] = "Identifier";
208
- Token[Token["StringLiteral"] = 118] = "StringLiteral";
209
- Token[Token["HexBytesLiteral"] = 119] = "HexBytesLiteral";
210
- Token[Token["IntegerLiteral"] = 120] = "IntegerLiteral";
208
+ Token[Token["Identifier"] = 120] = "Identifier";
209
+ Token[Token["StringLiteral"] = 121] = "StringLiteral";
210
+ Token[Token["HexBytesLiteral"] = 122] = "HexBytesLiteral";
211
+ Token[Token["IntegerLiteral"] = 123] = "IntegerLiteral";
211
212
  // FloatLiteral,
212
- Token[Token["StringTemplateLiteralQuote"] = 121] = "StringTemplateLiteralQuote";
213
+ Token[Token["StringTemplateLiteralQuote"] = 124] = "StringTemplateLiteralQuote";
213
214
  // meta
214
- Token[Token["Invalid"] = 122] = "Invalid";
215
- Token[Token["EndOfFile"] = 123] = "EndOfFile";
215
+ Token[Token["Invalid"] = 125] = "Invalid";
216
+ Token[Token["EndOfFile"] = 126] = "EndOfFile";
216
217
  })(Token || (Token = {}));
217
218
  Object.freeze(Token);
218
219
  /*
@@ -144,7 +144,8 @@ export function tokenFromKeyword(text) {
144
144
  case 110 /* CharCode.n */: {
145
145
  // if (text === "new") return Token.New;
146
146
  // if (text === "undefined") return Token.Null;
147
- // if (text === "namespace") return Token.Namespace;
147
+ if (text === "namespace")
148
+ return Token.Namespace;
148
149
  // replaced by "int"
149
150
  // if (text === "number") return Token.Number;
150
151
  break;
@@ -156,11 +157,9 @@ export function tokenFromKeyword(text) {
156
157
  break;
157
158
  }
158
159
  case 112 /* CharCode.p */: {
159
- // if (len === 7) {
160
- // if (text === "private") return Token.Private;
161
- // if (text === "package") return Token.Package;
162
- // break;
163
- // }
160
+ if (text === "private")
161
+ return Token.Private;
162
+ // if (text === "package") return Token.Package;
164
163
  // if (text === "public") return Token.Public;
165
164
  // if (text === "protected") return Token.Protected;
166
165
  if (text === "param")
@@ -206,6 +205,8 @@ export function tokenFromKeyword(text) {
206
205
  return Token.This;
207
206
  if (text === "type")
208
207
  return Token.Type;
208
+ if (text === "test")
209
+ return Token.Test;
209
210
  break;
210
211
  }
211
212
  if (text === "trace")
@@ -225,6 +226,8 @@ export function tokenFromKeyword(text) {
225
226
  case 118 /* CharCode.v */: {
226
227
  if (text === "var")
227
228
  return Token.Var;
229
+ if (text === "via")
230
+ return Token.Via;
228
231
  if (text === "void")
229
232
  return Token.Void;
230
233
  if (text === "vote")
@@ -0,0 +1 @@
1
+ export declare function semverSatisfies(version: string, range: string): boolean;