|
16 | 16 |
|
17 | 17 | package io.realm.kotlin.compiler |
18 | 18 |
|
19 | | -import io.realm.kotlin.compiler.FqNames.CLASS_APP_CONFIGURATION |
20 | 19 | import io.realm.kotlin.compiler.FqNames.PACKAGE_MONGODB |
21 | 20 | import io.realm.kotlin.compiler.FqNames.PACKAGE_MONGODB_INTERNAL |
| 21 | +import org.jetbrains.kotlin.name.CallableId |
22 | 22 | import org.jetbrains.kotlin.name.ClassId |
23 | 23 | import org.jetbrains.kotlin.name.FqName |
24 | 24 | import org.jetbrains.kotlin.name.Name |
@@ -86,69 +86,79 @@ internal object Names { |
86 | 86 | } |
87 | 87 |
|
88 | 88 | internal object FqNames { |
| 89 | + val PACKAGE_ANNOTATIONS = FqName("io.realm.kotlin.types.annotations") |
| 90 | + val PACKAGE_KBSON = FqName("org.mongodb.kbson") |
| 91 | + val PACKAGE_KOTLIN_COLLECTIONS = FqName("kotlin.collections") |
| 92 | + val PACKAGE_KOTLIN_REFLECT = FqName("kotlin.reflect") |
| 93 | + val PACKAGE_TYPES = FqName("io.realm.kotlin.types") |
| 94 | + val PACKAGE_REALM_INTEROP = FqName("io.realm.kotlin.internal.interop") |
| 95 | + val PACKAGE_REALM_INTERNAL = FqName("io.realm.kotlin.internal") |
| 96 | + val PACKAGE_MONGODB = FqName("io.realm.kotlin.mongodb") |
| 97 | + val PACKAGE_MONGODB_INTERNAL = FqName("io.realm.kotlin.mongodb.internal") |
| 98 | +} |
| 99 | + |
| 100 | +object ClassIds { |
| 101 | + |
89 | 102 | // TODO we can replace with RealmObject::class.java.canonicalName if we make the runtime_api available as a compile time only dependency for the compiler-plugin |
90 | 103 | val REALM_NATIVE_POINTER = FqName("io.realm.kotlin.internal.interop.NativePointer") |
91 | | - val REALM_OBJECT_INTERNAL_INTERFACE = FqName("io.realm.kotlin.internal.RealmObjectInternal") |
| 104 | + val REALM_OBJECT_INTERNAL_INTERFACE = ClassId(FqNames.PACKAGE_REALM_INTERNAL, Name.identifier("RealmObjectInternal")) |
| 105 | + |
| 106 | + val REALM_MODEL_COMPANION = ClassId(FqNames.PACKAGE_REALM_INTERNAL, Name.identifier("RealmObjectCompanion")) |
| 107 | + val REALM_OBJECT_HELPER = ClassId(FqNames.PACKAGE_REALM_INTERNAL, Name.identifier("RealmObjectHelper")) |
| 108 | + val REALM_CLASS_IMPL = ClassId(FqName("io.realm.kotlin.internal.schema"), Name.identifier("RealmClassImpl")) |
| 109 | + val OBJECT_REFERENCE_CLASS = ClassId(FqNames.PACKAGE_REALM_INTERNAL, Name.identifier("RealmObjectReference")) |
92 | 110 |
|
93 | | - val REALM_MODEL_COMPANION = FqName("io.realm.kotlin.internal.RealmObjectCompanion") |
94 | | - val REALM_OBJECT_HELPER = FqName("io.realm.kotlin.internal.RealmObjectHelper") |
95 | | - val REALM_CLASS_IMPL = FqName("io.realm.kotlin.internal.schema.RealmClassImpl") |
96 | | - val OBJECT_REFERENCE_CLASS = FqName("io.realm.kotlin.internal.RealmObjectReference") |
| 111 | + val BASE_REALM_OBJECT_INTERFACE = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("BaseRealmObject")) |
| 112 | + val REALM_OBJECT_INTERFACE = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmObject")) |
| 113 | + val TYPED_REALM_OBJECT_INTERFACE = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("TypedRealmObject")) |
| 114 | + val EMBEDDED_OBJECT_INTERFACE = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("EmbeddedRealmObject")) |
| 115 | + val ASYMMETRIC_OBJECT_INTERFACE = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("AsymmetricRealmObject")) |
97 | 116 |
|
98 | | - val BASE_REALM_OBJECT_INTERFACE = FqName("io.realm.kotlin.types.BaseRealmObject") |
99 | | - val REALM_OBJECT_INTERFACE = FqName("io.realm.kotlin.types.RealmObject") |
100 | | - val TYPED_REALM_OBJECT_INTERFACE = FqName("io.realm.kotlin.types.TypedRealmObject") |
101 | | - val EMBEDDED_OBJECT_INTERFACE = FqName("io.realm.kotlin.types.EmbeddedRealmObject") |
102 | | - val ASYMMETRIC_OBJECT_INTERFACE = FqName("io.realm.kotlin.types.AsymmetricRealmObject") |
| 117 | + val CLASS_APP_CONFIGURATION = ClassId(FqNames.PACKAGE_MONGODB, Name.identifier("AppConfiguration")) |
103 | 118 |
|
104 | 119 | // External visible interface of Realm objects |
105 | | - val KOTLIN_COLLECTIONS_SET = FqName("kotlin.collections.Set") |
106 | | - val KOTLIN_COLLECTIONS_LIST = FqName("kotlin.collections.List") |
107 | | - val KOTLIN_COLLECTIONS_LISTOF = FqName("kotlin.collections.listOf") |
108 | | - val KOTLIN_COLLECTIONS_MAP = FqName("kotlin.collections.Map") |
109 | | - val KOTLIN_COLLECTIONS_MAPOF = FqName("kotlin.collections.mapOf") |
110 | | - val KOTLIN_REFLECT_KMUTABLEPROPERTY1 = FqName("kotlin.reflect.KMutableProperty1") |
111 | | - val KOTLIN_REFLECT_KPROPERTY1 = FqName("kotlin.reflect.KProperty1") |
112 | | - val KOTLIN_PAIR = FqName("kotlin.Pair") |
| 120 | + val KOTLIN_COLLECTIONS_SET = ClassId(FqNames.PACKAGE_KOTLIN_COLLECTIONS, Name.identifier("Set")) |
| 121 | + val KOTLIN_COLLECTIONS_LIST = ClassId(FqNames.PACKAGE_KOTLIN_COLLECTIONS, Name.identifier("List")) |
| 122 | + val KOTLIN_COLLECTIONS_LISTOF = CallableId(FqNames.PACKAGE_KOTLIN_COLLECTIONS, Name.identifier("listOf")) |
| 123 | + val KOTLIN_COLLECTIONS_MAP = ClassId(FqNames.PACKAGE_KOTLIN_COLLECTIONS, Name.identifier("Map")) |
| 124 | + val KOTLIN_COLLECTIONS_MAPOF = CallableId(FqNames.PACKAGE_KOTLIN_COLLECTIONS, Name.identifier("mapOf")) |
| 125 | + val KOTLIN_REFLECT_KMUTABLEPROPERTY1 = ClassId(FqNames.PACKAGE_KOTLIN_REFLECT, Name.identifier("KMutableProperty1")) |
| 126 | + val KOTLIN_REFLECT_KPROPERTY1 = ClassId(FqNames.PACKAGE_KOTLIN_REFLECT, Name.identifier("KProperty1")) |
| 127 | + val KOTLIN_PAIR = ClassId(FqName("kotlin"), Name.identifier("Pair")) |
113 | 128 |
|
114 | 129 | // Schema related types |
115 | | - val CLASS_INFO = FqName("io.realm.kotlin.internal.interop.ClassInfo") |
116 | | - val PROPERTY_INFO = FqName("io.realm.kotlin.internal.interop.PropertyInfo") |
117 | | - val PROPERTY_TYPE = FqName("io.realm.kotlin.internal.interop.PropertyType") |
118 | | - val COLLECTION_TYPE = FqName("io.realm.kotlin.internal.interop.CollectionType") |
119 | | - val PRIMARY_KEY_ANNOTATION = FqName("io.realm.kotlin.types.annotations.PrimaryKey") |
120 | | - val INDEX_ANNOTATION = FqName("io.realm.kotlin.types.annotations.Index") |
121 | | - val FULLTEXT_ANNOTATION = FqName("io.realm.kotlin.types.annotations.FullText") |
122 | | - val IGNORE_ANNOTATION = FqName("io.realm.kotlin.types.annotations.Ignore") |
123 | | - val PERSISTED_NAME_ANNOTATION = FqName("io.realm.kotlin.types.annotations.PersistedName") |
124 | | - val TRANSIENT_ANNOTATION = FqName("kotlin.jvm.Transient") |
125 | | - val MODEL_OBJECT_ANNOTATION = FqName("io.realm.kotlin.internal.platform.ModelObject") |
126 | | - val PROPERTY_INFO_CREATE = FqName("io.realm.kotlin.internal.schema.createPropertyInfo") |
127 | | - val CLASS_KIND_TYPE = FqName("io.realm.kotlin.schema.RealmClassKind") |
| 130 | + val CLASS_INFO = ClassId(FqNames.PACKAGE_REALM_INTEROP, Name.identifier("ClassInfo")) |
| 131 | + val PROPERTY_INFO = ClassId(FqNames.PACKAGE_REALM_INTEROP, Name.identifier("PropertyInfo")) |
| 132 | + val PROPERTY_TYPE = ClassId(FqNames.PACKAGE_REALM_INTEROP, Name.identifier("PropertyType")) |
| 133 | + val COLLECTION_TYPE = ClassId(FqNames.PACKAGE_REALM_INTEROP, Name.identifier("CollectionType")) |
| 134 | + val PRIMARY_KEY_ANNOTATION = ClassId(FqNames.PACKAGE_ANNOTATIONS, Name.identifier("PrimaryKey")) |
| 135 | + val INDEX_ANNOTATION = ClassId(FqNames.PACKAGE_ANNOTATIONS, Name.identifier("Index")) |
| 136 | + val FULLTEXT_ANNOTATION = ClassId(FqNames.PACKAGE_ANNOTATIONS, Name.identifier("FullText")) |
| 137 | + val IGNORE_ANNOTATION = ClassId(FqNames.PACKAGE_ANNOTATIONS, Name.identifier("Ignore")) |
| 138 | + val PERSISTED_NAME_ANNOTATION = ClassId(FqNames.PACKAGE_ANNOTATIONS, Name.identifier("PersistedName")) |
| 139 | + val TRANSIENT_ANNOTATION = ClassId(FqName("kotlin.jvm"), Name.identifier("Transient")) |
| 140 | + val MODEL_OBJECT_ANNOTATION = ClassId(FqName("io.realm.kotlin.internal.platform"), Name.identifier("ModelObject")) |
| 141 | + val PROPERTY_INFO_CREATE = CallableId(FqName("io.realm.kotlin.internal.schema"), Name.identifier("createPropertyInfo")) |
| 142 | + val CLASS_KIND_TYPE = ClassId(FqName("io.realm.kotlin.schema"), Name.identifier("RealmClassKind")) |
128 | 143 |
|
129 | 144 | // Realm data types |
130 | | - val REALM_LIST = FqName("io.realm.kotlin.types.RealmList") |
131 | | - val REALM_SET = FqName("io.realm.kotlin.types.RealmSet") |
132 | | - val REALM_DICTIONARY = FqName("io.realm.kotlin.types.RealmDictionary") |
133 | | - val REALM_INSTANT = FqName("io.realm.kotlin.types.RealmInstant") |
134 | | - val REALM_BACKLINKS = FqName("io.realm.kotlin.types.BacklinksDelegate") |
135 | | - val REALM_EMBEDDED_BACKLINKS = FqName("io.realm.kotlin.types.EmbeddedBacklinksDelegate") |
136 | | - val REALM_OBJECT_ID = FqName("io.realm.kotlin.types.ObjectId") |
137 | | - val KBSON_OBJECT_ID = FqName("org.mongodb.kbson.BsonObjectId") |
138 | | - val KBSON_DECIMAL128 = FqName("org.mongodb.kbson.BsonDecimal128") |
139 | | - val REALM_UUID = FqName("io.realm.kotlin.types.RealmUUID") |
140 | | - val REALM_MUTABLE_INTEGER = FqName("io.realm.kotlin.types.MutableRealmInt") |
141 | | - val REALM_ANY = FqName("io.realm.kotlin.types.RealmAny") |
142 | | - |
143 | | - val PACKAGE_MONGODB = FqName("io.realm.kotlin.mongodb") |
144 | | - val PACKAGE_MONGODB_INTERNAL = FqName("io.realm.kotlin.mongodb.internal") |
145 | | - val CLASS_APP_CONFIGURATION = FqName("io.realm.kotlin.mongodb.AppConfiguration") |
146 | | -} |
147 | | - |
148 | | -object ClassIds { |
| 145 | + val REALM_LIST = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmList")) |
| 146 | + val REALM_SET = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmSet")) |
| 147 | + val REALM_DICTIONARY = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmDictionary")) |
| 148 | + val REALM_INSTANT = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmInstant")) |
| 149 | + val REALM_BACKLINKS = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("BacklinksDelegate")) |
| 150 | + val REALM_EMBEDDED_BACKLINKS = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("EmbeddedBacklinksDelegate")) |
| 151 | + val REALM_OBJECT_ID = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("ObjectId")) |
| 152 | + val KBSON_OBJECT_ID = ClassId(FqNames.PACKAGE_KBSON, Name.identifier("BsonObjectId")) |
| 153 | + val KBSON_DECIMAL128 = ClassId(FqNames.PACKAGE_KBSON, Name.identifier("BsonDecimal128")) |
| 154 | + val REALM_UUID = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmUUID")) |
| 155 | + val REALM_MUTABLE_INTEGER = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("MutableRealmInt")) |
| 156 | + val REALM_ANY = ClassId(FqNames.PACKAGE_TYPES, Name.identifier("RealmAny")) |
| 157 | + |
| 158 | + // Sync types |
149 | 159 | val APP = ClassId(PACKAGE_MONGODB, Name.identifier("App")) |
150 | 160 | val APP_IMPL = ClassId(PACKAGE_MONGODB_INTERNAL, Name.identifier("AppImpl")) |
151 | 161 | val APP_CONFIGURATION = ClassId(PACKAGE_MONGODB, Name.identifier("AppConfiguration")) |
152 | 162 | val APP_CONFIGURATION_IMPL = ClassId(PACKAGE_MONGODB_INTERNAL, Name.identifier("AppConfigurationImpl")) |
153 | | - val APP_CONFIGURATION_BUILDER = ClassId(CLASS_APP_CONFIGURATION, Name.identifier("Builder")) |
| 163 | + val APP_CONFIGURATION_BUILDER = ClassId(FqName("io.realm.kotlin.mongodb.AppConfiguration"), FqName("Builder"), true) |
154 | 164 | } |
0 commit comments