Skip to content

Commit

Permalink
Adopt new API
Browse files Browse the repository at this point in the history
  • Loading branch information
hegyibalint committed Sep 30, 2024
1 parent 6ee51fb commit 4421d12
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package org.gradle.declarative.lsp.extension

import org.gradle.declarative.dsl.schema.AnalysisSchema
import org.gradle.declarative.dsl.schema.DataClass
import org.gradle.declarative.dsl.schema.EnumClass

/*
* Copyright 2024 the original author or authors.
Expand All @@ -19,5 +20,14 @@ import org.gradle.declarative.dsl.schema.DataClass
* limitations under the License.
*/

fun AnalysisSchema.typeByFqn(name: String): DataClass =
dataClassesByFqName.entries.single { it.key.qualifiedName == name }.value
fun AnalysisSchema.typeByFqn(name: String): DataClass {
val type = dataClassTypesByFqName
.entries
.single { it.key.qualifiedName == name }
.value

return when (type) {
is DataClass -> type
is EnumClass -> error("Expected a data class type, but got an enum class type")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class AddDependency: MutationDefinition {

override fun isCompatibleWithSchema(projectAnalysisSchema: AnalysisSchema): Boolean =
projectAnalysisSchema
.dataClassesByFqName
.dataClassTypesByFqName
.keys
.any { it.qualifiedName == "org.gradle.api.experimental.common.HasLibraryDependencies" }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class SetJavaVersion : MutationDefinition {

override fun isCompatibleWithSchema(projectAnalysisSchema: AnalysisSchema): Boolean =
projectAnalysisSchema
.dataClassesByFqName
.dataClassTypesByFqName
.keys
.any {
it.qualifiedName == "org.gradle.api.experimental.jvm.HasJvmApplication"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import org.gradle.internal.declarativedsl.dom.CrossScopeAccess
import org.gradle.internal.declarativedsl.dom.DeclarativeDocument
import org.gradle.internal.declarativedsl.dom.DocumentResolution
import org.gradle.internal.declarativedsl.dom.IsError
import org.gradle.internal.declarativedsl.dom.NonEnumValueNamedReference
import org.gradle.internal.declarativedsl.dom.NotAssignable
import org.gradle.internal.declarativedsl.dom.ResolutionFailureReason
import org.gradle.internal.declarativedsl.dom.UnresolvedBase
Expand Down Expand Up @@ -63,6 +64,7 @@ class SemanticErrorToDiagnosticVisitor(private val documentOverlayResult: Docume
NotAssignable -> "Not assignable"
UnresolvedValueUsed -> "Unresolved value used"
ValueTypeMismatch -> "Value type mismatch"
NonEnumValueNamedReference -> "Non-enum value named reference"
}

}

0 comments on commit 4421d12

Please sign in to comment.