Commit Graph

159 Commits

Author SHA1 Message Date
Alexander Udalov 76e347e530 Minor, rename method 2013-11-14 19:11:20 +04:00
Alexander Udalov 8b5aa94484 Extract SpecialNames.isClassObjectName 2013-11-14 19:11:20 +04:00
Alexander Udalov 69ed375ce1 Extract SpecialNames utility class 2013-11-14 19:11:19 +04:00
Alexander Udalov ef0af47972 Minor, add error message & Override 2013-11-14 19:11:19 +04:00
Pavel V. Talanov 959ab2b20c Enum class objects values and valueOf functions have kind SYNTHESIZED 2013-11-12 14:15:51 +04:00
Pavel Talanov 97532f68c6 Add filterOutOverriding to OverridingUtil 2013-11-12 14:15:44 +04:00
Pavel Talanov 82feef23c3 Rename: OverridingUtil#filterOverrides -> filterOutOverridden to be more precise 2013-11-12 14:15:43 +04:00
Pavel Talanov 700d26917b Minor: Remove commented out code 2013-11-12 14:15:42 +04:00
Andrey Breslav 4fa691f4b4 Ignore @Nullable/@NotNull annotations when deserializing Kotiln descriptors
This is needed because we write these annotations to class files on all API callables automatically. Seeing all these annotations on descriptors is no good
2013-11-11 17:20:16 +04:00
Andrey Breslav 641ed568f2 Extract method 2013-11-11 17:20:15 +04:00
Svetlana Isakova d1fa39dee4 got rid of 'this' reference to constraint system in its resulting substitutor 2013-11-01 15:26:12 +04:00
Mikhael Bogdanov 7857dc5ba9 KT-3812 Can't work with akka via kotlin - java.lang.AssertionError: Couldn't resolve class *$
KT-4036 Couldn't resolve inner class akka.io.Tcp.Command.class

 #KT-3812 Fixed
 #KT-4036 FIxed
2013-10-31 16:42:54 +04:00
Andrey Breslav ffd9b80f76 JavaClassDescriptor interface extracted 2013-10-29 14:21:55 +04:00
Andrey Breslav 5d74068bbc Do not check isError() when making type nullable/not-null 2013-10-25 19:58:55 +04:00
Andrey Breslav ed95463d1e Map Nothing to java.lang.Void 2013-10-25 15:39:01 +04:00
Andrey Breslav 1ff0ffbac6 Map jet.Hashable to java.lang.Object, to avoid NoClassDefFound exceptions 2013-10-25 15:39:01 +04:00
Alexander Udalov dd50438c78 Deserialize annotations on property setter parameters 2013-10-22 23:08:34 +04:00
Alexander Udalov 464b0dea4b Don't reuse other descriptor's value parameters
This resulted in a rewrite at INDEX_FOR_VALUE_PARAMETER slice, since some value
parameters were found twice in different function descriptors
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
Alexander Udalov b7789da3b9 Load annotations on properties declared in traits 2013-10-17 19:01:45 +04:00
Alexander Udalov af2a52bd4e Add JetTypeMapper.mapClass
Should be used instead of "mapType(*.getDefaultType(), IMPL)" pattern
2013-10-17 19:01:44 +04:00
Andrey Breslav 51d54661a1 Common logic extracted from lazy type implementations 2013-10-17 18:15:52 +04:00
Andrey Breslav 8bfa6f3aeb Use wrapping instead of copying when creating nullable/non-null types
Why wrapping is better:
1. It's requires less memory: a copy has many fields, while a wrapper has only one
2. It preserves laziness of types
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
Svetlana Isakova bb522e88cf comment added 2013-10-16 20:41:23 +04:00
Svetlana Isakova ab7133a1a6 improved error message
added debug info about constraint system status
2013-10-16 20:41:21 +04:00
Svetlana Isakova 4bf5bb18e9 rename replaceTypeVariables -> createNewConstraintSystemFromThis 2013-10-16 20:41:20 +04:00
Svetlana Isakova 4ab3d50e4d rename: suggestion -> possibleAnswer 2013-10-16 20:41:19 +04:00
Svetlana Isakova 0f444903f6 refactoring: added hasOnlyErrorsFromPosition(ConstraintPosition)
to use it for errors from completer as well
2013-10-16 20:41:19 +04:00
Svetlana Isakova b32bb2302d todo comment added 2013-10-16 19:51:54 +04:00
Svetlana Isakova 4666b0f50c refactoring: removed logic of rendering 'expected type mismatch' error from constraint system 2013-10-16 19:51:53 +04:00
Svetlana Isakova af930012d5 removed stored systemWithoutExpectedTypeConstraint
now we can filter out constraints of special type if necessary
2013-10-16 19:51:53 +04:00
Svetlana Isakova 0e507e6b40 rename
TypeConstraints -> TypeBounds
2013-10-16 19:51:53 +04:00
Svetlana Isakova 65e2f47bc3 try intersection of upper bounds as a suggestion
not each bound itself
while resolving constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova 8a4afb9330 support one more special case of propagating bound constraints
(temporary while there is no common constraint system and its resolution)
2013-10-16 19:51:53 +04:00
Svetlana Isakova cb25e1d55a if some type parameter has only weak constraints (from bounds), then we consider it as unknown 2013-10-16 19:51:53 +04:00
Svetlana Isakova 731efd0781 added declared bound constraints directly to constraint system
added status 'hasViolatedUpperBound'
class TypeConstraintsImpl now stores constraint position for each constraint,
so we can filter out bound constraints and find out if the system is successful without them
2013-10-16 19:51:53 +04:00
Svetlana Isakova ac33ccc0fe refactoring: moved method 2013-10-16 19:51:52 +04:00
Svetlana Isakova c150c22473 refactoring: register type variable together
not one by one
2013-10-16 19:51:52 +04:00
Svetlana Isakova 9a0ec7949e fixed bug in constraint system
For parameter type T constraint T? <: Int? should NOT transform to T <: Int, it should be T <: Int?
equality constraint T? = Int? should transform to T <: Int? && T >: Int
2013-10-16 19:51:52 +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
Alexander Udalov 806d264771 Write full synthetic method signature for annotated property
This will be needed to support annotated extension properties, since they have
the same name but different signatures
2013-10-16 14:59:36 +04:00
Alexander Udalov 1fdb86f733 JavaArrayAnnotationArgument.getElements() returns List 2013-10-15 20:34:44 +04:00
Alexander Udalov 5b916ea108 Type parameters/arguments constitute lists, not collections 2013-10-15 20:34:44 +04:00
Alexander Udalov 0958e63be2 JavaMethod.getValueParameters() returns List 2013-10-15 20:22:59 +04:00
Andrey Breslav d52f2e25b0 AnnotationDescriptor interface extracted 2013-10-15 19:54:39 +04:00
Andrey Breslav cd275fd814 'runtime' module replaced by 'kotlin-runtime' library 2013-10-14 14:42:25 +04:00
Andrey Breslav d7936b7ea4 Do not fail when a class is not found 2013-10-06 17:01:40 +04:00