Skip to content

Commit 2e76778

Browse files
committed
Test case for scala#7175
1 parent 20818af commit 2e76778

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

tests/pos/i7175.scala

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
object foo {
2+
def main(args: Array[String]): Unit = println("Dotty")
3+
4+
import java.net.URL
5+
import java.util.List
6+
7+
trait ConfigOrigin {
8+
def description: String
9+
def filename: String
10+
def url: URL
11+
def resource: String
12+
def lineNumber: Int
13+
def comments: List[String]
14+
def withComments(comments: List[String]): ConfigOrigin
15+
def withLineNumber(lineNumber: Int): ConfigOrigin
16+
}
17+
18+
19+
trait ConfigValue extends ConfigMergeable {
20+
def origin: ConfigOrigin
21+
//def valueType: ConfigValueType
22+
def unwrapped: AnyRef
23+
def render: String
24+
//def render(options: ConfigRenderOptions): String
25+
override def withFallback(other: ConfigMergeable): ConfigValue
26+
//def atPath(path: String): Config
27+
//def atKey(key: String): Config
28+
def withOrigin(origin: ConfigOrigin): ConfigValue
29+
}
30+
31+
32+
trait ConfigMergeable {
33+
def withFallback(other: ConfigMergeable): ConfigMergeable
34+
}
35+
36+
trait MergeableValue extends ConfigMergeable {
37+
def toFallbackValue(): ConfigValue
38+
}
39+
40+
// no impl
41+
final class SimpleConfigOrigin extends ConfigOrigin {
42+
def comments: java.util.List[String] = ???
43+
def description: String = ???
44+
def filename: String = ???
45+
def lineNumber: Int = ???
46+
def resource: String = ???
47+
def url: java.net.URL = ???
48+
def withComments(comments: java.util.List[String]): foo.ConfigOrigin = ???
49+
def withLineNumber(lineNumber: Int): foo.ConfigOrigin = ???
50+
}
51+
52+
abstract class AbstractConfigValue (val _origin: ConfigOrigin)
53+
extends ConfigValue
54+
with MergeableValue {
55+
56+
override def origin: SimpleConfigOrigin =
57+
this._origin.asInstanceOf[SimpleConfigOrigin]
58+
}
59+
}

0 commit comments

Comments
 (0)