Commit Graph

2832 Commits

Author SHA1 Message Date
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