Add net stdlib module with URL support (#1834)
This commit is contained in:
1 parent
dbcecd9677
commit
862c61f2e2
46 files changed
+3682
-15
No files matched your search
@@ -845,6 +845,7 @@ class JavaCodeGenerator(
|
||||
PClassInfo.Class -> PCLASS.nullableIf(nullable)
|
||||
PClassInfo.Regex -> PATTERN.nullableIf(nullable)
|
||||
PClassInfo.Version -> VERSION.nullableIf(nullable)
|
||||
PClassInfo.Url -> URI.nullableIf(nullable)
|
||||
else ->
|
||||
when {
|
||||
!classInfo.isStandardLibraryClass -> pClass.toJavaPoetName().nullableIf(nullable)
|
||||
|
||||
@@ -1159,6 +1159,52 @@ class JavaCodeGeneratorTest {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `pkl_net Url`() {
|
||||
val javaCode =
|
||||
generateJavaCode(
|
||||
"""
|
||||
module mod
|
||||
|
||||
import "pkl:net"
|
||||
|
||||
url: net.Url
|
||||
nullableUrl: net.Url?
|
||||
listing: Listing<net.Url>
|
||||
mapping: Mapping<String, net.Url>
|
||||
|
||||
class Foo {
|
||||
url: net.Url
|
||||
}
|
||||
"""
|
||||
.trimIndent()
|
||||
)
|
||||
|
||||
assertThat(javaCode)
|
||||
.compilesSuccessfully()
|
||||
.contains("import java.net.URI;")
|
||||
.contains(
|
||||
"""
|
||||
|public final class Mod {
|
||||
| public final @NonNull URI url;
|
||||
|
|
||||
| public final URI nullableUrl;
|
||||
|
|
||||
| public final @NonNull List<@NonNull URI> listing;
|
||||
|
|
||||
| public final @NonNull Map<@NonNull String, @NonNull URI> mapping;
|
||||
"""
|
||||
.trimMargin()
|
||||
)
|
||||
.contains(
|
||||
"""
|
||||
| public static final class Foo {
|
||||
| public final @NonNull URI url;
|
||||
"""
|
||||
.trimMargin()
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `nullable properties`() {
|
||||
var javaCode =
|
||||
|
||||
Reference in new issue
Block a user