Commit Graph

69 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 53a5264aaf Use type from compile time value for binary expression 2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya 2a023c16a9 Use type from compile time value for prefix expression 2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya d63f6843c8 Merge ConstantExpressionEvaluator and CompileTimeConstantResolver 2013-12-05 15:21:50 +04:00
Alexander Udalov 42839fa061 Delete LoadKotlinCustomTest
It's useless now because enums are loaded the same way from binaries as well as
from sources
2013-12-02 19:56:08 +04:00
Alexander Udalov 26bd1ff189 Change object resolution strategy in lazy resolve 2013-12-02 19:55:20 +04:00
Mikhael Bogdanov 9037449313 Inline flag calculation through inline annotation 2013-11-26 12:53:07 +04:00
Alexander Udalov e8089cc461 Synthetic class object of enum should always be public
#KT-2834 Fixed
2013-11-18 19:46:01 +04:00
Alexander Udalov cdecbc0915 Class objects also can have delegated members 2013-11-14 19:11:18 +04:00
Pavel V. Talanov 959ab2b20c Enum class objects values and valueOf functions have kind SYNTHESIZED 2013-11-12 14:15:51 +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 b7789da3b9 Load annotations on properties declared in traits 2013-10-17 19:01:45 +04:00
Svetlana Isakova 6c584fd252 do not add NO_EXPECTED_TYPE as a subtype constraint to constraint system
fixed exception from EA
2013-10-16 20:41:19 +04:00
Alexander Udalov cf1a70a28e Minor, group tests related to synthetic methods for properties 2013-10-16 15:04:11 +04:00
Alexander Udalov 2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Pavel V. Talanov 1a3603652c Refactor DelegationResolver so that lazy and eager resolve share the code
Also fix an exception in LazyClassMemberScope
2013-09-30 20:54:39 +04:00
Pavel V. Talanov 6fb7a79a1f Refactor DelegationResolver
Fix an issue in lazy resolve : filter out methods from delegated traits superclass
2013-09-30 20:54:38 +04:00
Alexander Udalov d84ab4423f Support enums as annotation arguments in deserialized Kotlin descriptors 2013-08-29 16:48:09 +04:00
Pavel V. Talanov 0f8d50b44f Fix default visibility for class object in eager and lazy resolve 2013-08-26 16:00:13 +04:00
Alexander Udalov 19299daacd Deserialize annotations on class object properties
Class object properties' backing fields are generated into static fields of the
containing class, not into fields of class object. For fields we now store the
flag which, if set, tells that this field should be looked for in the
containing class
2013-08-26 15:59:45 +04:00
Alexander Udalov cfe9d78015 Deserialize annotations from package$src files if needed
For top-level members, we now write a FQ name of the package$src class which
has the member's annotations, and read the correct file in deserialization
2013-08-23 17:39:23 +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 23378f0054 Deserialize annotations on property accessors 2013-08-23 17:39:21 +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 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
Evgeny Gerashchenko 3f7627120b KT-3853 ISE on resolving function implementation from trait from Java
The fix is simple and dirty, because the related code will be removed soon anyways. Fix is necessary for compiling Kara.

 #KT-3853 fixed
2013-08-08 21:39:25 +04:00
Evgeny Gerashchenko 13849f6b6e Choosing most specific super member when building fake override. Previously, random one was chosen. 2013-07-12 21:09:22 +04:00
Mikhael Bogdanov 4feb395dcc Test for static 2013-06-17 15:20:41 +04:00
Andrey Breslav 3e8031acbd Properly load objects nested into class objects from Java 2013-06-10 15:33:10 +04:00
Nikolay Krasko 994107ee0a Mix class object scope to member resolution scope in lazy resolve 2013-06-07 17:24:17 +04:00
Nikolay Krasko 37cd7eb1ba Allow resolve class declarations in class objects
Use INACCESSIBLE_OUTER_CLASS_EXPRESSION error for marking already resolved elements

 #KT-3261 Fixed
2013-06-07 17:24:17 +04:00
Evgeny Gerashchenko 5965904c0f Fixed filename case. 2013-06-06 21:59:37 +04:00
Evgeny Gerashchenko 203dd93a7a Not loading SAM adapters from compiled Kotlin classes. 2013-06-06 21:35:02 +04:00
Evgeny Gerashchenko 12485c0ef5 Test for KT-3331 RuntimeException in frontend-java at TypeVariableResolverFromTypeDescriptors.getTypeVariable()
#KT-3331 obsolete
2013-05-21 17:52:14 +04:00
Michał Sapalski 7deec28b9c Adjusted tests to the new DescriptorRenderer behaviour 2013-04-29 15:44:07 +04:00
Evgeny Gerashchenko f713b03abc Fixed propagation for non-abstract methods inherited from traits. 2013-04-11 21:06:33 +04:00
Evgeny Gerashchenko 2718f7698c Basic support for resolving top-level SAM interfaces. 2013-03-27 19:19:53 +04:00
Evgeny Gerashchenko d0e736e5a6 Updated test data. 2013-03-22 17:35:34 +04:00
Evgeny Gerashchenko d194d4d877 Updated test data. Unit -> jet.Unit. 2013-03-22 16:38:26 +04:00
Evgeny Gerashchenko 66e7a0110c Updated test data and stdlib code which dependent on Tuple0/Unit
aliasing.
2013-03-22 16:38:24 +04:00
Mikhael Bogdanov 5bed6c296d Test update after "Refactoring: code duplication removed from accessor generators" and "Properly resolve descriptors from compiled kotlin" fixes 2013-03-20 20:50:06 +04:00
Mikhael Bogdanov d9fd04dd43 Refactoring: code duplication removed from accessor generators 2013-03-20 20:50:05 +04:00
Andrey Breslav 79e27f2d90 Write vararg flag on value parameters 2013-01-31 22:05:56 +04:00
Alexander Udalov 3b43d5e874 Additional loadJava/loadKotlin tests for nested classes
#KT-1174 Fixed
2013-01-17 16:45:51 +04:00
Alexander Udalov 65716431c4 DescriptorRendererImpl now writes 'inner' for inner classes
#KT-1174 In Progress
2013-01-16 23:11:45 +04:00
Natalia.Ukhorskaya 37b12bff2e Vararg in constructor isn't loaded correctly from bytecode
#KT-3251 Fixed
2013-01-16 17:59:35 +04:00
Evgeny Gerashchenko dda15f7505 Excluded class object names from FQ name and qualified name. 2012-12-28 14:25:34 +04:00
Evgeny Gerashchenko c041fc8fea Removed sorting of upper bounds in renderer.
Removed corresponding test.
2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko 6fa36d330c Regenerated test data. 2012-12-28 14:25:18 +04:00