Skip to content

Commit 52d6ac3

Browse files
committed
Merge pull request #469 from dotty-staging/stylecheck
Add stylechecking to test suite, fix style errors
2 parents 0c1797a + a16ab21 commit 52d6ac3

File tree

356 files changed

+1541
-1417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+1541
-1417
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
language: scala
22
script:
3-
- sbt -Ddotty.travis.build=yes update compile test
3+
- sbt -Ddotty.travis.build=yes update compile test scalastyle
44
jdk:
55
- oraclejdk8
66
notifications:

project/Build.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ object DottyBuild extends Build {
2727

2828
// to get Scala 2.11
2929
resolvers += Resolver.sonatypeRepo("releases"),
30-
30+
3131
// get reflect and xml onboard
3232
libraryDependencies ++= Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value,
3333
"org.scala-lang.modules" %% "scala-xml" % "1.0.1",
@@ -59,7 +59,7 @@ object DottyBuild extends Build {
5959
val path = for {
6060
file <- attList.map(_.data)
6161
path = file.getAbsolutePath
62-
} yield "-Xbootclasspath/p:" + path
62+
} yield "-Xbootclasspath/p:" + path
6363
// dotty itself needs to be in the bootclasspath
6464
val fullpath = ("-Xbootclasspath/a:" + bin) :: path.toList
6565
// System.err.println("BOOTPATH: " + fullpath)
@@ -109,8 +109,8 @@ object DottyBuild extends Build {
109109
val path = for {
110110
file <- attList.map(_.data)
111111
path = file.getAbsolutePath
112-
prefix = if(path.endsWith(".jar")) "p" else "a"
113-
} yield "-Xbootclasspath/"+ prefix +":" + path
112+
prefix = if (path.endsWith(".jar")) "p" else "a"
113+
} yield "-Xbootclasspath/" + prefix + ":" + path
114114
// dotty itself needs to be in the bootclasspath
115115
val fullpath = ("-Xbootclasspath/a:" + bin) :: path.toList
116116
// System.err.println("BOOTPATH: " + fullpath)
@@ -121,7 +121,7 @@ object DottyBuild extends Build {
121121
else
122122
List()
123123
val res = agentOptions ::: travis_build ::: fullpath
124-
println("Running with javaOptions: " +res)
124+
println("Running with javaOptions: " + res)
125125
res
126126
}
127127
)

project/plugins.sbt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44

55
// Scala IDE project file generator
66
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.2.0")
7+
8+
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.6.0")
9+

scalastyle-config.xml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<scalastyle>
2+
<name>Scalastyle standard configuration</name>
3+
<check level="warning" class="org.scalastyle.file.FileTabChecker" enabled="true"></check>
4+
<check level="warning" class="org.scalastyle.file.FileLengthChecker" enabled="false">
5+
<parameters>
6+
<parameter name="maxFileLength"><![CDATA[800]]></parameter>
7+
</parameters>
8+
</check>
9+
<check level="warning" class="org.scalastyle.file.HeaderMatchesChecker" enabled="false">
10+
<parameters>
11+
<parameter name="header"><![CDATA[// Copyright (C) 2011-2012 the original author or authors.
12+
// See the LICENCE.txt file distributed with this work for additional
13+
// information regarding copyright ownership.
14+
//
15+
// Licensed under the Apache License, Version 2.0 (the "License");
16+
// you may not use this file except in compliance with the License.
17+
// You may obtain a copy of the License at
18+
//
19+
// http://www.apache.org/licenses/LICENSE-2.0
20+
//
21+
// Unless required by applicable law or agreed to in writing, software
22+
// distributed under the License is distributed on an "AS IS" BASIS,
23+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24+
// See the License for the specific language governing permissions and
25+
// limitations under the License.]]></parameter>
26+
</parameters>
27+
</check>
28+
<check level="warning" class="org.scalastyle.scalariform.EnsureSingleSpaceAfterTokenChecker" enabled="false">
29+
<parameters>
30+
<parameter name="tokens">IF</parameter>
31+
</parameters>
32+
</check>
33+
<check level="warning" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="false"></check>
34+
<check level="warning" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>
35+
<check level="warning" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
36+
<check level="warning" class="org.scalastyle.file.FileLineLengthChecker" enabled="false">
37+
<parameters>
38+
<parameter name="maxLineLength"><![CDATA[160]]></parameter>
39+
<parameter name="tabSize"><![CDATA[4]]></parameter>
40+
</parameters>
41+
</check>
42+
<check level="warning" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true">
43+
<parameters>
44+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
45+
</parameters>
46+
</check>
47+
<check level="warning" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true">
48+
<parameters>
49+
<parameter name="regex"><![CDATA[[A-Z]?[A-Za-z]*]]></parameter>
50+
</parameters>
51+
</check>
52+
<check level="warning" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
53+
<parameters>
54+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
55+
</parameters>
56+
</check>
57+
<check level="warning" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="false"></check>
58+
<check level="warning" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true">
59+
<parameters>
60+
<parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter>
61+
</parameters>
62+
</check>
63+
<check level="warning" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="false">
64+
<parameters>
65+
<parameter name="maxParameters"><![CDATA[8]]></parameter>
66+
</parameters>
67+
</check>
68+
<check level="warning" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="false">
69+
<parameters>
70+
<parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter>
71+
</parameters>
72+
</check>
73+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="true"></check>
74+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="true"></check>
75+
<check level="warning" class="org.scalastyle.scalariform.ReturnChecker" enabled="false"></check>
76+
<check level="warning" class="org.scalastyle.scalariform.NullChecker" enabled="false"></check>
77+
<check level="warning" class="org.scalastyle.scalariform.NoCloneChecker" enabled="false"></check>
78+
<check level="warning" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check>
79+
<check level="warning" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check>
80+
<check level="warning" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="false"></check>
81+
<check level="warning" class="org.scalastyle.file.RegexChecker" enabled="true">
82+
<parameters>
83+
<parameter name="regex"><![CDATA[if\(]]></parameter>
84+
</parameters>
85+
</check>
86+
<check level="warning" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="false">
87+
<parameters>
88+
<parameter name="maxTypes"><![CDATA[30]]></parameter>
89+
</parameters>
90+
</check>
91+
<check level="warning" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="false">
92+
<parameters>
93+
<parameter name="maximum"><![CDATA[10]]></parameter>
94+
</parameters>
95+
</check>
96+
<check level="warning" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check>
97+
<check level="warning" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="false"></check>
98+
<check level="warning" class="org.scalastyle.scalariform.IfBraceChecker" enabled="false">
99+
<parameters>
100+
<parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
101+
<parameter name="doubleLineAllowed"><![CDATA[true]]></parameter>
102+
</parameters>
103+
</check>
104+
<check level="warning" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="false">
105+
<parameters>
106+
<parameter name="maxLength"><![CDATA[50]]></parameter>
107+
</parameters>
108+
</check>
109+
<check level="warning" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="false">
110+
<parameters>
111+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*(_=)?$]]></parameter>
112+
</parameters>
113+
</check>
114+
<check level="warning" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="false">
115+
<parameters>
116+
<parameter name="maxMethods"><![CDATA[30]]></parameter>
117+
</parameters>
118+
</check>
119+
<check level="warning" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="false"></check>
120+
<check level="warning" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
121+
<check level="warning" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
122+
</scalastyle>

src/dotty/DottyPredef.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ object DottyPredef {
77
/** implicits for ClassTag and TypeTag. Should be implemented with macros */
88
implicit def classTag[T]: ClassTag[T] = ???
99
implicit def typeTag[T]: TypeTag[T] = ???
10-
}
10+
}

src/dotty/Pair.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ package dotty
22

33
class Pair[T, U](x: T, y: U) {
44

5-
}
5+
}

src/dotty/Singleton.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ package dotty
22

33
class Singleton {
44

5-
}
5+
}

src/dotty/annotation/internal/Alias.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import scala.annotation.Annotation
44

55
class Alias(aliased: Any) extends Annotation {
66

7-
}
7+
}

src/dotty/annotation/internal/AnnotationDefault.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import scala.annotation.Annotation
44

55
class AnnotationDefault extends Annotation {
66

7-
}
7+
}

src/dotty/annotation/internal/Child.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import scala.annotation.Annotation
44

55
class Child[T] extends Annotation {
66

7-
}
7+
}

src/dotty/annotation/internal/Repeated.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ package dotty.annotation.internal
22

33
import scala.annotation.Annotation
44

5-
final class Repeated() extends Annotation
5+
final class Repeated() extends Annotation

src/dotty/language.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ object language {
1313
/** No auto tupling */
1414
val noAutoTupling = new Feature
1515

16-
}
16+
}

src/dotty/runtime/Arrays.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ object Arrays {
1212
*/
1313
def newGenericArray[T](length: Int)(implicit tag: ClassTag[T]): Array[T] =
1414
tag.newArray(length)
15-
15+
1616
/** Convert a sequence to a Java array with element type given by `clazz`. */
1717
def seqToArray[T](xs: Seq[T], clazz: Class[_]): Array[T] = {
1818
val arr = java.lang.reflect.Array.newInstance(clazz, xs.length).asInstanceOf[Array[T]]
1919
xs.copyToArray(arr)
2020
arr
2121
}
22-
22+
2323
/** Create an array of type T. T must be of form Array[E], with
2424
* E being a reference type.
2525
*/
@@ -51,4 +51,4 @@ object Arrays {
5151

5252
/** Create a scala.runtime.BoxedUnit[] array */
5353
def newUnitArray(length: Int): Array[Unit] = ???
54-
}
54+
}

src/dotty/tools/backend/jvm/CollectEntryPoints.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class CollectEntryPoints extends MiniPhaseTransform {
4040
def phaseName: String = "Collect entry points"
4141

4242
override def transformDefDef(tree: tpd.DefDef)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
43-
if((tree.symbol ne NoSymbol) && CollectEntryPoints.isJavaEntyPoint(tree.symbol)) {
43+
if ((tree.symbol ne NoSymbol) && CollectEntryPoints.isJavaEntyPoint(tree.symbol)) {
4444
ctx.genBCodePhase.asInstanceOf[GenBCode].registerEntryPoint(tree.symbol)
4545
}
4646
tree

src/dotty/tools/backend/jvm/DottyBackendInterface.scala

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
376376
def shouldEmitJumpAfterLabels = true
377377

378378
def dumpClasses: Option[String] =
379-
if(ctx.settings.Ydumpclasses.isDefault) None
379+
if (ctx.settings.Ydumpclasses.isDefault) None
380380
else Some(ctx.settings.Ydumpclasses.value)
381381

382382
def mainClass: Option[String] =
@@ -423,7 +423,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
423423
case TermRef(prefix: ThisType, name) =>
424424
Some(tpd.This(prefix.cls).select(i.symbol))
425425
case TermRef(NoPrefix, name) =>
426-
if(i.symbol is Flags.Method) Some(This(i.symbol.enclosingClass).select(i.symbol)) // workaround #342 todo: remove after fixed
426+
if (i.symbol is Flags.Method) Some(This(i.symbol.enclosingClass).select(i.symbol)) // workaround #342 todo: remove after fixed
427427
else None
428428
case _ => None
429429
}
@@ -663,7 +663,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
663663
def companionSymbol: Symbol = if (sym is Flags.Module) companionClass else companionModule
664664
def moduleClass: Symbol = toDenot(sym).moduleClass
665665
def enclosingClassSym: Symbol = {
666-
if(this.isClass) {
666+
if (this.isClass) {
667667
val ct = ctx.withPhase(ctx.flattenPhase.prev)
668668
toDenot(sym)(ct).owner.enclosingClass(ct)
669669
}
@@ -792,7 +792,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
792792
t.info match {
793793

794794
case _ =>
795-
if(!t.symbol.isClass) nonClassTypeRefToBType(t.symbol) // See comment on nonClassTypeRefToBType
795+
if (!t.symbol.isClass) nonClassTypeRefToBType(t.symbol) // See comment on nonClassTypeRefToBType
796796
else primitiveOrClassToBType(t.symbol) // Common reference to a type such as scala.Int or java.lang.String
797797
}
798798
case Types.ClassInfo(_, sym, _, _, _) => primitiveOrClassToBType(sym) // We get here, for example, for genLoadModule, which invokes toTypeKind(moduleClassSymbol.info)
@@ -942,7 +942,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
942942
def _3: Tree = field.rhs
943943

944944
override def unapply(s: LabelDef): DottyBackendInterface.this.LabelDef.type = {
945-
if(s.symbol is Flags.Label) this.field = s
945+
if (s.symbol is Flags.Label) this.field = s
946946
else this.field = null
947947
this
948948
}
@@ -1021,16 +1021,16 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
10211021
def _2 = field.meth
10221022
def _3 = {
10231023
val t = field.tpt.tpe.typeSymbol
1024-
if(t.exists) t
1024+
if (t.exists) t
10251025
else {
10261026
val arity = field.meth.tpe.widenDealias.paramTypes.size - _1.size
10271027
val returnsUnit = field.meth.tpe.widenDealias.resultType.classSymbol == UnitClass
1028-
if(returnsUnit)
1029-
ctx.requiredClass(("scala.compat.java8.JProcedure"+arity).toTermName)
1030-
else ctx.requiredClass(("scala.compat.java8.JFunction"+arity).toTermName)
1028+
if (returnsUnit)
1029+
ctx.requiredClass(("scala.compat.java8.JProcedure" + arity).toTermName)
1030+
else ctx.requiredClass(("scala.compat.java8.JFunction" + arity).toTermName)
10311031
}
10321032
}
10331033
}
10341034

10351035
def currentUnit = ctx.compilationUnit
1036-
}
1036+
}

src/dotty/tools/backend/jvm/LabelDefs.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import StdNames.nme
4444
*
4545
* <label> def foo(i: Int) = {
4646
* <label> def bar = 0
47-
* <label> def dough(i: Int) = if(i == 0) bar else foo(i-1)
47+
* <label> def dough(i: Int) = if (i == 0) bar else foo(i-1)
4848
* dough(i)
4949
* }
5050
*
@@ -54,7 +54,7 @@ import StdNames.nme
5454
*
5555
* \
5656
* <label> def foo(i: Int) = dough(i)
57-
* <label> def dough(i: Int) = if(i == 0) bar else foo(i-1)
57+
* <label> def dough(i: Int) = if (i == 0) bar else foo(i-1)
5858
* <label> def bar = 2
5959
* foo(100)
6060
*
@@ -64,7 +64,7 @@ import StdNames.nme
6464
* <jump foo>
6565
* <label> def foo(i: Int) = dough(i)
6666
* // <jump a> // unreachable
67-
* <label> def dough(i: Int) = if(i == 0) bar else foo(i-1)
67+
* <label> def dough(i: Int) = if (i == 0) bar else foo(i-1)
6868
* // <jump a> // unreachable
6969
* <label> def bar = 2
7070
* // <jump a> // unreachable
@@ -107,7 +107,7 @@ class LabelDefs extends MiniPhaseTransform {
107107
labelLevel = labelLevel + 1
108108
val r = Block(moveLabels(t), t)
109109
labelLevel = labelLevel - 1
110-
if(labelLevel == 0) beingAppended.clear()
110+
if (labelLevel == 0) beingAppended.clear()
111111
r
112112
case _ => if (entryPoints.nonEmpty && labelDefs.nonEmpty) super.transform(tree) else tree
113113
}
@@ -206,14 +206,14 @@ class LabelDefs extends MiniPhaseTransform {
206206
labelCalls(r.symbol) = parentLabelCalls
207207
parentLabelCalls = st
208208

209-
if(shouldMoveLabel) {
209+
if (shouldMoveLabel) {
210210
labelDefs(r.symbol) = r
211211
EmptyTree
212212
} else r
213213
case t: Apply if t.symbol is Flags.Label =>
214214
val sym = t.symbol
215215
parentLabelCalls = parentLabelCalls + t
216-
if(owner != sym) callCounts(sym) = callCounts(sym) + 1
216+
if (owner != sym) callCounts(sym) = callCounts(sym) + 1
217217
super.transform(tree)
218218
case _ =>
219219
super.transform(tree)

src/dotty/tools/backend/jvm/scalaPrimitives.scala

100755100644
File mode changed.

src/dotty/tools/dotc/CompilationUnit.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ class CompilationUnit(val source: SourceFile) {
3838
* so one can reliably use this function only dirrectly after `pickler`
3939
*/
4040
var addrOfSym: Symbol => Option[Addr] = (_ => None)
41-
}
41+
}

0 commit comments

Comments
 (0)