Skip to content

Commit

Permalink
Merge pull request #443 from Netflix/feature/jvm-name
Browse files Browse the repository at this point in the history
Use an explicit JVM generated name for all kotlin2 data classes
  • Loading branch information
srinivasankavitha committed Aug 15, 2022
2 parents 278b1da + e01afce commit b0e81ff
Show file tree
Hide file tree
Showing 112 changed files with 566 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Person.Builder::class)
Expand All @@ -18,9 +19,11 @@ public class Person(

private val _lastname: () -> String? = lastname

@get:JvmName("getFirstname")
public val firstname: String?
get() = _firstname.invoke()

@get:JvmName("getLastname")
public val lastname: String?
get() = _lastname.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.collections.List
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -15,6 +16,7 @@ public class Query(
) {
private val _people: () -> List<Person?>? = people

@get:JvmName("getPeople")
public val people: List<Person?>?
get() = _people.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Person.Builder::class)
Expand All @@ -18,9 +19,11 @@ public class Person(

private val _lastname: () -> String? = lastname

@get:JvmName("getFirstname")
public val firstname: String?
get() = _firstname.invoke()

@get:JvmName("getLastname")
public val lastname: String?
get() = _lastname.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.collections.List
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -15,6 +16,7 @@ public class Query(
) {
private val _people: () -> List<Person?>? = people

@get:JvmName("getPeople")
public val people: List<Person?>?
get() = _people.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,24 @@ package com.netflix.graphql.dgs.codegen.cases.constantsWithExtendedInterface.exp
import com.fasterxml.jackson.`annotation`.JsonTypeInfo
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "__typename",
)
public sealed interface Person {
@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getFirstname")
public val firstname: String

@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getLastname")
public val lastname: String?

@Suppress("INAPPLICABLE_JVM_NAME")
@get:JvmName("getAge")
public val age: Int?
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.collections.List
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -15,6 +16,7 @@ public class Query(
) {
private val _people: () -> List<Person?>? = people

@get:JvmName("getPeople")
public val people: List<Person?>?
get() = _people.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Person.Builder::class)
Expand All @@ -18,9 +19,11 @@ public class Person(

private val _lastname: () -> String? = lastname

@get:JvmName("getFirstname")
public val firstname: String?
get() = _firstname.invoke()

@get:JvmName("getLastname")
public val lastname: String?
get() = _lastname.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.collections.List
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -18,9 +19,11 @@ public class Query(

private val _friends: () -> List<Person?>? = friends

@get:JvmName("getPeople")
public val people: List<Person?>?
get() = _people.invoke()

@get:JvmName("getFriends")
public val friends: List<Person?>?
get() = _friends.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Person.Builder::class)
Expand All @@ -21,12 +22,15 @@ public class Person(

private val _email: () -> String? = email

@get:JvmName("getFirstname")
public val firstname: String?
get() = _firstname.invoke()

@get:JvmName("getLastname")
public val lastname: String?
get() = _lastname.invoke()

@get:JvmName("getEmail")
public val email: String?
get() = _email.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.collections.List
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -15,6 +16,7 @@ public class Query(
) {
private val _people: () -> List<Person?>? = people

@get:JvmName("getPeople")
public val people: List<Person?>?
get() = _people.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

/**
* Movies are fun to watch.
Expand All @@ -19,6 +20,7 @@ public class Movie(
) {
private val _title: () -> String? = title

@get:JvmName("getTitle")
public val title: String?
get() = _title.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.fasterxml.jackson.`annotation`.JsonTypeInfo
import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -14,6 +15,7 @@ public class Query(
) {
private val _search: () -> Movie? = search

@get:JvmName("getSearch")
public val search: Movie?
get() = _search.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.String
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Movie.Builder::class)
Expand All @@ -18,6 +19,7 @@ public class Movie(
/**
* The original, non localized title with some specials characters : %!({[*$,.:;.
*/
@get:JvmName("getTitle")
public val title: String?
get() = _title.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.fasterxml.jackson.`annotation`.JsonTypeInfo
import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -14,6 +15,7 @@ public class Query(
) {
private val _search: () -> Movie? = search

@get:JvmName("getSearch")
public val search: Movie?
get() = _search.invoke()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.fasterxml.jackson.`annotation`.JsonTypeInfo
import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
Expand All @@ -14,6 +15,7 @@ public class Query(
) {
private val _me: () -> Person? = me

@get:JvmName("getMe")
public val me: Person?
get() = _me.invoke()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected

import com.netflix.graphql.dgs.codegen.GraphQLProjection
import com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected.client.QueryProjection
import graphql.language.OperationDefinition
import kotlin.String

public object DgsClient {
public fun buildQuery(_projection: QueryProjection.() -> QueryProjection): String =
GraphQLProjection.asQuery(OperationDefinition.Operation.QUERY, QueryProjection(), _projection)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected

import kotlin.String

public object DgsConstants {
public const val QUERY_TYPE: String = "Query"

public object QUERY {
public const val TYPE_NAME: String = "Query"

public const val Test: String = "test"
}

public object REQUIREDTESTTYPE {
public const val TYPE_NAME: String = "RequiredTestType"

public const val IsRequired: String = "isRequired"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected.client

import com.netflix.graphql.dgs.codegen.GraphQLProjection

public class QueryProjection : GraphQLProjection() {
public fun test(_projection: RequiredTestTypeProjection.() -> RequiredTestTypeProjection):
QueryProjection {
field("test", RequiredTestTypeProjection(), _projection)
return this
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected.client

import com.netflix.graphql.dgs.codegen.GraphQLProjection

public class RequiredTestTypeProjection : GraphQLProjection() {
public val isRequired: RequiredTestTypeProjection
get() {
field("isRequired")
return this
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.netflix.graphql.dgs.codegen.cases.dataClassWithBooleanField.expected.types

import com.fasterxml.jackson.`annotation`.JsonIgnoreProperties
import com.fasterxml.jackson.`annotation`.JsonProperty
import com.fasterxml.jackson.`annotation`.JsonTypeInfo
import com.fasterxml.jackson.databind.`annotation`.JsonDeserialize
import com.fasterxml.jackson.databind.`annotation`.JsonPOJOBuilder
import java.lang.IllegalStateException
import kotlin.jvm.JvmName

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonDeserialize(builder = Query.Builder::class)
public class Query(
test: () -> RequiredTestType? = testDefault,
) {
private val _test: () -> RequiredTestType? = test

@get:JvmName("getTest")
public val test: RequiredTestType?
get() = _test.invoke()

public companion object {
private val testDefault: () -> RequiredTestType? =
{ throw IllegalStateException("Field `test` was not requested") }

}

@JsonPOJOBuilder
@JsonIgnoreProperties("__typename")
public class Builder {
private var test: () -> RequiredTestType? = testDefault

@JsonProperty("test")
public fun withTest(test: RequiredTestType?): Builder = this.apply {
this.test = { test }
}

public fun build() = Query(
test = test,
)
}
}
Loading

0 comments on commit b0e81ff

Please sign in to comment.