@apple/tree-sitter-pkl 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +46 -0
- package/.gitattributes +50 -0
- package/CHANGELOG.adoc +48 -0
- package/CMakeLists.txt +66 -0
- package/Cargo.lock +21 -21
- package/Cargo.toml +1 -1
- package/Makefile +97 -0
- package/README.md +11 -13
- package/bindings/c/tree-sitter-pkl.pc.in +10 -0
- package/bindings/c/tree_sitter/tree-sitter-pkl.h +16 -0
- package/bindings/go/binding.go +15 -0
- package/bindings/go/binding_test.go +15 -0
- package/bindings/node/binding_test.js +9 -0
- package/bindings/node/index.d.ts +27 -0
- package/bindings/python/tests/test_binding.py +12 -0
- package/bindings/python/tree_sitter_pkl/__init__.py +42 -0
- package/bindings/python/tree_sitter_pkl/__init__.pyi +10 -0
- package/bindings/python/tree_sitter_pkl/binding.c +35 -0
- package/bindings/python/tree_sitter_pkl/py.typed +0 -0
- package/bindings/swift/TreeSitterPklTests/TreeSitterPklTests.swift +12 -0
- package/go.mod +5 -0
- package/gradle.properties +5 -0
- package/gradlew +251 -0
- package/gradlew.bat +94 -0
- package/grammar.js +223 -193
- package/licenserc.toml +23 -0
- package/package.json +3 -2
- package/pyproject.toml +29 -0
- package/queries/highlights.scm +11 -16
- package/queries/injections.scm +1 -1
- package/queries/locals.scm +2 -2
- package/scripts/license-header.txt +13 -0
- package/setup.py +77 -0
- package/src/grammar.json +957 -900
- package/src/node-types.json +4392 -2028
- package/src/parser.c +31780 -35682
- package/src/scanner.c +42 -6
- package/src/tree_sitter/alloc.h +4 -4
- package/src/tree_sitter/array.h +2 -1
- package/src/tree_sitter/parser.h +29 -7
- package/test/corpus/basic/annotation.txt +28 -30
- package/test/corpus/basic/comments.txt +5 -5
- package/test/corpus/basic/shebangComment.txt +1 -1
- package/test/corpus/basic/types.txt +86 -131
- package/test/corpus/class/constModifier.txt +4 -5
- package/test/corpus/class/fixedModifier.txt +4 -5
- package/test/corpus/expr/binary.txt +75 -77
- package/test/corpus/expr/binary2.txt +18 -0
- package/test/corpus/expr/functionLiteral.txt +7 -8
- package/test/corpus/expr/if.txt +3 -3
- package/test/corpus/expr/import.txt +1 -1
- package/test/corpus/expr/let.txt +2 -2
- package/test/corpus/expr/new.txt +8 -10
- package/test/corpus/expr/qualifiedAccess.txt +34 -27
- package/test/corpus/expr/read.txt +8 -11
- package/test/corpus/expr/subscript.txt +48 -0
- package/test/corpus/expr/super.txt +27 -0
- package/test/corpus/expr/throw.txt +2 -3
- package/test/corpus/expr/trace.txt +2 -3
- package/test/corpus/expr/typeTest.txt +29 -0
- package/test/corpus/expr/unaryMinus.txt +22 -0
- package/test/corpus/module/moduleHeader1.txt +1 -1
- package/test/corpus/module/moduleHeader2.txt +1 -1
- package/test/corpus/module/moduleHeader3.error.txt +5 -5
- package/test/corpus/module/moduleHeader4.txt +1 -1
- package/test/corpus/number/underscores.txt +25 -25
- package/test/corpus/object/mixedEntriesAndElements.txt +52 -0
- package/test/corpus/object/objectAmendChain.txt +4 -4
- package/test/corpus/object/objectBodyParams.txt +21 -0
- package/test/corpus/object/objectElementWithTypeConstraint +30 -0
- package/test/corpus/object/objectElementsWithParens.txt +10 -10
- package/test/corpus/object/objectElementsWithTypeParams +65 -0
- package/test/corpus/object/objectGenerator.txt +8 -8
- package/test/corpus/object/objectMember.txt +27 -27
- package/test/corpus/object/objectMemberPredicate.txt +14 -14
- package/test/corpus/object/objectSpread.txt +8 -8
- package/test/corpus/object/objectWhenGenerator.txt +10 -10
- package/test/corpus/snippetTests/annotation/annotation1.txt +284 -0
- package/test/corpus/snippetTests/annotation/annotation2.txt +20 -0
- package/test/corpus/snippetTests/annotation/annotation3.txt +24 -0
- package/test/corpus/snippetTests/annotation/annotation4.txt +32 -0
- package/test/corpus/snippetTests/annotation/annotation5.txt +28 -0
- package/test/corpus/snippetTests/annotation/annotation6.txt +19 -0
- package/test/corpus/snippetTests/annotation/annotationIsNotExpression.txt +29 -0
- package/test/corpus/snippetTests/annotation/deprecated1.txt +385 -0
- package/test/corpus/snippetTests/annotation/deprecated2.txt +99 -0
- package/test/corpus/snippetTests/annotation/deprecated3.txt +155 -0
- package/test/corpus/snippetTests/annotation/deprecatedNoRepeatedWarnings.txt +58 -0
- package/test/corpus/snippetTests/annotation/deprecatedWithMessage1.txt +405 -0
- package/test/corpus/snippetTests/annotation/deprecatedWithMessage2.txt +104 -0
- package/test/corpus/snippetTests/annotation/deprecatedWithMessage3.txt +155 -0
- package/test/corpus/snippetTests/annotation/deprecationSuperMethod.txt +144 -0
- package/test/corpus/snippetTests/api/Resource.txt +128 -0
- package/test/corpus/snippetTests/api/analyze1.txt +176 -0
- package/test/corpus/snippetTests/api/any.txt +523 -0
- package/test/corpus/snippetTests/api/anyConverter.txt +161 -0
- package/test/corpus/snippetTests/api/baseModule.txt +170 -0
- package/test/corpus/snippetTests/api/dataSize.txt +1165 -0
- package/test/corpus/snippetTests/api/duration.txt +800 -0
- package/test/corpus/snippetTests/api/float.txt +1334 -0
- package/test/corpus/snippetTests/api/int.txt +1142 -0
- package/test/corpus/snippetTests/api/intseq.txt +1021 -0
- package/test/corpus/snippetTests/api/jsonParser1.txt +279 -0
- package/test/corpus/snippetTests/api/jsonParser2.txt +294 -0
- package/test/corpus/snippetTests/api/jsonParser3.txt +143 -0
- package/test/corpus/snippetTests/api/jsonParser4.txt +112 -0
- package/test/corpus/snippetTests/api/jsonParser5.txt +171 -0
- package/test/corpus/snippetTests/api/jsonRenderer1.json.txt +41 -0
- package/test/corpus/snippetTests/api/jsonRenderer2b.txt +300 -0
- package/test/corpus/snippetTests/api/jsonRenderer3.json.txt +334 -0
- package/test/corpus/snippetTests/api/jsonRenderer4.txt +388 -0
- package/test/corpus/snippetTests/api/jsonRenderer5.txt +388 -0
- package/test/corpus/snippetTests/api/jsonRenderer6.json.txt +163 -0
- package/test/corpus/snippetTests/api/jsonRenderer7.txt +53 -0
- package/test/corpus/snippetTests/api/jsonRenderer8.txt +30 -0
- package/test/corpus/snippetTests/api/jsonRendererEmptyComposites.txt +114 -0
- package/test/corpus/snippetTests/api/jsonnetRenderer3.jsonnet.txt +356 -0
- package/test/corpus/snippetTests/api/jsonnetRenderer4.txt +393 -0
- package/test/corpus/snippetTests/api/jsonnetRenderer5.txt +393 -0
- package/test/corpus/snippetTests/api/jsonnetRenderer6.jsonnet.txt +169 -0
- package/test/corpus/snippetTests/api/jsonnetRenderer7.txt +36 -0
- package/test/corpus/snippetTests/api/list.txt +4432 -0
- package/test/corpus/snippetTests/api/listNullable.txt +1513 -0
- package/test/corpus/snippetTests/api/map.txt +1144 -0
- package/test/corpus/snippetTests/api/mapping.txt +948 -0
- package/test/corpus/snippetTests/api/mathModule.txt +1426 -0
- package/test/corpus/snippetTests/api/module.txt +77 -0
- package/test/corpus/snippetTests/api/moduleOutput.txt +24 -0
- package/test/corpus/snippetTests/api/moduleOutput2.txt +25 -0
- package/test/corpus/snippetTests/api/pListRenderer1.plist.txt +41 -0
- package/test/corpus/snippetTests/api/pListRenderer3.plist.txt +348 -0
- package/test/corpus/snippetTests/api/pListRenderer4.txt +375 -0
- package/test/corpus/snippetTests/api/pListRenderer5.txt +424 -0
- package/test/corpus/snippetTests/api/pListRenderer6.plist.txt +163 -0
- package/test/corpus/snippetTests/api/pListRenderer7.txt +30 -0
- package/test/corpus/snippetTests/api/pair.txt +170 -0
- package/test/corpus/snippetTests/api/pcfRenderer1.txt +95 -0
- package/test/corpus/snippetTests/api/pcfRenderer2b.txt +301 -0
- package/test/corpus/snippetTests/api/pcfRenderer3.txt +350 -0
- package/test/corpus/snippetTests/api/pcfRenderer4.txt +391 -0
- package/test/corpus/snippetTests/api/pcfRenderer5.txt +460 -0
- package/test/corpus/snippetTests/api/pcfRenderer6.txt +118 -0
- package/test/corpus/snippetTests/api/pcfRenderer8.txt +16 -0
- package/test/corpus/snippetTests/api/platformModule.txt +147 -0
- package/test/corpus/snippetTests/api/plistRenderer2b.txt +300 -0
- package/test/corpus/snippetTests/api/propertiesRenderer1.properties.txt +41 -0
- package/test/corpus/snippetTests/api/propertiesRenderer10.properties.txt +24 -0
- package/test/corpus/snippetTests/api/propertiesRenderer11.txt +30 -0
- package/test/corpus/snippetTests/api/propertiesRenderer2b.txt +303 -0
- package/test/corpus/snippetTests/api/propertiesRenderer4.txt +484 -0
- package/test/corpus/snippetTests/api/propertiesRenderer5.txt +491 -0
- package/test/corpus/snippetTests/api/propertiesRenderer8.properties.txt +628 -0
- package/test/corpus/snippetTests/api/propertiesRenderer9.properties.txt +292 -0
- package/test/corpus/snippetTests/api/propertiesRendererBug66849708.properties.txt +106 -0
- package/test/corpus/snippetTests/api/protobuf2.txt +408 -0
- package/test/corpus/snippetTests/api/reflect1.txt +1686 -0
- package/test/corpus/snippetTests/api/reflect2.txt +480 -0
- package/test/corpus/snippetTests/api/reflect3.txt +193 -0
- package/test/corpus/snippetTests/api/reflectedDeclaration.txt +64 -0
- package/test/corpus/snippetTests/api/regex.txt +320 -0
- package/test/corpus/snippetTests/api/releaseModule.txt +262 -0
- package/test/corpus/snippetTests/api/renderDirective2.txt +374 -0
- package/test/corpus/snippetTests/api/semverModule.txt +2224 -0
- package/test/corpus/snippetTests/api/set.txt +3891 -0
- package/test/corpus/snippetTests/api/setNullable.txt +1113 -0
- package/test/corpus/snippetTests/api/typeAliases.txt +449 -0
- package/test/corpus/snippetTests/api/typeConverters.txt +211 -0
- package/test/corpus/snippetTests/api/xmlRenderer1.xml.txt +174 -0
- package/test/corpus/snippetTests/api/xmlRenderer2b.txt +306 -0
- package/test/corpus/snippetTests/api/xmlRenderer3.xml.txt +320 -0
- package/test/corpus/snippetTests/api/xmlRenderer4.txt +401 -0
- package/test/corpus/snippetTests/api/xmlRenderer5.txt +402 -0
- package/test/corpus/snippetTests/api/xmlRenderer6.xml.txt +169 -0
- package/test/corpus/snippetTests/api/xmlRenderer8.txt +36 -0
- package/test/corpus/snippetTests/api/xmlRendererCData.xml.txt +48 -0
- package/test/corpus/snippetTests/api/xmlRendererElement.xml.txt +103 -0
- package/test/corpus/snippetTests/api/xmlRendererHtml.xml.txt +212 -0
- package/test/corpus/snippetTests/api/xmlRendererInline.xml.txt +175 -0
- package/test/corpus/snippetTests/api/xmlRendererInline3.xml.txt +152 -0
- package/test/corpus/snippetTests/api/yamlParser1Yaml11.txt +22 -0
- package/test/corpus/snippetTests/api/yamlParser1Yaml12.txt +22 -0
- package/test/corpus/snippetTests/api/yamlParser2.txt +253 -0
- package/test/corpus/snippetTests/api/yamlParser3.txt +194 -0
- package/test/corpus/snippetTests/api/yamlParser4.txt +198 -0
- package/test/corpus/snippetTests/api/yamlParser5.txt +86 -0
- package/test/corpus/snippetTests/api/yamlParser6.txt +92 -0
- package/test/corpus/snippetTests/api/yamlRenderer1.yml.txt +41 -0
- package/test/corpus/snippetTests/api/yamlRenderer2b.txt +300 -0
- package/test/corpus/snippetTests/api/yamlRenderer3.yml.txt +342 -0
- package/test/corpus/snippetTests/api/yamlRenderer4.txt +441 -0
- package/test/corpus/snippetTests/api/yamlRenderer5.txt +441 -0
- package/test/corpus/snippetTests/api/yamlRenderer6.yml.txt +163 -0
- package/test/corpus/snippetTests/api/yamlRenderer7.txt +30 -0
- package/test/corpus/snippetTests/api/yamlRenderer8.yml.txt +142 -0
- package/test/corpus/snippetTests/api/yamlRendererBug66849708.yml.txt +106 -0
- package/test/corpus/snippetTests/api/yamlRendererEmpty.yml.txt +326 -0
- package/test/corpus/snippetTests/api/yamlRendererIndentationWidth2.yml.txt +227 -0
- package/test/corpus/snippetTests/api/yamlRendererIndentationWidth4.yml.txt +32 -0
- package/test/corpus/snippetTests/api/yamlRendererIndentationWidth5.yml.txt +32 -0
- package/test/corpus/snippetTests/api/yamlRendererStream1.txt +140 -0
- package/test/corpus/snippetTests/api/yamlRendererStringsYaml11.txt +22 -0
- package/test/corpus/snippetTests/api/yamlRendererStringsYaml12.txt +22 -0
- package/test/corpus/snippetTests/basic/amendsChains.txt +275 -0
- package/test/corpus/snippetTests/basic/as.txt +1468 -0
- package/test/corpus/snippetTests/basic/as2.txt +1077 -0
- package/test/corpus/snippetTests/basic/as3.txt +297 -0
- package/test/corpus/snippetTests/basic/baseModule.txt +11 -0
- package/test/corpus/snippetTests/basic/boolean.txt +430 -0
- package/test/corpus/snippetTests/basic/constModifier.txt +324 -0
- package/test/corpus/snippetTests/basic/constModifier2.txt +227 -0
- package/test/corpus/snippetTests/basic/constModifier3.txt +136 -0
- package/test/corpus/snippetTests/basic/constModifier4.txt +64 -0
- package/test/corpus/snippetTests/basic/constModifier5.txt +68 -0
- package/test/corpus/snippetTests/basic/dataSize.txt +658 -0
- package/test/corpus/snippetTests/basic/duration.txt +618 -0
- package/test/corpus/snippetTests/basic/exceptions.txt +18 -0
- package/test/corpus/snippetTests/basic/fixedProperty1.txt +62 -0
- package/test/corpus/snippetTests/basic/fixedProperty2.txt +33 -0
- package/test/corpus/snippetTests/basic/fixedProperty3.txt +31 -0
- package/test/corpus/snippetTests/basic/fixedProperty4.txt +15 -0
- package/test/corpus/snippetTests/basic/fixedProperty5.txt +20 -0
- package/test/corpus/snippetTests/basic/fixedProperty6.txt +15 -0
- package/test/corpus/snippetTests/basic/if.txt +83 -0
- package/test/corpus/snippetTests/basic/import1.txt +51 -0
- package/test/corpus/snippetTests/basic/import1b.txt +51 -0
- package/test/corpus/snippetTests/basic/import2.txt +34 -0
- package/test/corpus/snippetTests/basic/import3.txt +34 -0
- package/test/corpus/snippetTests/basic/imported.txt +19 -0
- package/test/corpus/snippetTests/basic/indexExpressions.txt +53 -0
- package/test/corpus/snippetTests/basic/intseq.txt +365 -0
- package/test/corpus/snippetTests/basic/is.txt +1504 -0
- package/test/corpus/snippetTests/basic/is2.txt +677 -0
- package/test/corpus/snippetTests/basic/let.txt +515 -0
- package/test/corpus/snippetTests/basic/letTyped.txt +293 -0
- package/test/corpus/snippetTests/basic/list.txt +252 -0
- package/test/corpus/snippetTests/basic/localMethodDynamicBinding.txt +187 -0
- package/test/corpus/snippetTests/basic/localMethodInAmendingModule.txt +216 -0
- package/test/corpus/snippetTests/basic/localMethodOverride1.txt +152 -0
- package/test/corpus/snippetTests/basic/localMethodOverride2.txt +173 -0
- package/test/corpus/snippetTests/basic/localMethodTyped.txt +564 -0
- package/test/corpus/snippetTests/basic/localMethodTyped2.txt +580 -0
- package/test/corpus/snippetTests/basic/localMethodTyped3.txt +218 -0
- package/test/corpus/snippetTests/basic/localMethodTyped4.txt +232 -0
- package/test/corpus/snippetTests/basic/localMethodTyped5.txt +211 -0
- package/test/corpus/snippetTests/basic/localMethodTyped6.txt +225 -0
- package/test/corpus/snippetTests/basic/localMethodUntyped.txt +488 -0
- package/test/corpus/snippetTests/basic/localModuleMemberOverride1.txt +227 -0
- package/test/corpus/snippetTests/basic/localModuleMemberOverride2.txt +202 -0
- package/test/corpus/snippetTests/basic/localProperty1.txt +33 -0
- package/test/corpus/snippetTests/basic/localProperty2.txt +77 -0
- package/test/corpus/snippetTests/basic/localPropertyAmendInAmendingModule.txt +25 -0
- package/test/corpus/snippetTests/basic/localPropertyInAmendingModule.txt +205 -0
- package/test/corpus/snippetTests/basic/localPropertyOverride1.txt +131 -0
- package/test/corpus/snippetTests/basic/localPropertyOverride2.txt +152 -0
- package/test/corpus/snippetTests/basic/localPropertyOverride3.txt +52 -0
- package/test/corpus/snippetTests/basic/localTypedClassMember.txt +277 -0
- package/test/corpus/snippetTests/basic/localTypedModuleMember.txt +265 -0
- package/test/corpus/snippetTests/basic/localTypedObjectMember.txt +268 -0
- package/test/corpus/snippetTests/basic/map.txt +398 -0
- package/test/corpus/snippetTests/basic/minPklVersion.txt +40 -0
- package/test/corpus/snippetTests/basic/moduleRef1.txt +108 -0
- package/test/corpus/snippetTests/basic/moduleRef2.txt +80 -0
- package/test/corpus/snippetTests/basic/moduleRef3.txt +112 -0
- package/test/corpus/snippetTests/basic/moduleRefLibrary.txt +33 -0
- package/test/corpus/snippetTests/basic/new.txt +1028 -0
- package/test/corpus/snippetTests/basic/newInAmendingModuleMethod.txt +116 -0
- package/test/corpus/snippetTests/basic/newInsideIf.txt +841 -0
- package/test/corpus/snippetTests/basic/newInsideLet.txt +869 -0
- package/test/corpus/snippetTests/basic/newType.txt +686 -0
- package/test/corpus/snippetTests/basic/nonNull.txt +131 -0
- package/test/corpus/snippetTests/basic/nullable.txt +239 -0
- package/test/corpus/snippetTests/basic/objectMember.txt +129 -0
- package/test/corpus/snippetTests/basic/objectMemberInvalid.txt +18 -0
- package/test/corpus/snippetTests/basic/objectMemberInvalid2.txt +18 -0
- package/test/corpus/snippetTests/basic/objectMemberInvalid3.txt +22 -0
- package/test/corpus/snippetTests/basic/parens.txt +59 -0
- package/test/corpus/snippetTests/basic/propertyDefaults.txt +126 -0
- package/test/corpus/snippetTests/basic/read.txt +250 -0
- package/test/corpus/snippetTests/basic/readGlob.txt +209 -0
- package/test/corpus/snippetTests/basic/semicolon.txt +18 -0
- package/test/corpus/snippetTests/basic/set.txt +340 -0
- package/test/corpus/snippetTests/basic/trace.txt +130 -0
- package/test/corpus/snippetTests/basic/typeResolution1.txt +31 -0
- package/test/corpus/snippetTests/basic/typeResolution2.txt +37 -0
- package/test/corpus/snippetTests/basic/typeResolution3.txt +63 -0
- package/test/corpus/snippetTests/basic/typeResolution4.txt +61 -0
- package/test/corpus/snippetTests/basic/underscore.txt +419 -0
- package/test/corpus/snippetTests/classes/class1.txt +54 -0
- package/test/corpus/snippetTests/classes/class2.txt +123 -0
- package/test/corpus/snippetTests/classes/class2a.txt +110 -0
- package/test/corpus/snippetTests/classes/class3.txt +65 -0
- package/test/corpus/snippetTests/classes/class4.txt +58 -0
- package/test/corpus/snippetTests/classes/constraints1.txt +141 -0
- package/test/corpus/snippetTests/classes/constraints11.txt +201 -0
- package/test/corpus/snippetTests/classes/constraints12.txt +204 -0
- package/test/corpus/snippetTests/classes/constraints13.txt +86 -0
- package/test/corpus/snippetTests/classes/constraints14.txt +39 -0
- package/test/corpus/snippetTests/classes/constraints2.txt +69 -0
- package/test/corpus/snippetTests/classes/constraints3.txt +97 -0
- package/test/corpus/snippetTests/classes/constraints4.txt +86 -0
- package/test/corpus/snippetTests/classes/constraints5.txt +71 -0
- package/test/corpus/snippetTests/classes/constraints6.txt +85 -0
- package/test/corpus/snippetTests/classes/constraints7.txt +148 -0
- package/test/corpus/snippetTests/classes/constraints8.txt +103 -0
- package/test/corpus/snippetTests/classes/constraints9.txt +92 -0
- package/test/corpus/snippetTests/classes/constraintsLambdaThis.txt +216 -0
- package/test/corpus/snippetTests/classes/equality.txt +123 -0
- package/test/corpus/snippetTests/classes/externalClass.txt +12 -0
- package/test/corpus/snippetTests/classes/externalFunction.txt +18 -0
- package/test/corpus/snippetTests/classes/externalProperty.txt +20 -0
- package/test/corpus/snippetTests/classes/functions1.txt +77 -0
- package/test/corpus/snippetTests/classes/functions2.txt +56 -0
- package/test/corpus/snippetTests/classes/functions3.txt +81 -0
- package/test/corpus/snippetTests/classes/functions4.txt +125 -0
- package/test/corpus/snippetTests/classes/inheritance1.txt +98 -0
- package/test/corpus/snippetTests/classes/inheritance2.txt +91 -0
- package/test/corpus/snippetTests/classes/invalidInstantiation1.txt +16 -0
- package/test/corpus/snippetTests/classes/invalidInstantiation2.txt +21 -0
- package/test/corpus/snippetTests/classes/lambdaConstraints1.txt +190 -0
- package/test/corpus/snippetTests/classes/listConstraints1.txt +312 -0
- package/test/corpus/snippetTests/classes/mapConstraints1.txt +495 -0
- package/test/corpus/snippetTests/classes/nullableTypes.txt +187 -0
- package/test/corpus/snippetTests/classes/setConstraints1.txt +312 -0
- package/test/corpus/snippetTests/classes/supercalls.txt +317 -0
- package/test/corpus/snippetTests/classes/unionTypes.txt +543 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorAlias.txt +93 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorDifferent1.txt +47 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorDifferent2.txt +52 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorMultipleAliases.txt +36 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorNested.txt +99 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorSimple.txt +42 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorString1.txt +43 -0
- package/test/corpus/snippetTests/classes/unionTypesErrorString2.txt +85 -0
- package/test/corpus/snippetTests/classes/wrongType1.txt +34 -0
- package/test/corpus/snippetTests/classes/wrongType2.txt +47 -0
- package/test/corpus/snippetTests/classes/wrongType3.txt +71 -0
- package/test/corpus/snippetTests/classes/wrongType4.txt +77 -0
- package/test/corpus/snippetTests/classes/wrongType6.txt +43 -0
- package/test/corpus/snippetTests/errors/abstractOpenMember.txt +13 -0
- package/test/corpus/snippetTests/errors/analyzeImportsCannotFindModule.txt +41 -0
- package/test/corpus/snippetTests/errors/analyzeImportsInvalidGlob.txt +41 -0
- package/test/corpus/snippetTests/errors/analyzeInvalidHttpModule.txt +26 -0
- package/test/corpus/snippetTests/errors/analyzeInvalidModuleUri.txt +26 -0
- package/test/corpus/snippetTests/errors/analyzeRelativeModuleUri.txt +26 -0
- package/test/corpus/snippetTests/errors/anyConverterError.txt +56 -0
- package/test/corpus/snippetTests/errors/baseModule.txt +24 -0
- package/test/corpus/snippetTests/errors/cannotAmendFixedProperty1.txt +62 -0
- package/test/corpus/snippetTests/errors/cannotAmendFixedProperty2.txt +24 -0
- package/test/corpus/snippetTests/errors/cannotAssignFixedProperty1.txt +45 -0
- package/test/corpus/snippetTests/errors/cannotAssignFixedProperty2.txt +19 -0
- package/test/corpus/snippetTests/errors/cannotAssignFixedProperty3.txt +31 -0
- package/test/corpus/snippetTests/errors/cannotAssignToNothing.txt +15 -0
- package/test/corpus/snippetTests/errors/cannotChangeFixed1.txt +35 -0
- package/test/corpus/snippetTests/errors/cannotChangeFixed2.txt +35 -0
- package/test/corpus/snippetTests/errors/cannotFindMapKey.txt +39 -0
- package/test/corpus/snippetTests/errors/cannotFindStdLibModule.txt +20 -0
- package/test/corpus/snippetTests/errors/cannotInferParent2.txt +14 -0
- package/test/corpus/snippetTests/errors/cannotInferParent3.txt +48 -0
- package/test/corpus/snippetTests/errors/cannotInstantiateAbstractModule.txt +21 -0
- package/test/corpus/snippetTests/errors/cannotRenderMixin.txt +41 -0
- package/test/corpus/snippetTests/errors/classExtendsSelf.txt +27 -0
- package/test/corpus/snippetTests/errors/constraintDetails1.txt +80 -0
- package/test/corpus/snippetTests/errors/constraintDetails2.txt +77 -0
- package/test/corpus/snippetTests/errors/constraintDetails3.txt +87 -0
- package/test/corpus/snippetTests/errors/duplicateTypeParameter.txt +22 -0
- package/test/corpus/snippetTests/errors/extendExternalClass.txt +12 -0
- package/test/corpus/snippetTests/errors/extendTypeAlias.txt +33 -0
- package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateMethods.txt +30 -0
- package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateProperties.txt +28 -0
- package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverThisValue.txt +21 -0
- package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverTyped.txt +27 -0
- package/test/corpus/snippetTests/errors/forGeneratorDuplicateParams1.txt +38 -0
- package/test/corpus/snippetTests/errors/fullStackTraces.txt +64 -0
- package/test/corpus/snippetTests/errors/fullStackTraces2.txt +56 -0
- package/test/corpus/snippetTests/errors/functionNotFoundInClass.txt +35 -0
- package/test/corpus/snippetTests/errors/functionNotFoundInModule.txt +25 -0
- package/test/corpus/snippetTests/errors/functionNotFoundInScope.txt +38 -0
- package/test/corpus/snippetTests/errors/functionNotFoundMaybeLambda.txt +24 -0
- package/test/corpus/snippetTests/errors/functionNotFoundMaybeProperty.txt +18 -0
- package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias1.txt +16 -0
- package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias2.txt +16 -0
- package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias3.txt +15 -0
- package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias4.txt +15 -0
- package/test/corpus/snippetTests/errors/invalidClassMethodModifier.txt +29 -0
- package/test/corpus/snippetTests/errors/invalidClassModifier.txt +11 -0
- package/test/corpus/snippetTests/errors/invalidClassModifier2.txt +12 -0
- package/test/corpus/snippetTests/errors/invalidClassPropertyModifier.txt +31 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport1.txt +19 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport4.txt +19 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport5.txt +20 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport6.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport7.txt +21 -0
- package/test/corpus/snippetTests/errors/invalidGlobImport8.txt +22 -0
- package/test/corpus/snippetTests/errors/invalidGlobRead1.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidGlobRead2.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidGlobRead3.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidImportBackslashSep.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidImportUri.txt +19 -0
- package/test/corpus/snippetTests/errors/invalidMethodModifier.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidModuleModifier.txt +20 -0
- package/test/corpus/snippetTests/errors/invalidObjectPropertyModifier.txt +17 -0
- package/test/corpus/snippetTests/errors/invalidOutput1.txt +17 -0
- package/test/corpus/snippetTests/errors/invalidOutput2.txt +22 -0
- package/test/corpus/snippetTests/errors/invalidOutput3.txt +12 -0
- package/test/corpus/snippetTests/errors/invalidPropertyModifier.txt +16 -0
- package/test/corpus/snippetTests/errors/invalidTripleDotSyntax1.txt +11 -0
- package/test/corpus/snippetTests/errors/invalidTripleDotSyntax2.txt +11 -0
- package/test/corpus/snippetTests/errors/invalidTypeAliasModifier.txt +14 -0
- package/test/corpus/snippetTests/errors/invalidTypeName1.txt +24 -0
- package/test/corpus/snippetTests/errors/invalidTypeName2.txt +31 -0
- package/test/corpus/snippetTests/errors/invalidTypeName3.txt +19 -0
- package/test/corpus/snippetTests/errors/invalidTypeName4.txt +24 -0
- package/test/corpus/snippetTests/errors/letExpressionError1.txt +24 -0
- package/test/corpus/snippetTests/errors/letExpressionError2.txt +27 -0
- package/test/corpus/snippetTests/errors/letExpressionErrorTyped.txt +27 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError1.txt +24 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError2.txt +30 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError3.txt +36 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError4.txt +43 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError5.txt +40 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError6.txt +58 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError7.txt +42 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError8.txt +84 -0
- package/test/corpus/snippetTests/errors/listingTypeCheckError9.txt +97 -0
- package/test/corpus/snippetTests/errors/localFixedMember.txt +19 -0
- package/test/corpus/snippetTests/errors/localFunctionWithTypeParameter.txt +18 -0
- package/test/corpus/snippetTests/errors/localHiddenMember.txt +17 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError1.txt +29 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError10.txt +49 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError11.txt +106 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError2.txt +30 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError3.txt +30 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError4.txt +36 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError5.txt +41 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError6.txt +75 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError7.txt +45 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError8.txt +33 -0
- package/test/corpus/snippetTests/errors/mappingTypeCheckError9.txt +69 -0
- package/test/corpus/snippetTests/errors/missingLocalPropertyValue1.txt +15 -0
- package/test/corpus/snippetTests/errors/missingLocalPropertyValue2.txt +22 -0
- package/test/corpus/snippetTests/errors/moduleAmendsSelf.txt +13 -0
- package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck.txt +13 -0
- package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck2.txt +22 -0
- package/test/corpus/snippetTests/errors/moduleExpected.txt +43 -0
- package/test/corpus/snippetTests/errors/moduleExtendsSelf.txt +20 -0
- package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck.txt +13 -0
- package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck2.txt +22 -0
- package/test/corpus/snippetTests/errors/moduleImportVersionCheck.txt +20 -0
- package/test/corpus/snippetTests/errors/moduleWithHighMinPklVersion.txt +29 -0
- package/test/corpus/snippetTests/errors/noDefault.txt +23 -0
- package/test/corpus/snippetTests/errors/noDefault2.txt +31 -0
- package/test/corpus/snippetTests/errors/objectCannotHaveElement.txt +72 -0
- package/test/corpus/snippetTests/errors/objectCannotHaveElement2.txt +98 -0
- package/test/corpus/snippetTests/errors/objectCannotHavePredicateMember.txt +25 -0
- package/test/corpus/snippetTests/errors/outOfRange1.txt +14 -0
- package/test/corpus/snippetTests/errors/outOfRange2.txt +17 -0
- package/test/corpus/snippetTests/errors/outOfRange3.txt +21 -0
- package/test/corpus/snippetTests/errors/propertyNotFound1.txt +32 -0
- package/test/corpus/snippetTests/errors/propertyNotFound2.txt +18 -0
- package/test/corpus/snippetTests/errors/refusingToLoadModule.txt +18 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveElement.txt +38 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveEntry.txt +34 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveProperty.txt +34 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxCannotIterateOverTyped.txt +44 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxCannotSpreadListIntoMapping.txt +37 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry1.txt +39 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry2.txt +39 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty1.txt +32 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty2.txt +32 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxNullValue.txt +20 -0
- package/test/corpus/snippetTests/errors/spreadSyntaxUnknownTypedProperty.txt +47 -0
- package/test/corpus/snippetTests/errors/stackTraceWithQuotedMemberName.txt +23 -0
- package/test/corpus/snippetTests/errors/supercalls.txt +18 -0
- package/test/corpus/snippetTests/errors/typeMismatchHelper.txt +19 -0
- package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedClassName.txt +38 -0
- package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedModuleName.txt +28 -0
- package/test/corpus/snippetTests/errors/undefinedOp1.txt +12 -0
- package/test/corpus/snippetTests/errors/undefinedOp2.txt +14 -0
- package/test/corpus/snippetTests/errors/undefinedOp3.txt +24 -0
- package/test/corpus/snippetTests/errors/undefinedProperty1.txt +28 -0
- package/test/corpus/snippetTests/errors/undefinedProperty2.txt +15 -0
- package/test/corpus/snippetTests/errors/undefinedProperty3.txt +95 -0
- package/test/corpus/snippetTests/errors/undefinedProperty4.txt +141 -0
- package/test/corpus/snippetTests/errors/undefinedProperty5.txt +160 -0
- package/test/corpus/snippetTests/errors/undefinedProperty6.txt +40 -0
- package/test/corpus/snippetTests/errors/undefinedProperty7.txt +35 -0
- package/test/corpus/snippetTests/errors/undefinedProperty8.txt +34 -0
- package/test/corpus/snippetTests/errors/underscoreLambda.txt +37 -0
- package/test/corpus/snippetTests/errors/underscoreLet.txt +17 -0
- package/test/corpus/snippetTests/errors/userDefinedTypeParameter1.txt +22 -0
- package/test/corpus/snippetTests/errors/userDefinedTypeParameter2.txt +32 -0
- package/test/corpus/snippetTests/errors/wrongForGeneratorType1.txt +35 -0
- package/test/corpus/snippetTests/errors/wrongForGeneratorType2.txt +37 -0
- package/test/corpus/snippetTests/errors/wrongNumberOfMapArguments.txt +16 -0
- package/test/corpus/snippetTests/generators/duplicateDefinition1.txt +23 -0
- package/test/corpus/snippetTests/generators/duplicateDefinition2.txt +30 -0
- package/test/corpus/snippetTests/generators/duplicateDefinition3.txt +26 -0
- package/test/corpus/snippetTests/generators/elementGenerators.txt +2628 -0
- package/test/corpus/snippetTests/generators/elementGeneratorsTyped.txt +1593 -0
- package/test/corpus/snippetTests/generators/entryGenerators.txt +3013 -0
- package/test/corpus/snippetTests/generators/entryGeneratorsTyped.txt +1858 -0
- package/test/corpus/snippetTests/generators/forGeneratorInMixins.txt +301 -0
- package/test/corpus/snippetTests/generators/forGeneratorLexicalScope.txt +199 -0
- package/test/corpus/snippetTests/generators/forGeneratorNestedReference.txt +277 -0
- package/test/corpus/snippetTests/generators/forGeneratorNestedReference2.txt +98 -0
- package/test/corpus/snippetTests/generators/forGeneratorVariableShadowing.txt +177 -0
- package/test/corpus/snippetTests/generators/generatorNoMembers.txt +157 -0
- package/test/corpus/snippetTests/generators/predicateMembersDynamicListing.txt +461 -0
- package/test/corpus/snippetTests/generators/predicateMembersDynamicMapping.txt +473 -0
- package/test/corpus/snippetTests/generators/predicateMembersListing.txt +463 -0
- package/test/corpus/snippetTests/generators/predicateMembersMapping.txt +474 -0
- package/test/corpus/snippetTests/generators/predicateMembersThis.txt +82 -0
- package/test/corpus/snippetTests/generators/propertyGenerators.txt +104 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxDynamic.txt +411 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxListing.txt +496 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxMapping.txt +655 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxNoSpace.txt +32 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxNullable.txt +37 -0
- package/test/corpus/snippetTests/generators/spreadSyntaxTyped.txt +59 -0
- package/test/corpus/snippetTests/implementation/equality.txt +198 -0
- package/test/corpus/snippetTests/implementation/inequality.txt +198 -0
- package/test/corpus/snippetTests/internal/polymorphicCallSite.txt +499 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaDef.txt +310 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaExpr.txt +325 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaExternalClassError.txt +45 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaParameters.txt +155 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaParametersTyped.txt +420 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaThatReturnsAnotherLambda.txt +380 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaTooFewArgsError.txt +60 -0
- package/test/corpus/snippetTests/lambdas/amendLambdaTooManyArgsError.txt +62 -0
- package/test/corpus/snippetTests/lambdas/equality.txt +62 -0
- package/test/corpus/snippetTests/lambdas/inequality.txt +62 -0
- package/test/corpus/snippetTests/lambdas/lambda1.txt +85 -0
- package/test/corpus/snippetTests/lambdas/lambda2.txt +78 -0
- package/test/corpus/snippetTests/lambdas/lambda3.txt +381 -0
- package/test/corpus/snippetTests/lambdas/lambda4.txt +147 -0
- package/test/corpus/snippetTests/lambdas/lambda5.txt +307 -0
- package/test/corpus/snippetTests/lambdas/lambdaStackTrace1.txt +35 -0
- package/test/corpus/snippetTests/lambdas/lambdaStackTrace2.txt +37 -0
- package/test/corpus/snippetTests/lambdas/lambdaStackTrace3.txt +33 -0
- package/test/corpus/snippetTests/lambdas/pipeOperator.txt +189 -0
- package/test/corpus/snippetTests/lambdas/tooManyLambdaParams.txt +27 -0
- package/test/corpus/snippetTests/lambdas/typedLambdas.txt +278 -0
- package/test/corpus/snippetTests/lambdas/wrongArgumentListLength.txt +37 -0
- package/test/corpus/snippetTests/listings/cacheStealing.txt +56 -0
- package/test/corpus/snippetTests/listings/cacheStealingTypeCheck.txt +27 -0
- package/test/corpus/snippetTests/listings/default.txt +133 -0
- package/test/corpus/snippetTests/listings/equality.txt +341 -0
- package/test/corpus/snippetTests/listings/hashCode.txt +438 -0
- package/test/corpus/snippetTests/listings/inequality.txt +173 -0
- package/test/corpus/snippetTests/listings/listing1.txt +360 -0
- package/test/corpus/snippetTests/listings/listing2.txt +755 -0
- package/test/corpus/snippetTests/listings/listing3.txt +490 -0
- package/test/corpus/snippetTests/listings/listing4.txt +156 -0
- package/test/corpus/snippetTests/listings/listing6.txt +208 -0
- package/test/corpus/snippetTests/listings/listing7.txt +71 -0
- package/test/corpus/snippetTests/listings/typeCheck.txt +2506 -0
- package/test/corpus/snippetTests/listings/wrongIndex.txt +121 -0
- package/test/corpus/snippetTests/listings/wrongParent.txt +253 -0
- package/test/corpus/snippetTests/listings2/default.txt +157 -0
- package/test/corpus/snippetTests/listings2/equality.txt +358 -0
- package/test/corpus/snippetTests/listings2/inequality.txt +227 -0
- package/test/corpus/snippetTests/listings2/listing1.txt +372 -0
- package/test/corpus/snippetTests/listings2/listing2.txt +904 -0
- package/test/corpus/snippetTests/listings2/listing3.txt +568 -0
- package/test/corpus/snippetTests/listings2/typeCheck.txt +336 -0
- package/test/corpus/snippetTests/listings2/wrongIndex.txt +151 -0
- package/test/corpus/snippetTests/listings2/wrongParent.txt +313 -0
- package/test/corpus/snippetTests/mappings/default.txt +174 -0
- package/test/corpus/snippetTests/mappings/duplicateComputedKey.txt +85 -0
- package/test/corpus/snippetTests/mappings/duplicateConstantKey.txt +32 -0
- package/test/corpus/snippetTests/mappings/equality.txt +383 -0
- package/test/corpus/snippetTests/mappings/hashCode.txt +461 -0
- package/test/corpus/snippetTests/mappings/inequality.txt +198 -0
- package/test/corpus/snippetTests/mappings/mapping1.txt +590 -0
- package/test/corpus/snippetTests/mappings/mapping2.txt +491 -0
- package/test/corpus/snippetTests/mappings/stringKeyNotFound.txt +50 -0
- package/test/corpus/snippetTests/mappings/typeCheck.txt +2877 -0
- package/test/corpus/snippetTests/mappings/wrongParent.txt +262 -0
- package/test/corpus/snippetTests/mappings2/default.txt +195 -0
- package/test/corpus/snippetTests/mappings2/duplicateComputedKey.txt +99 -0
- package/test/corpus/snippetTests/mappings2/duplicateConstantKey.txt +39 -0
- package/test/corpus/snippetTests/mappings2/equality.txt +416 -0
- package/test/corpus/snippetTests/mappings2/inequality.txt +268 -0
- package/test/corpus/snippetTests/mappings2/mapping1.txt +604 -0
- package/test/corpus/snippetTests/mappings2/mapping2.txt +595 -0
- package/test/corpus/snippetTests/mappings2/stringKeyNotFound.txt +57 -0
- package/test/corpus/snippetTests/mappings2/typeCheck.txt +582 -0
- package/test/corpus/snippetTests/mappings2/wrongParent.txt +334 -0
- package/test/corpus/snippetTests/methods/methodParameterConstraints1.txt +220 -0
- package/test/corpus/snippetTests/methods/methodParameterConstraints2.txt +382 -0
- package/test/corpus/snippetTests/methods/methodParameterTypes2.txt +734 -0
- package/test/corpus/snippetTests/methods/methodParameterTypes3.txt +196 -0
- package/test/corpus/snippetTests/modules/amendModule1.txt +36 -0
- package/test/corpus/snippetTests/modules/amendModule2.txt +28 -0
- package/test/corpus/snippetTests/modules/amendModule3.txt +24 -0
- package/test/corpus/snippetTests/modules/amendModule4.txt +35 -0
- package/test/corpus/snippetTests/modules/amendModule5.txt +68 -0
- package/test/corpus/snippetTests/modules/amendModule6.txt +13 -0
- package/test/corpus/snippetTests/modules/equality.txt +91 -0
- package/test/corpus/snippetTests/modules/extendModule1.txt +80 -0
- package/test/corpus/snippetTests/modules/externalFunction.txt +14 -0
- package/test/corpus/snippetTests/modules/externalProperty.txt +16 -0
- package/test/corpus/snippetTests/modules/filename with spaces 2.txt +14 -0
- package/test/corpus/snippetTests/modules/filename with spaces.txt +13 -0
- package/test/corpus/snippetTests/modules/functions.txt +264 -0
- package/test/corpus/snippetTests/modules/invalidAmend1.txt +18 -0
- package/test/corpus/snippetTests/modules/invalidAmend2.txt +19 -0
- package/test/corpus/snippetTests/modules/invalidAmend3.txt +23 -0
- package/test/corpus/snippetTests/modules/invalidAmend4.txt +21 -0
- package/test/corpus/snippetTests/modules/invalidAmend5.txt +17 -0
- package/test/corpus/snippetTests/modules/invalidAmend6.txt +22 -0
- package/test/corpus/snippetTests/modules/invalidExtend1.txt +18 -0
- package/test/corpus/snippetTests/modules/invalidExtend2.txt +13 -0
- package/test/corpus/snippetTests/modules/invalidExtend3.txt +13 -0
- package/test/corpus/snippetTests/modules/library.txt +77 -0
- package/test/corpus/snippetTests/modules/lists.txt +26 -0
- package/test/corpus/snippetTests/modules/objects.txt +22 -0
- package/test/corpus/snippetTests/modules/recursiveModule1.txt +51 -0
- package/test/corpus/snippetTests/modules/recursiveModule2.txt +26 -0
- package/test/corpus/snippetTests/modules/supercalls1.txt +43 -0
- package/test/corpus/snippetTests/modules/supercalls2.txt +76 -0
- package/test/corpus/snippetTests/modules/supercalls3.txt +142 -0
- package/test/corpus/snippetTests/modules/typedModuleMethods1.txt +229 -0
- package/test/corpus/snippetTests/modules/typedModuleProperties1.txt +106 -0
- package/test/corpus/snippetTests/modules/typedModuleProperties2.txt +16 -0
- package/test/corpus/snippetTests/modules/typedModuleProperties3.txt +20 -0
- package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236.txt +45 -0
- package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236_error.txt +14 -0
- package/test/corpus/snippetTests/objects/closure.txt +143 -0
- package/test/corpus/snippetTests/objects/configureObjectAssign.txt +78 -0
- package/test/corpus/snippetTests/objects/equality.txt +989 -0
- package/test/corpus/snippetTests/objects/hashCode.txt +566 -0
- package/test/corpus/snippetTests/objects/implicitReceiver1.txt +37 -0
- package/test/corpus/snippetTests/objects/implicitReceiver2.txt +33 -0
- package/test/corpus/snippetTests/objects/implicitReceiver3.txt +29 -0
- package/test/corpus/snippetTests/objects/implicitReceiver4.txt +25 -0
- package/test/corpus/snippetTests/objects/inequality.txt +777 -0
- package/test/corpus/snippetTests/objects/lateBinding1.txt +60 -0
- package/test/corpus/snippetTests/objects/lateBinding2.txt +60 -0
- package/test/corpus/snippetTests/objects/lateBinding3.txt +81 -0
- package/test/corpus/snippetTests/objects/lateBinding4.txt +77 -0
- package/test/corpus/snippetTests/objects/outer.txt +91 -0
- package/test/corpus/snippetTests/objects/outer2.txt +28 -0
- package/test/corpus/snippetTests/objects/super1.txt +67 -0
- package/test/corpus/snippetTests/objects/super2.txt +59 -0
- package/test/corpus/snippetTests/objects/super3.txt +59 -0
- package/test/corpus/snippetTests/objects/super4.txt +66 -0
- package/test/corpus/snippetTests/objects/super5.txt +69 -0
- package/test/corpus/snippetTests/objects/this1.txt +24 -0
- package/test/corpus/snippetTests/objects/this2.txt +71 -0
- package/test/corpus/snippetTests/packages/badImport1.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport10.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport11.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport2.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport3.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport4.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport6.error.txt +20 -0
- package/test/corpus/snippetTests/packages/badImport7.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport8.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badImport9.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead1.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead2.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead3.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead4.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead8.error.txt +14 -0
- package/test/corpus/snippetTests/packages/badRead9.error.txt +14 -0
- package/test/corpus/snippetTests/packages/packages1.txt +103 -0
- package/test/corpus/snippetTests/packages/packages2.txt +104 -0
- package/test/corpus/snippetTests/packages/redirects.txt +54 -0
- package/test/corpus/snippetTests/types/ThisInTypeConstraint.txt +342 -0
- package/test/corpus/snippetTests/types/currentModuleType1.txt +343 -0
- package/test/corpus/snippetTests/types/currentModuleType2.txt +351 -0
- package/test/corpus/snippetTests/types/currentModuleType3.txt +18 -0
- package/test/corpus/snippetTests/types/cyclicTypeAlias1.txt +17 -0
- package/test/corpus/snippetTests/types/cyclicTypeAlias2.txt +42 -0
- package/test/corpus/snippetTests/types/modifiersForTypes.txt +68 -0
- package/test/corpus/snippetTests/types/moduleType.txt +58 -0
- package/test/corpus/snippetTests/types/nothingType.txt +29 -0
- package/test/corpus/snippetTests/types/nothingWithUnions.txt +31 -0
- package/test/corpus/snippetTests/types/typeAlias1.txt +925 -0
- package/test/corpus/snippetTests/types/typeAlias2.txt +361 -0
- package/test/corpus/snippetTests/types/typeAliasConstraint1.txt +79 -0
- package/test/corpus/snippetTests/types/typeAliasConstraint2.txt +77 -0
- package/test/corpus/snippetTests/types/typeAliasContext.txt +26 -0
- package/test/corpus/snippetTests/types/typeAliasUnion.txt +169 -0
- package/test/corpus/string/customStringDelimiters.txt +74 -74
- package/test/corpus/string/multiline.txt +4 -4
- package/test/corpus/string/multilineInterpolation.txt +21 -21
- package/test/corpus/string/multilineInterpolation2.txt +15 -0
- package/test/corpus/string/simple.txt +1 -1
- package/test/corpus/string/singleLineEscapes.txt +7 -7
- package/test/corpus/string/singleLineInterpolation.txt +28 -28
- package/test/corpus/string/stringWithTwoSlashes.txt +2 -2
- package/test/corpus/type/unionType.txt +34 -0
- package/test/corpus/type/unionTypeDefaults.txt +46 -0
- package/tree-sitter.json +41 -0
- package/test/corpus/string/missingDelimiter.txt +0 -28
package/grammar.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// noinspection JSUnusedLocalSymbols
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
|
3
5
|
*
|
|
4
6
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
7
|
* you may not use this file except in compliance with the License.
|
|
6
8
|
* You may obtain a copy of the License at
|
|
7
9
|
*
|
|
8
|
-
*
|
|
10
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
11
|
*
|
|
10
12
|
* Unless required by applicable law or agreed to in writing, software
|
|
11
13
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
@@ -13,12 +15,14 @@
|
|
|
13
15
|
* See the License for the specific language governing permissions and
|
|
14
16
|
* limitations under the License.
|
|
15
17
|
*/
|
|
18
|
+
|
|
16
19
|
/// <reference path="node_modules/tree-sitter-cli/dsl.d.ts" />
|
|
17
20
|
|
|
18
21
|
/**
|
|
19
22
|
* Operator precedences
|
|
20
23
|
*/
|
|
21
24
|
const PREC = {
|
|
25
|
+
ACCESS: 99,
|
|
22
26
|
NON_NULL: 21,
|
|
23
27
|
NEG: 20,
|
|
24
28
|
NOT: 19,
|
|
@@ -27,7 +31,7 @@ const PREC = {
|
|
|
27
31
|
ADD: 16,
|
|
28
32
|
REL: 15,
|
|
29
33
|
IS: 14,
|
|
30
|
-
AS:
|
|
34
|
+
AS: 14,
|
|
31
35
|
EQ: 12,
|
|
32
36
|
AND: 11,
|
|
33
37
|
OR: 10,
|
|
@@ -39,18 +43,17 @@ const PREC = {
|
|
|
39
43
|
THROW: -6,
|
|
40
44
|
TRACE: -7,
|
|
41
45
|
READ: -8,
|
|
42
|
-
READ_OR_NULL: -9,
|
|
43
|
-
READ_GLOB: -10,
|
|
44
46
|
FUN: -11,
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
DECLARED_TYPE: 30,
|
|
49
|
+
CONSTRAINED_TYPE: 30,
|
|
50
|
+
NULLABLE_TYPE: 29,
|
|
51
|
+
UNION_DEFAULT_TYPE: 29,
|
|
52
|
+
UNION_TYPE: 28,
|
|
53
|
+
FUN_TYPE: 27,
|
|
50
54
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
OBJ_MEMBER: -1
|
|
55
|
+
AMEND_EXPR: 1,
|
|
56
|
+
OBJ_MEMBER: -2,
|
|
54
57
|
};
|
|
55
58
|
|
|
56
59
|
const decimalLiteral = seq(/\d/, /[\d_]*/);
|
|
@@ -58,6 +61,59 @@ const decimalLiteral = seq(/\d/, /[\d_]*/);
|
|
|
58
61
|
module.exports = grammar({
|
|
59
62
|
name: 'pkl',
|
|
60
63
|
|
|
64
|
+
reserved: {
|
|
65
|
+
global: $ => [
|
|
66
|
+
'_',
|
|
67
|
+
'abstract',
|
|
68
|
+
'amends',
|
|
69
|
+
'as',
|
|
70
|
+
'class',
|
|
71
|
+
'const',
|
|
72
|
+
'else',
|
|
73
|
+
'extends',
|
|
74
|
+
'external',
|
|
75
|
+
'false',
|
|
76
|
+
'fixed',
|
|
77
|
+
'for',
|
|
78
|
+
'function',
|
|
79
|
+
'hidden',
|
|
80
|
+
'if',
|
|
81
|
+
'import',
|
|
82
|
+
'import*',
|
|
83
|
+
'in',
|
|
84
|
+
'is',
|
|
85
|
+
'let',
|
|
86
|
+
'local',
|
|
87
|
+
'module',
|
|
88
|
+
'new',
|
|
89
|
+
'nothing',
|
|
90
|
+
'null',
|
|
91
|
+
'open',
|
|
92
|
+
'out',
|
|
93
|
+
'outer',
|
|
94
|
+
'read',
|
|
95
|
+
'read*',
|
|
96
|
+
'read?',
|
|
97
|
+
'super',
|
|
98
|
+
'this',
|
|
99
|
+
'throw',
|
|
100
|
+
'trace',
|
|
101
|
+
'true',
|
|
102
|
+
'typealias',
|
|
103
|
+
'unknown',
|
|
104
|
+
'when',
|
|
105
|
+
|
|
106
|
+
// TODO support reserved keywords
|
|
107
|
+
// 'protected',
|
|
108
|
+
// 'override',
|
|
109
|
+
// 'record',
|
|
110
|
+
// 'delete',
|
|
111
|
+
// 'case',
|
|
112
|
+
// 'switch',
|
|
113
|
+
// 'vararg',
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
|
|
61
117
|
externals: $ => [
|
|
62
118
|
$._sl_string_chars,
|
|
63
119
|
$._sl1_string_chars,
|
|
@@ -77,6 +133,8 @@ module.exports = grammar({
|
|
|
77
133
|
$._open_subscript_bracket,
|
|
78
134
|
// '(' without preceding newline or semicolon
|
|
79
135
|
$._open_argument_paren,
|
|
136
|
+
// '-' without preceding newline or semicolon
|
|
137
|
+
$._binary_minus,
|
|
80
138
|
],
|
|
81
139
|
|
|
82
140
|
extras: $ => [
|
|
@@ -89,14 +147,7 @@ module.exports = grammar({
|
|
|
89
147
|
word: $ => $.identifier,
|
|
90
148
|
|
|
91
149
|
conflicts: $ => [
|
|
92
|
-
|
|
93
|
-
[$.variableExpr, $.typedIdentifier],
|
|
94
|
-
|
|
95
|
-
// not sure what this one is about
|
|
96
|
-
[$.objectElement, $._expr],
|
|
97
|
-
|
|
98
|
-
[$.qualifiedIdentifier],
|
|
99
|
-
[$.declaredType]
|
|
150
|
+
[$.typedIdentifier, $.unqualifiedAccessExpr],
|
|
100
151
|
],
|
|
101
152
|
|
|
102
153
|
rules: {
|
|
@@ -182,7 +233,7 @@ module.exports = grammar({
|
|
|
182
233
|
$.identifier,
|
|
183
234
|
optional($.typeParameterList),
|
|
184
235
|
"=",
|
|
185
|
-
$.
|
|
236
|
+
$._type
|
|
186
237
|
),
|
|
187
238
|
|
|
188
239
|
classProperty: $ => seq(
|
|
@@ -236,7 +287,7 @@ module.exports = grammar({
|
|
|
236
287
|
$.objectMethod,
|
|
237
288
|
$.objectEntry,
|
|
238
289
|
$.objectElement,
|
|
239
|
-
$.
|
|
290
|
+
$.memberPredicate,
|
|
240
291
|
$.forGenerator,
|
|
241
292
|
$.whenGenerator,
|
|
242
293
|
$.objectSpread,
|
|
@@ -267,9 +318,9 @@ module.exports = grammar({
|
|
|
267
318
|
)
|
|
268
319
|
),
|
|
269
320
|
|
|
270
|
-
objectElement: $ =>
|
|
321
|
+
objectElement: $ => $._expr,
|
|
271
322
|
|
|
272
|
-
|
|
323
|
+
memberPredicate: $ => seq(
|
|
273
324
|
"[[",
|
|
274
325
|
field("conditionExpr", $._expr),
|
|
275
326
|
"]]",
|
|
@@ -282,10 +333,10 @@ module.exports = grammar({
|
|
|
282
333
|
forGenerator: $ => seq(
|
|
283
334
|
"for",
|
|
284
335
|
"(",
|
|
285
|
-
$.
|
|
336
|
+
$._parameter,
|
|
286
337
|
optional(seq(
|
|
287
338
|
",",
|
|
288
|
-
$.
|
|
339
|
+
$._parameter
|
|
289
340
|
)),
|
|
290
341
|
"in",
|
|
291
342
|
$._expr,
|
|
@@ -316,13 +367,13 @@ module.exports = grammar({
|
|
|
316
367
|
),
|
|
317
368
|
|
|
318
369
|
objectBodyParameters: $ => seq(
|
|
319
|
-
commaSep1($.
|
|
370
|
+
commaSep1($._parameter),
|
|
320
371
|
"->"
|
|
321
372
|
),
|
|
322
373
|
|
|
323
|
-
typeAnnotation: $ => seq(":", $.
|
|
374
|
+
typeAnnotation: $ => seq(":", $._type),
|
|
324
375
|
|
|
325
|
-
|
|
376
|
+
_type: $ => choice(
|
|
326
377
|
alias("unknown", $.unknownType),
|
|
327
378
|
alias("nothing", $.nothingType),
|
|
328
379
|
alias("module", $.moduleType),
|
|
@@ -332,29 +383,37 @@ module.exports = grammar({
|
|
|
332
383
|
$.nullableType,
|
|
333
384
|
$.constrainedType,
|
|
334
385
|
$.unionType,
|
|
335
|
-
$.
|
|
386
|
+
$.defaultUnionType,
|
|
336
387
|
$.functionLiteralType
|
|
337
388
|
),
|
|
338
389
|
|
|
339
390
|
stringLiteralType: $ => $.stringConstant,
|
|
340
391
|
|
|
341
|
-
declaredType: $ => seq($.qualifiedIdentifier, optional($.typeArgumentList)),
|
|
392
|
+
declaredType: $ => prec.right(seq($.qualifiedIdentifier, optional($.typeArgumentList))),
|
|
342
393
|
|
|
343
|
-
parenthesizedType: $ => seq("(", $.
|
|
394
|
+
parenthesizedType: $ => seq("(", $._type, ")"),
|
|
344
395
|
|
|
345
|
-
nullableType: $ => prec(PREC.NULLABLE_TYPE, seq($.
|
|
396
|
+
nullableType: $ => prec(PREC.NULLABLE_TYPE, seq($._type, "?")),
|
|
346
397
|
|
|
347
|
-
constrainedType: $ =>
|
|
398
|
+
constrainedType: $ => prec.right(
|
|
399
|
+
PREC.CONSTRAINED_TYPE,
|
|
400
|
+
seq(
|
|
401
|
+
$._type,
|
|
402
|
+
alias($._open_argument_paren, '('),
|
|
403
|
+
commaSep1($._expr),
|
|
404
|
+
")"
|
|
405
|
+
)
|
|
406
|
+
),
|
|
348
407
|
|
|
349
|
-
unionType: $ => prec.left(PREC.UNION_TYPE, seq($.
|
|
408
|
+
unionType: $ => prec.left(PREC.UNION_TYPE, seq($._type, "|", $._type)),
|
|
350
409
|
|
|
351
|
-
|
|
410
|
+
defaultUnionType: $ => prec.left(PREC.UNION_DEFAULT_TYPE, seq("*", $._type)),
|
|
352
411
|
|
|
353
|
-
functionLiteralType: $ => prec(PREC.FUN_TYPE, seq("(", commaSep($.
|
|
412
|
+
functionLiteralType: $ => prec(PREC.FUN_TYPE, seq("(", commaSep($._type), ")", "->", $._type)),
|
|
354
413
|
|
|
355
414
|
typeArgumentList: $ => seq(
|
|
356
415
|
"<",
|
|
357
|
-
commaSep1($.
|
|
416
|
+
commaSep1($._type),
|
|
358
417
|
">"
|
|
359
418
|
),
|
|
360
419
|
|
|
@@ -371,10 +430,16 @@ module.exports = grammar({
|
|
|
371
430
|
|
|
372
431
|
parameterList: $ => seq(
|
|
373
432
|
'(',
|
|
374
|
-
commaSep($.
|
|
433
|
+
commaSep($._parameter),
|
|
375
434
|
')'
|
|
376
435
|
),
|
|
377
436
|
|
|
437
|
+
_parameter: $ => choice($.typedIdentifier, $.blankIdentifier),
|
|
438
|
+
|
|
439
|
+
typedIdentifier: $ => seq($.identifier, optional($.typeAnnotation)),
|
|
440
|
+
|
|
441
|
+
blankIdentifier: $ => "_",
|
|
442
|
+
|
|
378
443
|
argumentList: $ => seq(
|
|
379
444
|
alias($._open_argument_paren, '('),
|
|
380
445
|
commaSep($._expr),
|
|
@@ -392,48 +457,45 @@ module.exports = grammar({
|
|
|
392
457
|
),
|
|
393
458
|
|
|
394
459
|
_expr: $ => choice(
|
|
395
|
-
$.variableExpr,
|
|
396
|
-
$.variableObjectLiteral,
|
|
397
|
-
$._expr2
|
|
398
|
-
),
|
|
399
|
-
|
|
400
|
-
variableObjectLiteral: $ => prec(PREC.VAR_OBJ_LITERAL, seq(
|
|
401
|
-
$.identifier,
|
|
402
|
-
$.objectBody
|
|
403
|
-
)),
|
|
404
|
-
|
|
405
|
-
_expr2: $ => choice(
|
|
406
|
-
$.parenthesizedExpr,
|
|
407
460
|
$.thisExpr,
|
|
408
461
|
$.outerExpr,
|
|
409
462
|
$.moduleExpr,
|
|
410
|
-
$.
|
|
411
|
-
$.
|
|
412
|
-
$.
|
|
413
|
-
$.
|
|
414
|
-
$.
|
|
415
|
-
$.
|
|
416
|
-
$.
|
|
463
|
+
$.nullLiteralExpr,
|
|
464
|
+
$.trueLiteralExpr,
|
|
465
|
+
$.falseLiteralExpr,
|
|
466
|
+
$.intLiteralExpr,
|
|
467
|
+
$.floatLiteralExpr,
|
|
468
|
+
$.throwExpr,
|
|
469
|
+
$.traceExpr,
|
|
470
|
+
$.importExpr,
|
|
471
|
+
$.readExpr,
|
|
472
|
+
$.unqualifiedAccessExpr,
|
|
473
|
+
$.slStringLiteralExpr,
|
|
474
|
+
$.mlStringLiteralExpr,
|
|
417
475
|
$.newExpr,
|
|
418
|
-
$.
|
|
419
|
-
$.
|
|
420
|
-
$.
|
|
476
|
+
$.amendExpr,
|
|
477
|
+
$.superAccessExpr,
|
|
478
|
+
$.superSubscriptExpr,
|
|
479
|
+
$.qualifiedAccessExpr,
|
|
421
480
|
$.subscriptExpr,
|
|
422
|
-
$.
|
|
423
|
-
$.
|
|
424
|
-
$.
|
|
425
|
-
$.
|
|
426
|
-
$.
|
|
481
|
+
$.nonNullExpr,
|
|
482
|
+
$.unaryMinusExpr,
|
|
483
|
+
$.logicalNotExpr,
|
|
484
|
+
$.exponentiationExpr,
|
|
485
|
+
$.multiplicativeExpr,
|
|
486
|
+
$.additiveExpr,
|
|
487
|
+
$.comparisonExpr,
|
|
488
|
+
$.typeTestExpr,
|
|
489
|
+
$.typeCastExpr,
|
|
490
|
+
$.equalityExpr,
|
|
491
|
+
$.logicalAndExpr,
|
|
492
|
+
$.logicalOrExpr,
|
|
493
|
+
$.pipeExpr,
|
|
494
|
+
$.nullCoalesceExpr,
|
|
427
495
|
$.ifExpr,
|
|
428
496
|
$.letExpr,
|
|
429
|
-
$.
|
|
430
|
-
$.
|
|
431
|
-
$.readExpr,
|
|
432
|
-
$.readOrNullExpr,
|
|
433
|
-
$.readGlobExpr,
|
|
434
|
-
$.importExpr,
|
|
435
|
-
$.importGlobExpr,
|
|
436
|
-
$.functionLiteral
|
|
497
|
+
$.functionLiteralExpr,
|
|
498
|
+
$.parenthesizedExpr,
|
|
437
499
|
),
|
|
438
500
|
|
|
439
501
|
parenthesizedExpr: $ => seq("(", $._expr, ")"),
|
|
@@ -444,15 +506,13 @@ module.exports = grammar({
|
|
|
444
506
|
|
|
445
507
|
moduleExpr: $ => "module",
|
|
446
508
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
nullLiteral: $ => "null",
|
|
509
|
+
nullLiteralExpr: $ => "null",
|
|
450
510
|
|
|
451
|
-
|
|
511
|
+
trueLiteralExpr: $ => "true",
|
|
452
512
|
|
|
453
|
-
|
|
513
|
+
falseLiteralExpr: $ => "false",
|
|
454
514
|
|
|
455
|
-
|
|
515
|
+
intLiteralExpr: $ => {
|
|
456
516
|
return token(choice(
|
|
457
517
|
decimalLiteral,
|
|
458
518
|
seq('0x', /[\da-fA-F]/, /[\da-fA-F_]*/),
|
|
@@ -461,7 +521,7 @@ module.exports = grammar({
|
|
|
461
521
|
))
|
|
462
522
|
},
|
|
463
523
|
|
|
464
|
-
|
|
524
|
+
floatLiteralExpr: $ => {
|
|
465
525
|
const exponent = seq(choice('e', 'E'), optional(choice('+', '-')), decimalLiteral)
|
|
466
526
|
return token(choice(
|
|
467
527
|
seq(optional(decimalLiteral), '.', decimalLiteral, optional(exponent)),
|
|
@@ -488,13 +548,13 @@ module.exports = grammar({
|
|
|
488
548
|
)
|
|
489
549
|
),
|
|
490
550
|
|
|
491
|
-
|
|
551
|
+
slStringLiteralExpr: $ => choice(
|
|
492
552
|
seq(
|
|
493
553
|
'"',
|
|
494
554
|
repeat(choice(
|
|
495
555
|
$.slStringLiteralPart,
|
|
496
556
|
$.escapeSequence,
|
|
497
|
-
$.
|
|
557
|
+
$.stringInterpolation,
|
|
498
558
|
)),
|
|
499
559
|
'"'
|
|
500
560
|
),
|
|
@@ -503,7 +563,7 @@ module.exports = grammar({
|
|
|
503
563
|
repeat(choice(
|
|
504
564
|
alias($.slStringLiteralPart1, $.slStringLiteralPart),
|
|
505
565
|
alias($.escapeSequence1, $.escapeSequence),
|
|
506
|
-
alias($.
|
|
566
|
+
alias($.stringInterpolation1, $.stringInterpolation)
|
|
507
567
|
)),
|
|
508
568
|
'"#'
|
|
509
569
|
),
|
|
@@ -512,7 +572,7 @@ module.exports = grammar({
|
|
|
512
572
|
repeat(choice(
|
|
513
573
|
alias($.slStringLiteralPart2, $.slStringLiteralPart),
|
|
514
574
|
alias($.escapeSequence2, $.escapeSequence),
|
|
515
|
-
alias($.
|
|
575
|
+
alias($.stringInterpolation2, $.stringInterpolation)
|
|
516
576
|
)),
|
|
517
577
|
'"##'
|
|
518
578
|
),
|
|
@@ -521,7 +581,7 @@ module.exports = grammar({
|
|
|
521
581
|
repeat(choice(
|
|
522
582
|
alias($.slStringLiteralPart3, $.slStringLiteralPart),
|
|
523
583
|
alias($.escapeSequence3, $.escapeSequence),
|
|
524
|
-
alias($.
|
|
584
|
+
alias($.stringInterpolation3, $.stringInterpolation)
|
|
525
585
|
)),
|
|
526
586
|
'"###'
|
|
527
587
|
),
|
|
@@ -530,7 +590,7 @@ module.exports = grammar({
|
|
|
530
590
|
repeat(choice(
|
|
531
591
|
alias($.slStringLiteralPart4, $.slStringLiteralPart),
|
|
532
592
|
alias($.escapeSequence4, $.escapeSequence),
|
|
533
|
-
alias($.
|
|
593
|
+
alias($.stringInterpolation4, $.stringInterpolation)
|
|
534
594
|
)),
|
|
535
595
|
'"####'
|
|
536
596
|
),
|
|
@@ -539,7 +599,7 @@ module.exports = grammar({
|
|
|
539
599
|
repeat(choice(
|
|
540
600
|
alias($.slStringLiteralPart5, $.slStringLiteralPart),
|
|
541
601
|
alias($.escapeSequence5, $.escapeSequence),
|
|
542
|
-
alias($.
|
|
602
|
+
alias($.stringInterpolation5, $.stringInterpolation)
|
|
543
603
|
)),
|
|
544
604
|
'"#####'
|
|
545
605
|
),
|
|
@@ -548,7 +608,7 @@ module.exports = grammar({
|
|
|
548
608
|
repeat(choice(
|
|
549
609
|
alias($.slStringLiteralPart6, $.slStringLiteralPart),
|
|
550
610
|
alias($.escapeSequence6, $.escapeSequence),
|
|
551
|
-
alias($.
|
|
611
|
+
alias($.stringInterpolation6, $.stringInterpolation)
|
|
552
612
|
)),
|
|
553
613
|
'"######'
|
|
554
614
|
),
|
|
@@ -568,13 +628,13 @@ module.exports = grammar({
|
|
|
568
628
|
|
|
569
629
|
slStringLiteralPart6: $ => $._sl6_string_chars,
|
|
570
630
|
|
|
571
|
-
|
|
631
|
+
mlStringLiteralExpr: $ => choice(
|
|
572
632
|
seq(
|
|
573
633
|
'"""',
|
|
574
634
|
repeat(choice(
|
|
575
635
|
$.mlStringLiteralPart,
|
|
576
636
|
$.escapeSequence,
|
|
577
|
-
$.
|
|
637
|
+
$.stringInterpolation
|
|
578
638
|
)),
|
|
579
639
|
'"""'
|
|
580
640
|
),
|
|
@@ -583,7 +643,7 @@ module.exports = grammar({
|
|
|
583
643
|
repeat(choice(
|
|
584
644
|
alias($.mlStringLiteralPart1, $.mlStringLiteralPart),
|
|
585
645
|
alias($.escapeSequence1, $.escapeSequence),
|
|
586
|
-
alias($.
|
|
646
|
+
alias($.stringInterpolation1, $.stringInterpolation)
|
|
587
647
|
)),
|
|
588
648
|
'"""#'
|
|
589
649
|
),
|
|
@@ -592,7 +652,7 @@ module.exports = grammar({
|
|
|
592
652
|
repeat(choice(
|
|
593
653
|
alias($.mlStringLiteralPart2, $.mlStringLiteralPart),
|
|
594
654
|
alias($.escapeSequence2, $.escapeSequence),
|
|
595
|
-
alias($.
|
|
655
|
+
alias($.stringInterpolation2, $.stringInterpolation)
|
|
596
656
|
)),
|
|
597
657
|
'"""##'
|
|
598
658
|
),
|
|
@@ -601,7 +661,7 @@ module.exports = grammar({
|
|
|
601
661
|
repeat(choice(
|
|
602
662
|
alias($.mlStringLiteralPart3, $.mlStringLiteralPart),
|
|
603
663
|
alias($.escapeSequence3, $.escapeSequence),
|
|
604
|
-
alias($.
|
|
664
|
+
alias($.stringInterpolation3, $.stringInterpolation)
|
|
605
665
|
)),
|
|
606
666
|
'"""###'
|
|
607
667
|
),
|
|
@@ -610,7 +670,7 @@ module.exports = grammar({
|
|
|
610
670
|
repeat(choice(
|
|
611
671
|
alias($.mlStringLiteralPart4, $.mlStringLiteralPart),
|
|
612
672
|
alias($.escapeSequence4, $.escapeSequence),
|
|
613
|
-
alias($.
|
|
673
|
+
alias($.stringInterpolation4, $.stringInterpolation)
|
|
614
674
|
)),
|
|
615
675
|
'"""####'
|
|
616
676
|
),
|
|
@@ -619,7 +679,7 @@ module.exports = grammar({
|
|
|
619
679
|
repeat(choice(
|
|
620
680
|
alias($.mlStringLiteralPart5, $.mlStringLiteralPart),
|
|
621
681
|
alias($.escapeSequence5, $.escapeSequence),
|
|
622
|
-
alias($.
|
|
682
|
+
alias($.stringInterpolation5, $.stringInterpolation)
|
|
623
683
|
)),
|
|
624
684
|
'"""#####'
|
|
625
685
|
),
|
|
@@ -628,7 +688,7 @@ module.exports = grammar({
|
|
|
628
688
|
repeat(choice(
|
|
629
689
|
alias($.mlStringLiteralPart6, $.mlStringLiteralPart),
|
|
630
690
|
alias($.escapeSequence6, $.escapeSequence),
|
|
631
|
-
alias($.
|
|
691
|
+
alias($.stringInterpolation6, $.stringInterpolation)
|
|
632
692
|
)),
|
|
633
693
|
'"""######'
|
|
634
694
|
),
|
|
@@ -652,7 +712,7 @@ module.exports = grammar({
|
|
|
652
712
|
'\\',
|
|
653
713
|
choice(
|
|
654
714
|
/[tnr\\"]/,
|
|
655
|
-
/u\{[0-9a-fA-F]
|
|
715
|
+
/u\{[0-9a-fA-F]+}/
|
|
656
716
|
)
|
|
657
717
|
)),
|
|
658
718
|
|
|
@@ -660,7 +720,7 @@ module.exports = grammar({
|
|
|
660
720
|
'\\#',
|
|
661
721
|
choice(
|
|
662
722
|
/[tnr\\"]/,
|
|
663
|
-
/u\{[0-9a-fA-F]
|
|
723
|
+
/u\{[0-9a-fA-F]+}/
|
|
664
724
|
)
|
|
665
725
|
)),
|
|
666
726
|
|
|
@@ -668,7 +728,7 @@ module.exports = grammar({
|
|
|
668
728
|
'\\##',
|
|
669
729
|
choice(
|
|
670
730
|
/[tnr\\"]/,
|
|
671
|
-
/u\{[0-9a-fA-F]
|
|
731
|
+
/u\{[0-9a-fA-F]+}/
|
|
672
732
|
)
|
|
673
733
|
)),
|
|
674
734
|
|
|
@@ -676,7 +736,7 @@ module.exports = grammar({
|
|
|
676
736
|
'\\###',
|
|
677
737
|
choice(
|
|
678
738
|
/[tnr\\"]/,
|
|
679
|
-
/u\{[0-9a-fA-F]
|
|
739
|
+
/u\{[0-9a-fA-F]+}/
|
|
680
740
|
)
|
|
681
741
|
)),
|
|
682
742
|
|
|
@@ -684,7 +744,7 @@ module.exports = grammar({
|
|
|
684
744
|
'\\####',
|
|
685
745
|
choice(
|
|
686
746
|
/[tnr\\"]/,
|
|
687
|
-
/u\{[0-9a-fA-F]
|
|
747
|
+
/u\{[0-9a-fA-F]+}/
|
|
688
748
|
)
|
|
689
749
|
)),
|
|
690
750
|
|
|
@@ -692,7 +752,7 @@ module.exports = grammar({
|
|
|
692
752
|
'\\#####',
|
|
693
753
|
choice(
|
|
694
754
|
/[tnr\\"]/,
|
|
695
|
-
/u\{[0-9a-fA-F]
|
|
755
|
+
/u\{[0-9a-fA-F]+}/
|
|
696
756
|
)
|
|
697
757
|
)),
|
|
698
758
|
|
|
@@ -700,124 +760,94 @@ module.exports = grammar({
|
|
|
700
760
|
'\\######',
|
|
701
761
|
choice(
|
|
702
762
|
/[tnr\\"]/,
|
|
703
|
-
/u\{[0-9a-fA-F]
|
|
763
|
+
/u\{[0-9a-fA-F]+}/
|
|
704
764
|
)
|
|
705
765
|
)),
|
|
706
766
|
|
|
707
|
-
|
|
767
|
+
stringInterpolation: $ => seq(token.immediate("\\("), $._expr, ")"),
|
|
708
768
|
|
|
709
|
-
|
|
769
|
+
stringInterpolation1: $ => seq(token.immediate("\\#("), $._expr, ")"),
|
|
710
770
|
|
|
711
|
-
|
|
771
|
+
stringInterpolation2: $ => seq(token.immediate("\\##("), $._expr, ")"),
|
|
712
772
|
|
|
713
|
-
|
|
773
|
+
stringInterpolation3: $ => seq(token.immediate("\\###("), $._expr, ")"),
|
|
714
774
|
|
|
715
|
-
|
|
775
|
+
stringInterpolation4: $ => seq(token.immediate("\\####("), $._expr, ")"),
|
|
716
776
|
|
|
717
|
-
|
|
777
|
+
stringInterpolation5: $ => seq(token.immediate("\\#####("), $._expr, ")"),
|
|
718
778
|
|
|
719
|
-
|
|
779
|
+
stringInterpolation6: $ => seq(token.immediate("\\######("), $._expr, ")"),
|
|
720
780
|
|
|
721
|
-
newExpr: $ => seq("new", optional($.
|
|
781
|
+
newExpr: $ => seq("new", optional($._type), $.objectBody),
|
|
722
782
|
|
|
723
|
-
|
|
783
|
+
amendExpr: $ => prec(PREC.AMEND_EXPR, seq(field("parent", choice($.newExpr, $.amendExpr, $.parenthesizedExpr)), $.objectBody)),
|
|
724
784
|
|
|
725
|
-
|
|
726
|
-
optional(
|
|
727
|
-
seq(
|
|
728
|
-
field("receiver", choice("super", $._expr)),
|
|
729
|
-
choice(".", "?.")
|
|
730
|
-
)
|
|
731
|
-
),
|
|
732
|
-
$.identifier,
|
|
733
|
-
$.argumentList
|
|
734
|
-
),
|
|
785
|
+
subscriptExpr: $ => prec.left(PREC.ACCESS, seq(field("receiver", $._expr), alias($._open_subscript_bracket, "["), $._expr, "]")),
|
|
735
786
|
|
|
736
|
-
|
|
737
|
-
field("receiver", choice("super", $._expr)),
|
|
738
|
-
choice(".", "?."),
|
|
739
|
-
// allow newline as a possible token because tree-sitter otherwise doesn't handle error recovery correctly.
|
|
740
|
-
// E.g.
|
|
741
|
-
// This gets parsed as a single class property, where `bar.baz { foo = bar }` is the property's value
|
|
742
|
-
// ```
|
|
743
|
-
// foo = bar.
|
|
744
|
-
// baz { foo = bar }
|
|
745
|
-
// ```
|
|
746
|
-
//
|
|
747
|
-
// This gets parsed as two class properties; `foo = bar.typealias` and `Baz = String`
|
|
748
|
-
// ```
|
|
749
|
-
// foo = bar.
|
|
750
|
-
//
|
|
751
|
-
// typealias Baz = String
|
|
752
|
-
// ```
|
|
753
|
-
choice($.identifier, field("err", "\n"))
|
|
754
|
-
),
|
|
755
|
-
|
|
756
|
-
subscriptExpr: $ => seq(field("receiver", choice("super", $._expr)), alias($._open_subscript_bracket, "["), $._expr, "]"),
|
|
757
|
-
|
|
758
|
-
unaryExpr: $ => choice(
|
|
759
|
-
prec.left(PREC.NEG, seq($._expr, '!!')),
|
|
760
|
-
prec.left(PREC.NEG, seq('-', $._expr)),
|
|
761
|
-
prec.left(PREC.NOT, seq('!', $._expr)),
|
|
762
|
-
),
|
|
763
|
-
|
|
764
|
-
binaryExprRightAssoc: $ => choice(...[
|
|
765
|
-
['**', PREC.EXP],
|
|
766
|
-
['??', PREC.COALESCE]
|
|
767
|
-
].map(([operator, precedence]) =>
|
|
768
|
-
prec.right(precedence, seq($._expr, field('operator', operator), $._expr))
|
|
769
|
-
)),
|
|
787
|
+
unaryMinusExpr: $ => prec.left(PREC.NEG, seq('-', $._expr)),
|
|
770
788
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
['|>', PREC.PIPE]
|
|
787
|
-
].map(([operator, precedence]) =>
|
|
788
|
-
prec.left(precedence, seq($._expr, field('operator', operator), $._expr))
|
|
789
|
-
)),
|
|
789
|
+
logicalNotExpr: $ => prec.left(PREC.NOT, seq('!', $._expr)),
|
|
790
|
+
|
|
791
|
+
nonNullExpr: $ => prec.left(PREC.NON_NULL, seq($._expr, "!!")),
|
|
792
|
+
|
|
793
|
+
nullCoalesceExpr: $ => prec.right(PREC.COALESCE, seq($._expr, field('operator', '??'), $._expr)),
|
|
794
|
+
|
|
795
|
+
exponentiationExpr: $ => prec.right(PREC.EXP, seq($._expr, field('operator', '**'), $._expr)),
|
|
796
|
+
|
|
797
|
+
multiplicativeExpr: $ => prec.left(PREC.MUL, seq($._expr, field('operator', choice("*", "/", "~/", "%")), $._expr)),
|
|
798
|
+
|
|
799
|
+
additiveExpr: $ => prec.left(PREC.ADD, seq($._expr, field('operator', choice("+", alias($._binary_minus, "-"))), $._expr)),
|
|
800
|
+
|
|
801
|
+
comparisonExpr: $ => prec.left(PREC.REL, seq($._expr, field('operator', choice("<", "<=", ">=", ">")), $._expr)),
|
|
802
|
+
|
|
803
|
+
equalityExpr: $ => prec.left(PREC.EQ, seq($._expr, field('operator', choice("==", "!=")), $._expr)),
|
|
790
804
|
|
|
791
|
-
|
|
805
|
+
logicalAndExpr: $ => prec.left(PREC.AND, seq($._expr, field('operator', "&&"), $._expr)),
|
|
792
806
|
|
|
793
|
-
|
|
807
|
+
logicalOrExpr: $ => prec.left(PREC.OR, seq($._expr, field('operator', "||"), $._expr)),
|
|
808
|
+
|
|
809
|
+
pipeExpr: $ => prec.left(PREC.PIPE, seq($._expr, field('operator', "|>"), $._expr)),
|
|
810
|
+
|
|
811
|
+
typeTestExpr: $ => prec(PREC.IS, seq($._expr, field("operator", "is"), $._type)),
|
|
812
|
+
|
|
813
|
+
typeCastExpr: $ => prec(PREC.AS, seq($._expr, field("operator", "as"), $._type)),
|
|
794
814
|
|
|
795
815
|
ifExpr: $ => prec(PREC.IF, seq("if", "(", $._expr, ")", $._expr, "else", $._expr)),
|
|
796
816
|
|
|
797
|
-
letExpr: $ => prec(PREC.LET, seq("let", "(", $.
|
|
817
|
+
letExpr: $ => prec(PREC.LET, seq("let", "(", $._parameter, "=", $._expr, ")", $._expr)),
|
|
798
818
|
|
|
799
|
-
throwExpr: $ => prec(PREC.THROW, seq("throw", $._expr)),
|
|
819
|
+
throwExpr: $ => prec(PREC.THROW, seq("throw", '(', $._expr, ')')),
|
|
800
820
|
|
|
801
|
-
traceExpr: $ => prec(PREC.TRACE, seq("trace", $._expr)),
|
|
821
|
+
traceExpr: $ => prec(PREC.TRACE, seq("trace", '(', $._expr, ')')),
|
|
802
822
|
|
|
803
|
-
readExpr: $ => prec(PREC.READ, seq("read", $._expr)),
|
|
823
|
+
readExpr: $ => prec(PREC.READ, seq(field("variant", choice("read", "read?", "read*")), '(', $._expr, ')')),
|
|
804
824
|
|
|
805
|
-
|
|
825
|
+
importExpr: $ => seq(field("variant", choice("import", "import*")), seq('(', $.stringConstant, ')')),
|
|
806
826
|
|
|
807
|
-
|
|
827
|
+
unqualifiedAccessExpr: $ => seq($.identifier, optional($.argumentList)),
|
|
808
828
|
|
|
809
|
-
|
|
829
|
+
superAccessExpr: $ => prec.left(PREC.ACCESS, seq("super", ".", $.identifier, optional($.argumentList))),
|
|
810
830
|
|
|
811
|
-
|
|
831
|
+
superSubscriptExpr: $ => prec.left(PREC.ACCESS, seq("super", alias($._open_subscript_bracket, "["), $._expr, "]")),
|
|
832
|
+
|
|
833
|
+
qualifiedAccessExpr: $ => prec.left(
|
|
834
|
+
PREC.ACCESS,
|
|
835
|
+
seq(
|
|
836
|
+
field("receiver", $._expr),
|
|
837
|
+
choice(".", "?."),
|
|
838
|
+
seq(
|
|
839
|
+
$.identifier,
|
|
840
|
+
optional($.argumentList)
|
|
841
|
+
),
|
|
842
|
+
)
|
|
843
|
+
),
|
|
812
844
|
|
|
813
|
-
|
|
845
|
+
functionLiteralExpr: $ => prec(PREC.FUN, seq($.parameterList, "->", $._expr)),
|
|
814
846
|
|
|
815
|
-
qualifiedIdentifier: $ => seq(
|
|
847
|
+
qualifiedIdentifier: $ => prec.left(seq(
|
|
816
848
|
$.identifier,
|
|
817
849
|
repeat(seq(".", $.identifier)),
|
|
818
|
-
),
|
|
819
|
-
|
|
820
|
-
typedIdentifier: $ => seq($.identifier, optional($.typeAnnotation)),
|
|
850
|
+
)),
|
|
821
851
|
|
|
822
852
|
// TODO: adapt to pkl
|
|
823
853
|
identifier: $ => {
|
|
@@ -842,7 +872,7 @@ module.exports = grammar({
|
|
|
842
872
|
'/*',
|
|
843
873
|
/[^*]*\*+([^/*][^*]*\*+)*/,
|
|
844
874
|
'/'
|
|
845
|
-
))
|
|
875
|
+
)),
|
|
846
876
|
}
|
|
847
877
|
});
|
|
848
878
|
|