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
Andrey Breslav
d52f2e25b0
AnnotationDescriptor interface extracted
2013-10-15 19:54:39 +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
Alexander Udalov
73b867d1e5
Simplify JvmPrimitiveType, PrimitiveType
...
Delete utility methods from interfaces, move once-used methods to where they're
used
2013-10-04 18:32:38 +04:00
Andrey Breslav
db34868b6e
Migrate existing code to LockBasedStorageManager.NO_LOCKS
2013-10-03 15:49:20 +04:00
Andrey Breslav
ee72479344
Thread-safe lazy values used in lazy resolve
2013-10-03 15:49:19 +04:00
Andrey Breslav
9bb77b09a3
Lazy values unified in the project
2013-10-03 15:49:19 +04:00
Andrey Breslav
f3cd83c744
All storage-related code moved to util.runtime
2013-10-03 15:49:18 +04:00
Andrey Breslav
48605074aa
Lazy values: change encoding, now NOT_COMPUTED is an explicit object, and null is stored as such
2013-10-03 15:49:17 +04:00
Andrey Breslav
51dfdf795f
Recursion-tolerant notnull lazy values
2013-10-03 15:49:17 +04:00
Andrey Breslav
bbdff45246
Support recursion-tolerant nullable values
...
All other values are made recursion-intolerant
2013-10-03 15:49:17 +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
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
3defb3e519
Mutable field made volatile
2013-09-26 09:04:59 -07:00
Andrey Breslav
b98d05bd73
'suppress' annotation added to built-ins
...
#KT-3319 In Progress
2013-09-24 06:58:39 -07:00
Andrey Breslav
2ae2db75ef
Unused methods removed
2013-09-24 06:54:26 -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
ae914efc12
Remove unneeded dependency of 'descriptors' on 'javax.inject'
...
ModuleDescriptorImpl.setModuleConfiguration is only called manually, never by
injectors
2013-09-20 18:02:12 +04:00
Alexander Udalov
5119afae52
Extract 'descriptors' module
2013-09-18 18:45:34 +04:00