Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update kotlin-metadata library #821

Merged
merged 6 commits into from
Apr 28, 2018
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion modules/core/arrow-annotations-processor/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ apply plugin: 'kotlin-kapt'
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
compile project(':arrow-annotations')
compile 'me.eugeniomarletti:kotlin-metadata:1.2.1'
compile project(':arrow-core')
compile 'me.eugeniomarletti.kotlin.metadata:kotlin-metadata:1.4.0'
compileOnly 'com.google.auto.service:auto-service:1.0-rc4'
kapt 'com.google.auto.service:auto-service:1.0-rc4'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package arrow.common.utils

import org.jetbrains.kotlin.serialization.ClassData
import org.jetbrains.kotlin.serialization.PackageData
import org.jetbrains.kotlin.serialization.ProtoBuf.Constructor
import org.jetbrains.kotlin.serialization.ProtoBuf.Function
import org.jetbrains.kotlin.serialization.ProtoBuf.Property
import org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
import me.eugeniomarletti.kotlin.metadata.ClassData
import me.eugeniomarletti.kotlin.metadata.PackageData
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.Constructor
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.Function
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.Property
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.TypeParameter
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.NameResolver

sealed class ClassOrPackageDataWrapper {
abstract val `package`: String
Expand All @@ -19,7 +19,7 @@ sealed class ClassOrPackageDataWrapper {

class Package(
override val nameResolver: NameResolver,
val packageProto: org.jetbrains.kotlin.serialization.ProtoBuf.Package,
val packageProto: me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.Package,
override val `package`: String
) : ClassOrPackageDataWrapper() {
override val constructorList: List<Constructor> get() = emptyList()
Expand All @@ -31,7 +31,7 @@ sealed class ClassOrPackageDataWrapper {

class Class(
override val nameResolver: NameResolver,
val classProto: org.jetbrains.kotlin.serialization.ProtoBuf.Class,
val classProto: me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf.Class,
override val `package`: String
) : ClassOrPackageDataWrapper() {
override val constructorList: List<Constructor> get() = classProto.constructorList
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package arrow.common.utils

import me.eugeniomarletti.kotlin.metadata.*
import me.eugeniomarletti.kotlin.metadata.jvm.getJvmMethodSignature
import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.java.MethodElement
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import org.jetbrains.kotlin.serialization.deserialization.supertypes
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.supertypes
import me.eugeniomarletti.kotlin.metadata.shadow.serialization.deserialization.getName
import java.io.File
import javax.lang.model.element.Element
import javax.lang.model.element.ExecutableElement
Expand Down Expand Up @@ -55,9 +55,6 @@ interface ProcessorUtils : KotlinMetadataUtils {
?: knownError("Arrow's annotation can't be used on $classElement")
}

fun TypeElement.methods(): List<MethodElement> =
enclosedElements.mapNotNull { it as? MethodElement }

fun ClassOrPackageDataWrapper.getFunction(methodElement: ExecutableElement) =
getFunctionOrNull(methodElement, nameResolver, functionList)
?: knownError("Can't find annotated method ${methodElement.jvmMethodSignature}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import arrow.common.utils.removeBackticks
import arrow.higherkinds.HKMarkerPreFix
import arrow.higherkinds.KindPostFix
import me.eugeniomarletti.kotlin.metadata.modality
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.hasReceiver
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.hasReceiver
import java.io.File

fun argAsSeenFromReceiver(typeClassFirstTypeArg: String, abstractType: String, receiverType: String): String =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import arrow.common.utils.AbstractProcessor
import arrow.common.utils.ClassOrPackageDataWrapper
import arrow.common.utils.knownError
import com.google.auto.service.AutoService
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import java.io.File
import javax.annotation.processing.Processor
import javax.annotation.processing.RoundEnvironment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package arrow.higherkinds
import arrow.common.Package
import arrow.common.utils.knownError
import arrow.common.utils.typeConstraints
import org.jetbrains.kotlin.serialization.ProtoBuf
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf
import java.io.File
import javax.lang.model.element.Name

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package arrow.instances
import arrow.common.Package
import arrow.common.utils.*
import me.eugeniomarletti.kotlin.metadata.modality
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.ProtoBuf
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import java.io.File

data class FunctionMapping(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import arrow.common.utils.AbstractProcessor
import arrow.common.utils.ClassOrPackageDataWrapper
import arrow.common.utils.knownError
import com.google.auto.service.AutoService
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import java.io.File
import javax.annotation.processing.Processor
import javax.annotation.processing.RoundEnvironment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.google.auto.service.AutoService
import me.eugeniomarletti.kotlin.metadata.KotlinClassMetadata
import me.eugeniomarletti.kotlin.metadata.isDataClass
import me.eugeniomarletti.kotlin.metadata.kotlinMetadata
import org.jetbrains.kotlin.utils.addIfNotNull
import me.eugeniomarletti.kotlin.metadata.shadow.utils.addIfNotNull
import java.io.File
import javax.annotation.processing.Processor
import javax.annotation.processing.RoundEnvironment
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package arrow.renzu

import arrow.common.messager.log
import arrow.common.utils.*
import arrow.core.Tuple2
import arrow.instances.AnnotatedInstance
import javaslang.Tuple2
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import org.jetbrains.kotlin.serialization.deserialization.supertypes
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.supertypes
import java.io.File
import javax.lang.model.element.Name

Expand Down Expand Up @@ -86,8 +86,8 @@ class RenzuGenerator(
val value = acc2[typeclass]
if (value != null) {
acc2.filterKeys { it != typeclass } + mapOf(typeclass to Tuple2(
value._1 + setOf(instance),
value._2 + parentTypeClasses))
value.a + setOf(instance),
value.b + parentTypeClasses))
} else {
acc2 + mapOf(typeclass to Tuple2(
setOf(instance),
Expand Down Expand Up @@ -160,13 +160,13 @@ class RenzuGenerator(
private fun genDiagramRelations(typeclassTree: Map<TypeClass, Tuple2<Instances, Set<ParentTypeClass>>>)
: List<String> =
typeclassTree.flatMap {
setOf(it.key.arrowModule) + it.value._1.map { it.arrowModule }
setOf(it.key.arrowModule) + it.value.a.map { it.arrowModule }
}.toSet().flatMap {
listOf("#.${normalizeModule(it)}: ${getModuleStyle(it)}")
} + typeclassTree.flatMap {
val typeClass = it.key
val instances = it.value._1
val parentTypeClasses = it.value._2
val instances = it.value.a
val parentTypeClasses = it.value.b

parentTypeClasses.filter { typeClass.simpleName != it.simpleName }.map {
"[<typeclasses>${it.simpleName}]<-[<typeclasses>${typeClass.simpleName}]"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import arrow.instances.AnnotatedInstance
import arrow.instances.instanceAnnotationClass
import arrow.instances.instanceAnnotationName
import com.google.auto.service.AutoService
import org.jetbrains.kotlin.serialization.deserialization.TypeTable
import me.eugeniomarletti.kotlin.metadata.shadow.metadata.deserialization.TypeTable
import javax.annotation.processing.Processor
import javax.annotation.processing.RoundEnvironment
import javax.lang.model.SourceVersion
Expand Down