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
Andrey Breslav
00c3156b59
Use Unit instead of Void
2013-10-05 16:59:57 +04:00
Andrey Breslav
2e585f88a3
ReenteringLazyValueComputationException & co moved to frontend
2013-10-05 16:59:57 +04:00
Andrey Breslav
0765e89b19
Weakly retained memoized functions moved out of util.runtime
2013-10-05 16:59:57 +04:00
Andrey Breslav
5ebbe0d772
Get rid of dependency on guava in DFS
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
4d28dfada6
Lazy values and memoized functions conform to Kotlin's function interfaces
2013-10-05 16:59:56 +04:00
Alexander Udalov
9d7968457f
JDR doesn't depend on intellij-core
2013-10-04 18:32:42 +04:00
Alexander Udalov
89dbafb6be
Rename KotlinClassFileHeader and related classes
2013-10-04 18:32:42 +04:00
Alexander Udalov
c3abd1c26f
Delete LOG.error from ReadDataFromAnnotationVisitor
...
These conditions can happen on a broken binary data, no need to report an error
about it
2013-10-04 18:32:42 +04:00
Alexander Udalov
098d183a72
Remove Logger from AnnotationDescriptorDeserializer
...
Use abstract ErrorReporter instead
2013-10-04 18:32:42 +04:00
Alexander Udalov
ef7bb0cdf4
Delete LOG.warn about number of type arguments from JDR
...
This can happen when loading symbols from incorrect Java sources, which is OK
2013-10-04 18:32:41 +04:00
Alexander Udalov
f218877cf2
Get rid of dependency of PackageClassUtils on StringUtil
2013-10-04 18:32:41 +04:00
Alexander Udalov
5f0c593bb8
Minor, inline methods, use String instead of StringUtil
2013-10-04 18:32:41 +04:00
Alexander Udalov
edda5d8801
Move AssertInvisibleInResolver check to frontend.java
...
This is a dirty hack, taking advantage of the fact that
JavaResolverCache.getClass() is called exactly once and right after this check
2013-10-04 18:32:41 +04:00
Alexander Udalov
dbba6c614b
Rename JvmClassName.getFqName() and add a warning
...
All usages of this method as of right now seem wrong, as they don't work in the
case of classes which contain dollars in their names -- dollars get replaced to
dots
2013-10-04 18:32:41 +04:00
Alexander Udalov
e8d4aae48b
Minimize usages of JvmClassName.getFqName()
2013-10-04 18:32:41 +04:00
Alexander Udalov
044a47905e
Get rid of dependency on Guava's Multimap
...
Replace with a hand-written multi-map
2013-10-04 18:32:41 +04:00
Alexander Udalov
3d5e128267
Remove trivial dependencies of JDR on Guava
2013-10-04 18:32:41 +04:00
Alexander Udalov
fc78971aea
Delete JvmClassName.getAsmType()
2013-10-04 18:32:40 +04:00
Alexander Udalov
521496b188
Delete JvmPrimitiveType.getAsmType()
...
Create PrimitiveTypesUtil in frontend.java for this and other utilities
2013-10-04 18:32:40 +04:00
Alexander Udalov
f4abaaee10
Delete JvmClassName.byType
...
Replace JvmClassName by ASM Type in many places of JVM codegen: it wasn't used
to abstract anything, but there was a lot of useless conversions between the
two
2013-10-04 18:32:39 +04:00
Alexander Udalov
6898274f47
Delete JvmClassName.getDescriptor()
...
It shouldn't be available in descriptor.loader.java, since it wouldn't depend
on ASM and its descriptors won't make any sense there. Most of the places where
this method was used were in codegen. The few exceptions are reading
annotations for compiled Kotlin classes by ASM visitors, but that will be
abstracted away soon
2013-10-04 18:32:39 +04:00
Alexander Udalov
45bc7c2926
Delete JvmClassName.byClass, refactor JvmAnnotationNames
...
Store constant class names as instances of FqName instead of JvmClassName. This
is done to minimize usages of the method 'JvmClassName.getFqName()', since it's
wrong and shouldn't be used
2013-10-04 18:32:39 +04:00
Alexander Udalov
6aab9fe04e
Delete JvmClassName.byClassDescriptor
...
It only worked correctly by coincidence: mapping from the Kotlin world to the
JVM world should always be done through JetTypeMapper
2013-10-04 18:32:39 +04:00