@@ -174,7 +174,7 @@ FunArgType ::= Type
174
174
| ‘=>’ Type PrefixOp(=>, t)
175
175
ParamType ::= [‘=>’] ParamValueType
176
176
ParamValueType ::= Type [‘*’] PostfixOp(t, "*")
177
- TypeArgs ::= ‘[’ Types ‘]’ ts
177
+ TypeArgs ::= ‘[’ Types ‘]’ ts
178
178
Refinement ::= ‘{’ [RefineDcl] {semi [RefineDcl]} ‘}’ ds
179
179
TypeBounds ::= [‘>:’ Type] [‘<:’ Type] TypeBoundsTree(lo, hi)
180
180
TypeParamBounds ::= TypeBounds {‘:’ Type} ContextBounds(typeBounds, tps)
@@ -219,7 +219,7 @@ SimpleExpr ::= SimpleRef
219
219
| BlockExpr
220
220
| ‘$’ ‘{’ Block ‘}’
221
221
| Quoted
222
- | quoteId // only inside splices
222
+ | quoteId -- only inside splices
223
223
| ‘new’ ConstrApp {‘with’ ConstrApp} New(constr | templ)
224
224
[[colonEol] TemplateBody
225
225
| ‘new’ [colonEol] TemplateBody
@@ -228,8 +228,8 @@ SimpleExpr ::= SimpleRef
228
228
| SimpleExpr ‘.’ MatchClause
229
229
| SimpleExpr TypeArgs TypeApply(expr, args)
230
230
| SimpleExpr ArgumentExprs Apply(expr, args)
231
- | SimpleExpr ‘_’ PostfixOp(expr, _)
232
- | XmlExpr
231
+ | SimpleExpr ‘_’ PostfixOp(expr, _) (to be dropped)
232
+ | XmlExpr (to be dropped)
233
233
Quoted ::= ‘'’ ‘{’ Block ‘}’
234
234
| ‘'’ ‘[’ Type ‘]’
235
235
ExprsInParens ::= ExprInParens {‘,’ ExprInParens}
@@ -272,7 +272,7 @@ SimplePattern ::= PatVar
272
272
| Literal Bind(name, Ident(wildcard))
273
273
| ‘(’ [Patterns] ‘)’ Parens(pats) Tuple(pats)
274
274
| Quoted
275
- | XmlPattern
275
+ | XmlPattern (to be dropped)
276
276
| SimplePattern1 [TypeArgs] [ArgumentPatterns]
277
277
| ‘given’ RefinedType
278
278
SimplePattern1 ::= SimpleRef
@@ -307,14 +307,12 @@ ClsParams ::= ClsParam {‘,’ ClsParam}
307
307
ClsParam ::= {Annotation} ValDef(mods, id, tpe, expr) -- point of mods on val/var
308
308
[{Modifier} (‘val’ | ‘var’) | ‘inline’] Param
309
309
Param ::= id ‘:’ ParamType [‘=’ Expr]
310
- | INT
311
310
312
311
DefParamClauses ::= {DefParamClause} [[nl] ‘(’ [‘implicit’] DefParams ‘)’]
313
312
DefParamClause ::= [nl] ‘(’ DefParams ‘)’ | UsingParamClause
314
313
UsingParamClause ::= [nl] ‘(’ ‘using’ (DefParams | Types) ‘)’
315
314
DefParams ::= DefParam {‘,’ DefParam}
316
315
DefParam ::= {Annotation} [‘inline’] Param ValDef(mods, id, tpe, expr) -- point of mods at id.
317
- ClosureMods ::= { ‘implicit’ | ‘given’}
318
316
```
319
317
320
318
### Bindings and Imports
@@ -336,7 +334,7 @@ LocalModifier ::= ‘abstract’
336
334
AccessModifier ::= (‘private’ | ‘protected’) [AccessQualifier]
337
335
AccessQualifier ::= ‘[’ id ‘]’
338
336
339
- Annotation ::= ‘@’ SimpleType1 {ParArgumentExprs} Apply(tpe, args)
337
+ Annotation ::= ‘@’ SimpleType1 {ParArgumentExprs} Apply(tpe, args)
340
338
341
339
Import ::= ‘import’ ImportExpr {‘,’ ImportExpr}
342
340
ImportExpr ::= SimpleRef {‘.’ id} ‘.’ ImportSpec Import(expr, sels)
@@ -348,7 +346,7 @@ ImportSelectors ::= id [‘=>’ id | ‘=>’ ‘_’] [‘,’ ImportSelect
348
346
| WildCardSelector {‘,’ WildCardSelector}
349
347
WildCardSelector ::= ‘given’ [InfixType]
350
348
| ‘_'
351
- Export ::= [‘given’] ImportExpr {‘,’ ImportExpr}
349
+ Export ::= ‘export’ ImportExpr {‘,’ ImportExpr}
352
350
353
351
EndMarker ::= ‘end’ EndMarkerTag -- when followed by EOL
354
352
EndMarkerTag ::= id | ‘if’ | ‘while’ | ‘for’ | ‘match’ | ‘try’
@@ -367,7 +365,6 @@ ValDcl ::= ids ‘:’ Type
367
365
VarDcl ::= ids ‘:’ Type PatDef(_, ids, tpe, EmptyTree)
368
366
DefDcl ::= DefSig ‘:’ Type DefDef(_, name, tparams, vparamss, tpe, EmptyTree)
369
367
DefSig ::= id [DefTypeParamClause] DefParamClauses
370
- | ExtParamClause {nl} [‘.’] id DefParamClauses
371
368
TypeDcl ::= id [TypeParamClause] {FunParamClause} TypeBounds TypeDefTree(_, name, tparams, bound
372
369
[‘=’ Type]
373
370
@@ -376,7 +373,6 @@ Def ::= ‘val’ PatDef
376
373
| ‘def’ DefDef
377
374
| ‘type’ {nl} TypeDcl
378
375
| TmplDef
379
- | INT
380
376
PatDef ::= ids [‘:’ Type] ‘=’ Expr
381
377
| Pattern2 [‘:’ Type | Ascription] ‘=’ Expr PatDef(_, pats, tpe?, expr)
382
378
VarDef ::= PatDef
@@ -402,7 +398,7 @@ ExtMethods ::= ExtMethod | [nl] ‘{’ ExtMethod {semi ExtMethod ‘}
402
398
ExtMethod ::= {Annotation [nl]} {Modifier} ‘def’ DefDef
403
399
Template ::= InheritClauses [colonEol] [TemplateBody] Template(constr, parents, self, stats)
404
400
InheritClauses ::= [‘extends’ ConstrApps] [‘derives’ QualId {‘,’ QualId}]
405
- ConstrApps ::= ConstrApp {( ‘,’ | ‘with’) ConstrApp}
401
+ ConstrApps ::= ConstrApp ({ ‘,’ ConstrApp} | { ‘with’ ConstrApp})
406
402
ConstrApp ::= SimpleType1 {Annotation} {ParArgumentExprs} Apply(tp, args)
407
403
ConstrExpr ::= SelfInvocation
408
404
| ‘{’ SelfInvocation {semi BlockStat} ‘}’
0 commit comments