From 2423ada8b32854f13e16bb62cf1f0a07cff6df7a Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 14 Dec 2016 18:04:57 +0100 Subject: Fix #1792: Allow newline in front of `{` when supporting procedure syntax. --- compiler/src/dotty/tools/dotc/parsing/Parsers.scala | 2 ++ tests/pos-scala2/i1792.scala | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 tests/pos-scala2/i1792.scala diff --git a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala index 51dafc928..8cc60c984 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala @@ -1897,6 +1897,7 @@ object Parsers { if (in.token == THIS) { in.nextToken() val vparamss = paramClauses(nme.CONSTRUCTOR) + if (in.isScala2Mode) newLineOptWhenFollowedBy(LBRACE) val rhs = { if (!(in.token == LBRACE && scala2ProcedureSyntax(""))) accept(EQUALS) atPos(in.offset) { constrExpr() } @@ -1908,6 +1909,7 @@ object Parsers { val tparams = typeParamClauseOpt(ParamOwner.Def) val vparamss = paramClauses(name) var tpt = fromWithinReturnType(typedOpt()) + if (in.isScala2Mode) newLineOptWhenFollowedBy(LBRACE) val rhs = if (in.token == EQUALS) { in.nextToken() diff --git a/tests/pos-scala2/i1792.scala b/tests/pos-scala2/i1792.scala new file mode 100644 index 000000000..49b3e6a34 --- /dev/null +++ b/tests/pos-scala2/i1792.scala @@ -0,0 +1,8 @@ +object Test { + +def foo(x: Int) +{ + x +} + +} -- cgit v1.2.3