Switch type argument syntax (#1940)
This changes type argument syntax to "standard" style, and away from turbofish. The motivation here is that turbofish-style type arguments are hard to read, and developers who are not already deeply knowledgeable about Pkl might struggle to understand such code. In most languages, the grammar for "method call with type args" don't introduce any additional symbols between the identifier and the type argument list (e.g. C++, TypeScript, C#, Scala, Go).
This commit is contained in:
1 parent
6ad50eb589
commit
a9b7fe3a33
96 files changed
+1448
-376
No files matched your search
@@ -261,7 +261,7 @@ final class Builder {
|
||||
* {@code foo.bar.baz(
|
||||
* new { qux = 1 }
|
||||
* )}
|
||||
* {@code foo.bar.baz::<
|
||||
* {@code foo.bar.baz<
|
||||
* Quux
|
||||
* >(
|
||||
* new { qux = 1 }
|
||||
@@ -368,7 +368,7 @@ final class Builder {
|
||||
var argListIdx = -1;
|
||||
for (var i = 0; i < lastNode.children.size(); i++) {
|
||||
var node = lastNode.children.get(i);
|
||||
if (node.type == NodeType.DCOLON) {
|
||||
if (node.type == NodeType.TYPE_ARGUMENT_LIST) {
|
||||
typeArgListIdx = i;
|
||||
continue;
|
||||
}
|
||||
|
||||
+12
-12
@@ -1,14 +1,14 @@
|
||||
res1 = foo::<Bar>(baz)
|
||||
res1a = foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res1 = foo<Bar>(baz)
|
||||
res1a = foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
|
||||
res2 = qux.foo::<Bar, Bar2,>(baz, baz2)
|
||||
res2a = qux.foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2b = qux.quux::<Corge>().foo::<Bar, Bar2,>(baz, baz2)
|
||||
res2c = qux.quux::<Corge>().foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2d = qux::<Corge>().foo::<Bar, Bar2,>(baz, baz2)
|
||||
res2e = qux::<Corge>().foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2f = grault.qux.quux::<Corge>().foo::<Bar, Bar2,>(baz, baz2)
|
||||
res2g = grault.qux.quux::<Corge>().foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2 = qux.foo<Bar, Bar2,>(baz, baz2)
|
||||
res2a = qux.foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2b = qux.quux<Corge>().foo<Bar, Bar2,>(baz, baz2)
|
||||
res2c = qux.quux<Corge>().foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2d = qux<Corge>().foo<Bar, Bar2,>(baz, baz2)
|
||||
res2e = qux<Corge>().foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res2f = grault.qux.quux<Corge>().foo<Bar, Bar2,>(baz, baz2)
|
||||
res2g = grault.qux.quux<Corge>().foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
|
||||
res3 = super.foo::<Bar, Bar2,>(baz, baz2)
|
||||
res3a = super.foo::<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
res3 = super.foo<Bar, Bar2,>(baz, baz2)
|
||||
res3a = super.foo<Bar, Baz, ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType>(baz, baz, reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg)
|
||||
+15
-15
@@ -1,6 +1,6 @@
|
||||
res1 = foo::<Bar>(baz)
|
||||
res1 = foo<Bar>(baz)
|
||||
res1a =
|
||||
foo::<
|
||||
foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
@@ -10,9 +10,9 @@ res1a =
|
||||
reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg,
|
||||
)
|
||||
|
||||
res2 = qux.foo::<Bar, Bar2>(baz, baz2)
|
||||
res2 = qux.foo<Bar, Bar2>(baz, baz2)
|
||||
res2a =
|
||||
qux.foo::<
|
||||
qux.foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
@@ -21,11 +21,11 @@ res2a =
|
||||
baz,
|
||||
reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg,
|
||||
)
|
||||
res2b = qux.quux::<Corge>().foo::<Bar, Bar2>(baz, baz2)
|
||||
res2b = qux.quux<Corge>().foo<Bar, Bar2>(baz, baz2)
|
||||
res2c =
|
||||
qux
|
||||
.quux::<Corge>()
|
||||
.foo::<
|
||||
.quux<Corge>()
|
||||
.foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
@@ -34,10 +34,10 @@ res2c =
|
||||
baz,
|
||||
reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg,
|
||||
)
|
||||
res2d = qux::<Corge>().foo::<Bar, Bar2>(baz, baz2)
|
||||
res2d = qux<Corge>().foo<Bar, Bar2>(baz, baz2)
|
||||
res2e =
|
||||
qux::<Corge>()
|
||||
.foo::<
|
||||
qux<Corge>()
|
||||
.foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
@@ -46,11 +46,11 @@ res2e =
|
||||
baz,
|
||||
reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg,
|
||||
)
|
||||
res2f = grault.qux.quux::<Corge>().foo::<Bar, Bar2>(baz, baz2)
|
||||
res2f = grault.qux.quux<Corge>().foo<Bar, Bar2>(baz, baz2)
|
||||
res2g =
|
||||
grault.qux
|
||||
.quux::<Corge>()
|
||||
.foo::<
|
||||
.quux<Corge>()
|
||||
.foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
@@ -60,9 +60,9 @@ res2g =
|
||||
reallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongArg,
|
||||
)
|
||||
|
||||
res3 = super.foo::<Bar, Bar2>(baz, baz2)
|
||||
res3 = super.foo<Bar, Bar2>(baz, baz2)
|
||||
res3a =
|
||||
super.foo::<
|
||||
super.foo<
|
||||
Bar,
|
||||
Baz,
|
||||
ReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongType,
|
||||
|
||||
Reference in new issue
Block a user