Skip to content

Commit d591f95

Browse files
committed
format: newlines.source=fold
1 parent 04eb6c4 commit d591f95

12 files changed

+296
-403
lines changed

.scalafmt.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ runner.dialect = scala3
44
assumeStandardLibraryStripMargin = true
55

66
newlines.inInterpolation = "avoid"
7-
7+
newlines.source = "fold"
88
docstrings.oneline = "fold"
99

1010
rewrite.rules = [Imports]

src/main/scala/Main.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
@main def hello(): Unit =
1+
@main
2+
def hello(): Unit =
23
println("Hello world!")
34
println(msg)
45

src/main/scala/fred/AST.scala

+6-8
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package fred
22

33
case class Span(start: Int, end: Int) {
44
override def toString =
5-
if (start == -1 && end == -1) "(:)"
6-
else s"($start:$end)"
5+
if (start == -1 && end == -1) "(:)" else s"($start:$end)"
76
}
87

98
object Span {
@@ -153,10 +152,9 @@ enum VarDef {
153152

154153
def typ: Type
155154

156-
def name: String =
157-
this match {
158-
case Let(expr, _) => expr.name.value
159-
case VarDef.Param(param, _) => param.name.value
160-
case Pat(_, _, _, varName, _) => varName
161-
}
155+
def name: String = this match {
156+
case Let(expr, _) => expr.name.value
157+
case VarDef.Param(param, _) => param.name.value
158+
case Pat(_, _, _, varName, _) => varName
159+
}
162160
}

src/main/scala/fred/Compiler.scala

+6-11
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ object Compiler {
99
def compile(code: String, outExe: String): Unit = {
1010
val parsedFile = Parser.parse(code)
1111
given typer: Typer =
12-
try {
13-
Typer.resolveAllTypes(parsedFile)
14-
} catch {
12+
try { Typer.resolveAllTypes(parsedFile) }
13+
catch {
1514
case CompileError(msg, span) =>
1615
println(s"Error at $span: $msg")
1716
println(code.substring(span.start, span.end))
@@ -28,12 +27,8 @@ object Compiler {
2827
in.write(generated.getBytes())
2928
in.close()
3029
},
31-
out => {
32-
print(String(out.readAllBytes()))
33-
},
34-
err => {
35-
System.err.print(String(err.readAllBytes()))
36-
}
30+
out => { print(String(out.readAllBytes())) },
31+
err => { System.err.print(String(err.readAllBytes())) }
3732
)
3833

3934
assert(
@@ -43,8 +38,8 @@ object Compiler {
4338

4439
/** Path to the folder with header files to include */
4540
private def includesFolder(): String = {
46-
val runtimeFile =
47-
this.getClass().getClassLoader().getResource(RuntimeHeader).toURI()
41+
val runtimeFile = this.getClass().getClassLoader()
42+
.getResource(RuntimeHeader).toURI()
4843
Paths.get(runtimeFile).getParent().toString()
4944
}
5045
}

src/main/scala/fred/Cycles.scala

+12-19
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,21 @@ case class Cycles(
1616
object Cycles {
1717
def fromFile(file: ParsedFile): Cycles = {
1818
val sccs = findSCCs(file)
19-
val sccMap = sccs.zipWithIndex.flatMap { (types, i) =>
20-
types.map(_ -> i)
21-
}.toMap
19+
val sccMap = sccs.zipWithIndex.flatMap { (types, i) => types.map(_ -> i) }
20+
.toMap
2221

2322
given bindings: Bindings = Bindings.fromFile(file)
24-
val badSCCs = sccs.zipWithIndex
25-
.filter { (scc, _) =>
26-
scc.exists { typ =>
27-
val fields = typ.cases.flatMap(_.fields)
28-
fields.exists { field =>
29-
bindings.getType(field.typ) match {
30-
case neighbor: TypeDef =>
31-
field.mutable && scc(neighbor)
32-
case _ => false
33-
}
23+
val badSCCs = sccs.zipWithIndex.filter { (scc, _) =>
24+
scc.exists { typ =>
25+
val fields = typ.cases.flatMap(_.fields)
26+
fields.exists { field =>
27+
bindings.getType(field.typ) match {
28+
case neighbor: TypeDef => field.mutable && scc(neighbor)
29+
case _ => false
3430
}
3531
}
3632
}
37-
.map(_._2)
33+
}.map(_._2)
3834

3935
Cycles(sccs, sccMap, badSCCs.toSet)
4036
}
@@ -89,9 +85,7 @@ object Cycles {
8985
}
9086

9187
for (typ <- file.typeDefs) {
92-
if (!indexOf.contains(typ)) {
93-
strongConnect(typ)
94-
}
88+
if (!indexOf.contains(typ)) { strongConnect(typ) }
9589
}
9690

9791
sccs.toList.reverse
@@ -101,6 +95,5 @@ object Cycles {
10195
typ: TypeDef
10296
)(using bindings: Bindings): List[TypeDef] = typ.cases
10397
.flatMap(_.fields.map(field => bindings.getType(field.typ)))
104-
.collect { case td: TypeDef => td }
105-
.distinct
98+
.collect { case td: TypeDef => td }.distinct
10699
}

src/main/scala/fred/NameResolver.scala

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package fred
22

33
object NameResolver {
44

5-
/** Find [[TypeRef]]s that didn't resolve to anything
6-
*/
5+
/** Find [[TypeRef]]s that didn't resolve to anything */
76
def checkTypes(file: ParsedFile): List[TypeRef] = {
87
val fieldTypes = file.typeDefs.flatMap(_.cases.flatMap(_.fields.map(_.typ)))
98
val fnTypes = file.fns.flatMap { fn =>

0 commit comments

Comments
 (0)