Alexander Udalov
69ed375ce1
Extract SpecialNames utility class
2013-11-14 19:11:19 +04:00
Alexander Udalov
dd50438c78
Deserialize annotations on property setter parameters
2013-10-22 23:08:34 +04:00
Alexander Udalov
938a906bcd
Deserialize annotations on value parameters of functions
2013-10-22 23:08:33 +04:00
Alexander Udalov
4105455179
Serialize value parameter indices on JVM
...
This will help to load annotations on value parameters
2013-10-22 23:08:33 +04:00
Andrey Breslav
51d54661a1
Common logic extracted from lazy type implementations
2013-10-17 18:15:52 +04:00
Andrey Breslav
3960426698
TypeProjection interface extracted
2013-10-17 18:15:51 +04:00
Svetlana Isakova
95c5e7ee23
rename: isSealed -> isFinal
2013-10-16 20:41:24 +04:00
Alexander Udalov
6e45533065
Deserialize constructors of static nested classes correctly
...
Similar to what is done in TopDownAnalyzer
#KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Andrey Breslav
0765e89b19
Weakly retained memoized functions moved out of util.runtime
2013-10-05 16:59:57 +04:00
Andrey Breslav
239ca9728d
StorageManager API does not use Computable and Function and more
2013-10-05 16:59:57 +04:00
Andrey Breslav
7d1c46ed2c
Getting rid of Computable and Function in lazy values and memoized functions
2013-10-05 16:59:56 +04:00
Andrey Breslav
f3cd83c744
All storage-related code moved to util.runtime
2013-10-03 15:49:18 +04:00
Alexander Udalov
f7db95f63c
Minor refactoring in DeserializedClassDescriptor
2013-09-30 22:43:18 +04:00
Alexander Udalov
a97bb80216
Serialize FQ names of Kotlin classes
...
This helps to avoid a nasty hack with loading inner Kotlin classes in JDR,
which makes it a bit easier to 'lazify' JDR, since now the container of a
Kotlin class is no longer required to be resolved eagerly before resolution of
the class itself
2013-09-30 22:43:18 +04:00
Alexander Udalov
a16db2c773
Regenerate ProtoBuf files
2013-09-30 22:43:17 +04:00
Alexander Udalov
91cbe3e239
Move ClassSerializationUtil to 'compiler-tests' module
...
It's not used in 'serialization'
2013-09-30 22:43:17 +04:00
Andrey Breslav
0d84565570
name and containingDeclaration pulled up
2013-09-26 09:05:00 -07:00
Andrey Breslav
6bed3cdc59
getOriginal() pulled up
2013-09-26 09:04:59 -07:00
Andrey Breslav
2954af1b12
Unused method getPropertyByFieldReference() removed from JetScope and its implementations
2013-09-24 06:54:26 -07:00
Alexander Udalov
6f5cd974a3
Remove unneeded dependencies on 'frontend'
...
Move the two needed in 'descriptor.loader.java' classes to 'descriptors'
2013-09-20 18:02:13 +04:00
Alexander Udalov
5b03178820
Remove dependency of 'serialization' on 'frontend'
2013-09-18 18:45:35 +04:00
Alexander Udalov
5119afae52
Extract 'descriptors' module
2013-09-18 18:45:34 +04:00
Alexander Udalov
3504246983
Move AbstractLazyTypeParameterDescriptor to descriptors/impl/
2013-09-18 17:21:12 +04:00
Alexander Udalov
8e59e789dc
Extract util.runtime module out of util
...
Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.
Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
2013-09-18 17:21:11 +04:00
Alexander Udalov
e8b10b3e4d
Delete ErrorUtils.isError(TypeConstructor)
2013-09-18 16:46:07 +04:00
Alexander Udalov
b7f1e61be9
Add JetType.isError()
...
Instead of ErrorUtils.isErrorType() which does several instanceof checks anyway
2013-09-18 16:41:48 +04:00
Alexander Udalov
8400d2b8cf
Refactor OverridingUtil.resolveUnknownVisibilities
...
Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
2013-09-18 16:40:35 +04:00
Alexander Udalov
6ca71349f8
Create DescriptorFactory utility class
...
Will contain utilities needed to create different common descriptors, such as
default getters/setters, enum values/valueOf methods, etc.
2013-09-18 16:40:34 +04:00
Alexander Udalov
6eeee31381
Remove unused dependency of 'serialization' module on 'junit' library
2013-09-18 16:40:34 +04:00
Alexander Udalov
effbdcaa4c
Move utilities out of OverrideResolver
2013-09-18 16:40:34 +04:00
Alexander Udalov
f5faf8acb2
Get rid of dependency of class descriptors on BindingTrace
2013-09-18 16:40:34 +04:00
Pavel V. Talanov
255f08c8d7
Do not include DescriptorDeclaration#toString() in debug message
...
DescriptorDeclaration#toString() can be a costly operation (default implementation completely renders descriptor)
2013-09-10 17:42:54 +04:00
Pavel V. Talanov
e4b2e32827
Return error class in case we are not able to find class for object property
2013-09-10 13:15:30 +04:00
Alexander Udalov
77e0d275db
Remove unreachable code in AnnotationDescriptorDeserializer
...
Kotlin classes should only be discoverable by VirtualFileFinder
2013-09-06 21:28:49 +04:00
Svetlana Isakova
8d0573f448
added 'isDenotable' flag to TypeConstructor
2013-09-02 23:18:43 +04:00
Alexander Udalov
de062274e9
Extract getEnumEntriesScope utility method
2013-08-29 16:48:09 +04:00
Alexander Udalov
eff99e563b
Write ProtoBuf.Package to .kotlin_package
...
Instead of a delimited list of callables. Also some minor refactorings
2013-08-23 17:39:26 +04:00
Alexander Udalov
196b829002
Serialize packages via descriptors in codegen
...
Disable KotlinPackage annotation for scripts, otherwise script analyzer tries
to add descriptors to a locked scope
2013-08-23 17:39:25 +04:00
Alexander Udalov
8cbdb2924a
Minor, make callback method empty, not abstract
2013-08-23 17:39:24 +04:00
Alexander Udalov
132f77d3c4
Minor, delete SerializerProvider
2013-08-23 17:39:24 +04:00
Alexander Udalov
2e3005e431
Minor, deserialized package scope is now not abstract
2013-08-23 17:39:24 +04:00
Alexander Udalov
b602db03f2
DescriptorFinder now can find class names in a package
...
This helps to get rid of "repeated class_name" field in Package protobuf
message. DescriptorFinder in resolve.java uses PSI to find all classes in a
package, and the finder for built-ins just reads .kotlin_class_names file
2013-08-23 17:39:24 +04:00
Alexander Udalov
87d4e35388
Deserialize annotations on class properties w/o fields
...
Annotations on properties without backing fields are stored on a special
synthesized method inside the class
2013-08-23 17:39:21 +04:00
Alexander Udalov
453b0e8f10
Write java signature of serialized descriptors efficiently
...
Instead of storing a string with the signature, write the name, return type and
parameter types separately, reusing the name table. Refactor the name table to
allow it to store not only names of Kotlin entities, but also arbitrary names
and fq-names
2013-08-23 17:39:21 +04:00
Alexander Udalov
b44bc620e0
Implement getNamespace() for deserialized scope
...
DescriptorFinder now can find packages, pull the method up from
AbstractDescriptorFinder class
2013-08-23 17:39:19 +04:00
Alexander Udalov
93d200be82
Minor, move byte arrays logic to ClassData/PackageData
2013-08-23 17:39:19 +04:00
Alexander Udalov
e63cef0848
Deserialize annotations on package members
2013-08-23 17:39:19 +04:00
Alexander Udalov
67ca7b78c4
Deserialize annotations on class members
...
Make 'Callable' message of descriptors.proto extensible, extend it in
java_descriptors.proto with a JVM signature of the member. This is needed in
order for annotation deserializer to find out which member in the compiled
bytecode corresponds to which descriptor in the hierarchy.
Create a new module 'serialization.java' containing everything related to
Java-specific serialization of descriptors.
Add an extension point to DescriptorSerializer, allowing to perform
platform-specific serialization on a callable
2013-08-23 17:39:18 +04:00
Alexander Udalov
548a2853aa
Create an extension point to DescriptorSerializer
...
Extract the existing predicate logic into it
2013-08-23 17:39:18 +04:00
Alexander Udalov
4aeeafdff0
Deserialize annotations on classes
...
First version, not all kinds of value arguments of annotations are supported
2013-08-23 17:39:18 +04:00