diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-02-24 14:44:57 +0100 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-03-05 09:39:30 -0800 |
commit | fff0f50773b45690d571852b139bd6da7b6a45ae (patch) | |
tree | 9f53db9730fe2d07167e817d0692c3f53f483275 /src/compiler/scala/tools/nsc/ast | |
parent | c4341385629bd114b61c55103f1d83f26dce22f9 (diff) | |
download | scala-fff0f50773b45690d571852b139bd6da7b6a45ae.tar.gz scala-fff0f50773b45690d571852b139bd6da7b6a45ae.tar.bz2 scala-fff0f50773b45690d571852b139bd6da7b6a45ae.zip |
Name boolean arguments in src/compiler.
What would you prefer?
adaptToMemberWithArgs(tree, qual, name, mode, false, false)
Or:
adaptToMemberWithArgs(tree, qual, name, mode, reportAmbiguous = false, saveErrors = false)
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast')
9 files changed, 58 insertions, 58 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/DocComments.scala b/src/compiler/scala/tools/nsc/ast/DocComments.scala index f86f45fb43..eac43c146a 100755 --- a/src/compiler/scala/tools/nsc/ast/DocComments.scala +++ b/src/compiler/scala/tools/nsc/ast/DocComments.scala @@ -265,7 +265,7 @@ trait DocComments { self: Global => cleanupSectionText(parent.substring(sectionTextBounds._1, sectionTextBounds._2)) case None => reporter.info(sym.pos, "The \"" + getSectionHeader + "\" annotation of the " + sym + - " comment contains @inheritdoc, but the corresponding section in the parent is not defined.", true) + " comment contains @inheritdoc, but the corresponding section in the parent is not defined.", force = true) "<invalid inheritdoc annotation>" } diff --git a/src/compiler/scala/tools/nsc/ast/Printers.scala b/src/compiler/scala/tools/nsc/ast/Printers.scala index bff036e782..7fefb2ce0c 100644 --- a/src/compiler/scala/tools/nsc/ast/Printers.scala +++ b/src/compiler/scala/tools/nsc/ast/Printers.scala @@ -128,7 +128,7 @@ trait Printers extends scala.reflect.internal.Printers { this: Global => case Select(qualifier, name) => printTree(qualifier) print(".") - print(quotedName(name, true)) + print(quotedName(name, decode = true)) // target.toString() ==> target.toString case Apply(fn, Nil) => printTree(fn) diff --git a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala index b73016837d..0077ed0c84 100644 --- a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala +++ b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala @@ -169,8 +169,8 @@ abstract class TreeBrowsers { _setExpansionState(root, new TreePath(root.getModel.getRoot)) } - def expandAll(subtree: JTree) = setExpansionState(subtree, true) - def collapseAll(subtree: JTree) = setExpansionState(subtree, false) + def expandAll(subtree: JTree) = setExpansionState(subtree, expand = true) + def collapseAll(subtree: JTree) = setExpansionState(subtree, expand = false) /** Create a frame that displays the AST. diff --git a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala index 1c6bba19b3..7460d1ab31 100644 --- a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala +++ b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala @@ -116,8 +116,8 @@ trait TreeDSL { * See ticket #2168 for one illustration of AS vs. AS_ANY. */ def AS(tpe: Type) = gen.mkAsInstanceOf(target, tpe, any = true, wrapInApply = false) - def IS(tpe: Type) = gen.mkIsInstanceOf(target, tpe, true) - def IS_OBJ(tpe: Type) = gen.mkIsInstanceOf(target, tpe, false) + def IS(tpe: Type) = gen.mkIsInstanceOf(target, tpe, any = true) + def IS_OBJ(tpe: Type) = gen.mkIsInstanceOf(target, tpe, any = false) def TOSTRING() = fn(target, nme.toString_) def GETCLASS() = fn(target, Object_getClass) @@ -251,7 +251,7 @@ trait TreeDSL { def TRY(tree: Tree) = new TryStart(tree, Nil, EmptyTree) def BLOCK(xs: Tree*) = Block(xs.init.toList, xs.last) def NOT(tree: Tree) = Select(tree, Boolean_not) - def SOME(xs: Tree*) = Apply(SomeClass.companionSymbol, makeTupleTerm(xs.toList, true)) + def SOME(xs: Tree*) = Apply(SomeClass.companionSymbol, makeTupleTerm(xs.toList, flattenUnary = true)) /** Typed trees from symbols. */ def THIS(sym: Symbol) = gen.mkAttributedThis(sym) diff --git a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala index e8cef0d9b1..832a9bf63e 100755 --- a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala @@ -256,7 +256,7 @@ trait MarkupParsers { val (qname, attrMap) = xTag(()) if (ch == '/') { // empty element xToken("/>") - handle.element(r2p(start, start, curOffset), qname, attrMap, true, new ListBuffer[Tree]) + handle.element(r2p(start, start, curOffset), qname, attrMap, empty = true, new ListBuffer[Tree]) } else { // handle content xToken('>') @@ -270,7 +270,7 @@ trait MarkupParsers { val pos = r2p(start, start, curOffset) qname match { case "xml:group" => handle.group(pos, ts) - case _ => handle.element(pos, qname, attrMap, false, ts) + case _ => handle.element(pos, qname, attrMap, empty = false, ts) } } } diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index 17c9d7814d..08a6adfded 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -424,13 +424,13 @@ self => placeholderParams match { case vd :: _ => - syntaxError(vd.pos, "unbound placeholder parameter", false) + syntaxError(vd.pos, "unbound placeholder parameter", skipIt = false) placeholderParams = List() case _ => } placeholderTypes match { case td :: _ => - syntaxError(td.pos, "unbound wildcard type", false) + syntaxError(td.pos, "unbound wildcard type", skipIt = false) placeholderTypes = List() case _ => } @@ -537,7 +537,7 @@ self => def accept(token: Int): Int = { val offset = in.offset if (in.token != token) { - syntaxErrorOrIncomplete(expectedMsg(token), false) + syntaxErrorOrIncomplete(expectedMsg(token), skipIt = false) if ((token == RPAREN || token == RBRACE || token == RBRACKET)) if (in.parenBalance(token) + assumedClosingParens(token) < 0) assumedClosingParens(token) += 1 @@ -570,9 +570,9 @@ self => /** Check that type parameter is not by name or repeated. */ def checkNotByNameOrVarargs(tpt: Tree) = { if (treeInfo isByNameParamType tpt) - syntaxError(tpt.pos, "no by-name parameter type allowed here", false) + syntaxError(tpt.pos, "no by-name parameter type allowed here", skipIt = false) else if (treeInfo isRepeatedParamType tpt) - syntaxError(tpt.pos, "no * parameter type allowed here", false) + syntaxError(tpt.pos, "no * parameter type allowed here", skipIt = false) } /** Check that tree is a legal clause of a forSome. */ @@ -581,7 +581,7 @@ self => ValDef(_, _, _, EmptyTree) | EmptyTree => ; case _ => - syntaxError(t.pos, "not a legal existential clause", false) + syntaxError(t.pos, "not a legal existential clause", skipIt = false) } /* -------------- TOKEN CLASSES ------------------------------------------- */ @@ -706,7 +706,7 @@ self => removeAsPlaceholder(name) makeParam(name.toTermName, tpe) case _ => - syntaxError(tree.pos, "not a legal formal parameter", false) + syntaxError(tree.pos, "not a legal formal parameter", skipIt = false) makeParam(nme.ERROR, errorTypeTree setPos o2p(tree.pos.endOrPoint)) } } @@ -714,7 +714,7 @@ self => /** Convert (qual)ident to type identifier. */ def convertToTypeId(tree: Tree): Tree = atPos(tree.pos) { convertToTypeName(tree) getOrElse { - syntaxError(tree.pos, "identifier expected", false) + syntaxError(tree.pos, "identifier expected", skipIt = false) errorTypeTree } } @@ -766,7 +766,7 @@ self => def checkAssoc(offset: Int, op: Name, leftAssoc: Boolean) = if (treeInfo.isLeftAssoc(op) != leftAssoc) syntaxError( - offset, "left- and right-associative operators with same precedence may not be mixed", false) + offset, "left- and right-associative operators with same precedence may not be mixed", skipIt = false) def reduceStack(isExpr: Boolean, base: List[OpInfo], top0: Tree, prec: Int, leftAssoc: Boolean): Tree = { var top = top0 @@ -1119,7 +1119,7 @@ self => case FALSE => false case NULL => null case _ => - syntaxErrorOrIncomplete("illegal literal", true) + syntaxErrorOrIncomplete("illegal literal", skipIt = true) null }) } @@ -1140,7 +1140,7 @@ self => else if(in.token == LBRACE) expr() else if(in.token == THIS) { in.nextToken(); atPos(in.offset)(This(tpnme.EMPTY)) } else { - syntaxErrorOrIncomplete("error in interpolated string: identifier or block expected", true) + syntaxErrorOrIncomplete("error in interpolated string: identifier or block expected", skipIt = true) EmptyTree } } @@ -1376,7 +1376,7 @@ self => Typed(t, atPos(uscorePos) { Ident(tpnme.WILDCARD_STAR) }) } } else { - syntaxErrorOrIncomplete("`*' expected", true) + syntaxErrorOrIncomplete("`*' expected", skipIt = true) } } else if (in.token == AT) { t = (t /: annotations(skipNewLines = false))(makeAnnotated) @@ -1532,7 +1532,7 @@ self => val cpos = r2p(tstart, tstart, in.lastOffset max tstart) makeNew(parents, self, stats, npos, cpos) case _ => - syntaxErrorOrIncomplete("illegal start of simple expression", true) + syntaxErrorOrIncomplete("illegal start of simple expression", skipIt = true) errorTermTree } simpleExprRest(t, canApply = canApply) @@ -1873,7 +1873,7 @@ self => def simplePattern(): Tree = { // simple diagnostics for this entry point def badStart(): Tree = { - syntaxErrorOrIncomplete("illegal start of simple pattern", true) + syntaxErrorOrIncomplete("illegal start of simple pattern", skipIt = true) errorPatternTree } simplePattern(badStart) @@ -1966,7 +1966,7 @@ self => mods private def addMod(mods: Modifiers, mod: Long, pos: Position): Modifiers = { - if (mods hasFlag mod) syntaxError(in.offset, "repeated modifier", false) + if (mods hasFlag mod) syntaxError(in.offset, "repeated modifier", skipIt = false) in.nextToken() (mods | mod) withPosition (mod, pos) } @@ -1983,7 +1983,7 @@ self => if (in.token == LBRACKET) { in.nextToken() if (mods.hasAccessBoundary) - syntaxError("duplicate private/protected qualifier", false) + syntaxError("duplicate private/protected qualifier", skipIt = false) result = if (in.token == THIS) { in.nextToken(); mods | Flags.LOCAL } else Modifiers(mods.flags, identForType()) accept(RBRACKET) @@ -2090,7 +2090,7 @@ self => var mods = Modifiers(Flags.PARAM) if (owner.isTypeName) { mods = modifiers() | Flags.PARAMACCESSOR - if (mods.isLazy) syntaxError("lazy modifier not allowed here. Use call-by-name parameters instead", false) + if (mods.isLazy) syntaxError("lazy modifier not allowed here. Use call-by-name parameters instead", skipIt = false) in.token match { case v @ (VAL | VAR) => mods = mods withPosition (in.token, tokenRange(in)) @@ -2115,11 +2115,11 @@ self => syntaxError( in.offset, (if (mods.isMutable) "`var'" else "`val'") + - " parameters may not be call-by-name", false) + " parameters may not be call-by-name", skipIt = false) else if (implicitmod != 0) syntaxError( in.offset, - "implicit parameters may not be call-by-name", false) + "implicit parameters may not be call-by-name", skipIt = false) else bynamemod = Flags.BYNAMEPARAM } paramType() @@ -2160,9 +2160,9 @@ self => val result = vds.toList if (owner == nme.CONSTRUCTOR && (result.isEmpty || (result.head take 1 exists (_.mods.isImplicit)))) { in.token match { - case LBRACKET => syntaxError(in.offset, "no type parameters allowed here", false) + case LBRACKET => syntaxError(in.offset, "no type parameters allowed here", skipIt = false) case EOF => incompleteInputError("auxiliary constructor needs non-implicit parameter list") - case _ => syntaxError(start, "auxiliary constructor needs non-implicit parameter list", false) + case _ => syntaxError(start, "auxiliary constructor needs non-implicit parameter list", skipIt = false) } } addEvidenceParams(owner, result, contextBounds) @@ -2373,7 +2373,7 @@ self => */ def defOrDcl(pos: Int, mods: Modifiers): List[Tree] = { if (mods.isLazy && in.token != VAL) - syntaxError("lazy not allowed here. Only vals can be lazy", false) + syntaxError("lazy not allowed here. Only vals can be lazy", skipIt = false) in.token match { case VAL => patDefOrDcl(pos, mods withPosition(VAL, tokenRange(in))) @@ -2431,8 +2431,8 @@ self => if (newmods.isDeferred) { trees match { case List(ValDef(_, _, _, EmptyTree)) => - if (mods.isLazy) syntaxError(p.pos, "lazy values may not be abstract", false) - case _ => syntaxError(p.pos, "pattern definition may not be abstract", false) + if (mods.isLazy) syntaxError(p.pos, "lazy values may not be abstract", skipIt = false) + case _ => syntaxError(p.pos, "pattern definition may not be abstract", skipIt = false) } } trees @@ -2598,7 +2598,7 @@ self => case SUPERTYPE | SUBTYPE | SEMI | NEWLINE | NEWLINES | COMMA | RBRACE => TypeDef(mods | Flags.DEFERRED, name, tparams, typeBounds()) case _ => - syntaxErrorOrIncomplete("`=', `>:', or `<:' expected", true) + syntaxErrorOrIncomplete("`=', `>:', or `<:' expected", skipIt = true) EmptyTree } } @@ -2619,7 +2619,7 @@ self => * }}} */ def tmplDef(pos: Int, mods: Modifiers): Tree = { - if (mods.isLazy) syntaxError("classes cannot be lazy", false) + if (mods.isLazy) syntaxError("classes cannot be lazy", skipIt = false) in.token match { case TRAIT => classDef(pos, (mods | Flags.TRAIT | Flags.ABSTRACT) withPosition (Flags.TRAIT, tokenRange(in))) @@ -2632,7 +2632,7 @@ self => case CASEOBJECT => objectDef(pos, (mods | Flags.CASE) withPosition (Flags.CASE, tokenRange(in.prev /*scanner skips on 'case' to 'object', thus take prev*/))) case _ => - syntaxErrorOrIncomplete("expected start of definition", true) + syntaxErrorOrIncomplete("expected start of definition", skipIt = true) EmptyTree } } @@ -2654,7 +2654,7 @@ self => classContextBounds = contextBoundBuf.toList val tstart = (in.offset :: classContextBounds.map(_.pos.startOrPoint)).min if (!classContextBounds.isEmpty && mods.isTrait) { - syntaxError("traits cannot have type parameters with context bounds `: ...' nor view bounds `<% ...'", false) + syntaxError("traits cannot have type parameters with context bounds `: ...' nor view bounds `<% ...'", skipIt = false) classContextBounds = List() } val constrAnnots = constructorAnnotations() @@ -2665,7 +2665,7 @@ self => if (mods.isTrait) { if (settings.YvirtClasses && in.token == SUBTYPE) mods1 |= Flags.DEFERRED } else if (in.token == SUBTYPE) { - syntaxError("classes are not allowed to be virtual", false) + syntaxError("classes are not allowed to be virtual", skipIt = false) } val template = templateOpt(mods1, name, constrMods withAnnotations constrAnnots, vparamss, tstart) if (isInterface(mods1, template.body)) mods1 |= Flags.INTERFACE @@ -2732,7 +2732,7 @@ self => case tdef @ TypeDef(mods, name, tparams, rhs) => List(treeCopy.TypeDef(tdef, mods | Flags.PRESUPER, name, tparams, rhs)) case stat if !stat.isEmpty => - syntaxError(stat.pos, "only type definitions and concrete field definitions allowed in early object initialization section", false) + syntaxError(stat.pos, "only type definitions and concrete field definitions allowed in early object initialization section", skipIt = false) List() case _ => List() } @@ -2811,7 +2811,7 @@ self => templateBody(isPre = false) } else { if (in.token == LPAREN) { - if (parenMeansSyntaxError) syntaxError(s"traits or objects may not have parameters", true) + if (parenMeansSyntaxError) syntaxError(s"traits or objects may not have parameters", skipIt = true) else abort("unexpected opening parenthesis") } (emptyValDef, List()) @@ -2895,7 +2895,7 @@ self => joinComment(List(topLevelTmplDef)) case _ => if (!isStatSep) - syntaxErrorOrIncomplete("expected class or object definition", true) + syntaxErrorOrIncomplete("expected class or object definition", skipIt = true) Nil }) acceptStatSepOpt() @@ -2954,7 +2954,7 @@ self => } else if (isDefIntro || isModifier || in.token == AT) { stats ++= joinComment(nonLocalDefOrDcl) } else if (!isStatSep) { - syntaxErrorOrIncomplete("illegal start of definition", true) + syntaxErrorOrIncomplete("illegal start of definition", skipIt = true) } acceptStatSepOpt() } @@ -2977,7 +2977,7 @@ self => syntaxErrorOrIncomplete( "illegal start of declaration"+ (if (inFunReturnType) " (possible cause: missing `=' in front of current method body)" - else ""), true) + else ""), skipIt = true) } if (in.token != RBRACE) acceptStatSep() } @@ -3047,7 +3047,7 @@ self => } else { val addendum = if (isModifier) " (no modifiers allowed here)" else "" - syntaxErrorOrIncomplete("illegal start of statement" + addendum, true) + syntaxErrorOrIncomplete("illegal start of statement" + addendum, skipIt = true) } } stats.toList diff --git a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala index 181bba6896..19cf1b5093 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala @@ -915,7 +915,7 @@ trait Scanners extends ScannersCommon { } } - def intVal: Long = intVal(false) + def intVal: Long = intVal(negated = false) /** Convert current strVal, base to double value */ @@ -947,7 +947,7 @@ trait Scanners extends ScannersCommon { } } - def floatVal: Double = floatVal(false) + def floatVal: Double = floatVal(negated = false) def checkNoLetter() { if (isIdentifierPart(ch) && ch >= ' ') @@ -1440,7 +1440,7 @@ trait Scanners extends ScannersCommon { while (lin < lineStart.length && column(lineStart(lin)) > lindent) lin += 1 if (lin < lineStart.length) { - val patches1 = insertPatch(patches, BracePatch(lineStart(lin), true)) + val patches1 = insertPatch(patches, BracePatch(lineStart(lin), inserted = true)) //println("patch for "+bp+"/"+imbalanceMeasure+"/"+new ParensAnalyzer(unit, patches1).imbalanceMeasure) /*if (improves(patches1))*/ patches1 @@ -1461,7 +1461,7 @@ trait Scanners extends ScannersCommon { else { val patches1 = delete(nested) if (patches1 ne patches) patches1 - else insertPatch(patches, BracePatch(roff, false)) + else insertPatch(patches, BracePatch(roff, inserted = false)) } } delete(bracePairs) diff --git a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala index 4329ccefc7..cdcfd0b834 100755 --- a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala @@ -132,7 +132,7 @@ abstract class SymbolicXMLBuilder(p: Parsers#Parser, preserveWS: Boolean) { case (Some(pre), rest) => (const(pre), const(rest)) case _ => (wild, const(n)) } - mkXML(pos, true, prepat, labpat, null, null, false, args) + mkXML(pos, isPattern = true, prepat, labpat, null, null, empty = false, args) } protected def convertToTextPat(t: Tree): Tree = t match { @@ -168,7 +168,7 @@ abstract class SymbolicXMLBuilder(p: Parsers#Parser, preserveWS: Boolean) { } /** Returns (Some(prefix) | None, rest) based on position of ':' */ - def splitPrefix(name: String): (Option[String], String) = splitWhere(name, _ == ':', true) match { + def splitPrefix(name: String): (Option[String], String) = splitWhere(name, _ == ':', doDropIndex = true) match { case Some((pre, rest)) => (Some(pre), rest) case _ => (None, name) } @@ -246,7 +246,7 @@ abstract class SymbolicXMLBuilder(p: Parsers#Parser, preserveWS: Boolean) { val body = mkXML( pos.makeTransparent, - false, + isPattern = false, const(pre), const(newlabel), makeSymbolicAttrs, diff --git a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala index f361daa574..d70b1f4d9c 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala @@ -133,7 +133,7 @@ abstract class TreeBuilder { def makeTupleTerm(trees: List[Tree], flattenUnary: Boolean): Tree = trees match { case Nil => Literal(Constant()) case List(tree) if flattenUnary => tree - case _ => makeTuple(trees, false) + case _ => makeTuple(trees, isType = false) } def makeTupleType(trees: List[Tree], flattenUnary: Boolean): Tree = trees match { @@ -143,7 +143,7 @@ abstract class TreeBuilder { } def stripParens(t: Tree) = t match { - case Parens(ts) => atPos(t.pos) { makeTupleTerm(ts, true) } + case Parens(ts) => atPos(t.pos) { makeTupleTerm(ts, flattenUnary = true) } case _ => t } @@ -273,7 +273,7 @@ abstract class TreeBuilder { CaseDef(condition, EmptyTree, Literal(Constant(true))), CaseDef(Ident(nme.WILDCARD), EmptyTree, Literal(Constant(false))) ) - val matchTree = makeVisitor(cases, false, scrutineeName) + val matchTree = makeVisitor(cases, checkExhaustive = false, scrutineeName) atPos(tree.pos)(Apply(Select(tree, nme.withFilter), matchTree :: Nil)) } @@ -366,7 +366,7 @@ abstract class TreeBuilder { body) setPos splitpos case None => atPos(splitpos) { - makeVisitor(List(CaseDef(pat, EmptyTree, body)), false) + makeVisitor(List(CaseDef(pat, EmptyTree, body)), checkExhaustive = false) } } } @@ -422,9 +422,9 @@ abstract class TreeBuilder { val ids = (defpat1 :: defpats) map makeValue val rhs1 = makeForYield( List(ValFrom(pos, defpat1, rhs)), - Block(pdefs, atPos(wrappingPos(ids)) { makeTupleTerm(ids, true) }) setPos wrappingPos(pdefs)) + Block(pdefs, atPos(wrappingPos(ids)) { makeTupleTerm(ids, flattenUnary = true) }) setPos wrappingPos(pdefs)) val allpats = (pat :: pats) map (_.duplicate) - val vfrom1 = ValFrom(r2p(pos.startOrPoint, pos.point, rhs1.pos.endOrPoint), atPos(wrappingPos(allpats)) { makeTuple(allpats, false) } , rhs1) + val vfrom1 = ValFrom(r2p(pos.startOrPoint, pos.point, rhs1.pos.endOrPoint), atPos(wrappingPos(allpats)) { makeTuple(allpats, isType = false) } , rhs1) makeFor(mapName, flatMapName, vfrom1 :: rest1, body) case _ => EmptyTree //may happen for erroneous input @@ -533,7 +533,7 @@ abstract class TreeBuilder { rhs1, List( atPos(pat1.pos) { - CaseDef(pat1, EmptyTree, makeTupleTerm(vars map (_._1) map Ident.apply, true)) + CaseDef(pat1, EmptyTree, makeTupleTerm(vars map (_._1) map Ident.apply, flattenUnary = true)) } )) } |