Minor, convert ClassData and PackageData to Kotlin data classes

This commit is contained in:
Alexander Udalov
2015-09-22 17:36:32 +03:00
parent 78e920f797
commit 0ef705f073
9 changed files with 45 additions and 105 deletions
@@ -1,40 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.serialization;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.serialization.deserialization.NameResolver;
public final class PackageData {
private final NameResolver nameResolver;
private final ProtoBuf.Package packageProto;
public PackageData(@NotNull NameResolver nameResolver, @NotNull ProtoBuf.Package packageProto) {
this.nameResolver = nameResolver;
this.packageProto = packageProto;
}
@NotNull
public NameResolver getNameResolver() {
return nameResolver;
}
@NotNull
public ProtoBuf.Package getPackageProto() {
return packageProto;
}
}
@@ -14,27 +14,16 @@
* limitations under the License.
*/
package org.jetbrains.kotlin.serialization;
package org.jetbrains.kotlin.serialization
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.serialization.deserialization.NameResolver;
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
public final class ClassData {
private final NameResolver nameResolver;
private final ProtoBuf.Class classProto;
data class ClassData(
val nameResolver: NameResolver,
val classProto: ProtoBuf.Class
)
public ClassData(@NotNull NameResolver nameResolver, @NotNull ProtoBuf.Class classProto) {
this.nameResolver = nameResolver;
this.classProto = classProto;
}
@NotNull
public NameResolver getNameResolver() {
return nameResolver;
}
@NotNull
public ProtoBuf.Class getClassProto() {
return classProto;
}
}
data class PackageData(
val nameResolver: NameResolver,
val packageProto: ProtoBuf.Package
)
@@ -34,7 +34,7 @@ public class ClassDeserializer(private val components: DeserializationComponents
val classDataProvider = key.classDataProvider
?: components.classDataFinder.findClassData(classId)
?: return null
val classData = classDataProvider.classData
val (nameResolver, classProto) = classDataProvider.classData
val outerContext = if (classId.isNestedClass()) {
val outerClass = deserializeClass(classId.getOuterClassId()) as? DeserializedClassDescriptor ?: return null
@@ -54,11 +54,10 @@ public class ClassDeserializer(private val components: DeserializationComponents
if (!fragment.hasTopLevelClass(classId.getShortClassName())) return null
}
components.createContext(fragment, classData.getNameResolver())
components.createContext(fragment, nameResolver)
}
return DeserializedClassDescriptor(outerContext, classData.getClassProto(), classData.getNameResolver(),
classDataProvider.sourceElement)
return DeserializedClassDescriptor(outerContext, classProto, nameResolver, classDataProvider.sourceElement)
}
private data class ClassKey(val classId: ClassId, classDataProvider: ClassDataProvider?) {