Denis Zharkov
ec63394121
Check that boxing instruction is simple call
...
like T.valueOf(unboxType(T))
#KT-6047 fixed
2014-10-17 01:22:25 +04:00
Alexander Udalov
6698e0ecc9
Add test for outdated smart cast with elvis issue
...
#KT-5335 Obsolete
2014-10-16 16:38:11 +04:00
Alexander Udalov
159878e09d
Pass correct outer instance in complex case of inheritance
...
#KT-5343 Fixed
2014-10-16 16:16:55 +04:00
Alexander Udalov
61674fb3d9
Don't put outer instance twice for anonymous object extending inner
...
#KT-5343 In Progress
2014-10-16 16:16:54 +04:00
Alexander Udalov
7315146753
Fix and refactor ExpressionCodegen#pushClosureOnStack
...
- change Closure parameter to ClassDescriptor, load closure in the beginning
- invert and rename boolean parameter, also use it only to prevent pushing
dispatch receiver (not the extension receiver) onto the stack because the
only non-trivial usage of it is preceded by manual handling of the dispatch
(not extension) receiver. This fixes innerOfLocalCaptureExtensionReceiver.kt
2014-10-16 16:16:54 +04:00
Andrey Breslav
3453809b4b
Defining flexible type semantic equality through subtyping
2014-10-15 14:07:55 +04:00
Andrey Breslav
2bf6db003a
Error message corrected: packages can't be nested any more
2014-10-15 12:22:35 +04:00
Andrey Breslav
391b57077b
KT-5976 Parser recovery is poor on object with parameters
...
#KT-5976 Fixed
2014-10-15 12:22:35 +04:00
Evgeny Gerashchenko
a759fc2454
Added test for EA-53340.
2014-10-15 11:50:59 +04:00
Alexey Sedunov
c73c581b11
Call Resolver: Report UNRESOLVED_REFERENCE instead of EXPRESSION_EXPECTED_PACKAGE_FOUND when callee expession is resolved to package
2014-10-14 01:59:48 +04:00
Alexey Sedunov
a3a0edca58
Pseudocode: Drop CompilationErrorInstruction
2014-10-14 01:59:43 +04:00
Alexey Sedunov
a56c54371e
Pseudocode: Generate instructions for unresolved array assignments
2014-10-14 01:59:42 +04:00
Michael Nedzelsky
aa3d0fe1d7
minor: rename TargetBackend enum values
2014-10-13 19:24:59 +04:00
Andrey Breslav
838ef11f1c
Test data fixed: after "type" is no longer a keyword
2014-10-13 16:42:03 +04:00
Andrey Breslav
cc68ed894b
"type" is not a keyword anymore ("typealias" reserved instead)
2014-10-13 15:41:13 +04:00
Andrey Breslav
070a7d4d72
Serialization of flexible types supported
2014-10-13 15:38:20 +04:00
Andrey Breslav
8eb57f5a75
Parser recovers on platform types notation:
...
- Foo!
- Array<(out) Foo>!
- (Mutable)List<Foo>!
2014-10-13 15:38:18 +04:00
Andrey Breslav
1214bef3e8
Always create a missing txt file, even if the test itself fails before
2014-10-13 15:38:17 +04:00
Andrey Breslav
890ef7a8ae
Choosing a best fit when getting multiple exact bounds for a type variable
2014-10-13 15:38:16 +04:00
Andrey Breslav
e418a763db
Fix JetType.equals(): flexible types are not equal to non-flexible ones, when we store them in a HashSet
2014-10-13 15:38:15 +04:00
Andrey Breslav
5be4dda58b
Unit obtained through a generic substitution should not be mapped to VOID
2014-10-13 15:38:14 +04:00
Andrey Breslav
f5aed51fd0
TypeUtils.containsSpecialType() fixed to account for flexible types
2014-10-13 15:38:14 +04:00
Andrey Breslav
a737352b5d
Assertions when approximating platform types in delegation by expression
2014-10-13 15:38:13 +04:00
Andrey Breslav
f1c66fa6b0
Assertions on approximation of platform types to non-null types
...
- for most expressions (ExpressionCodegen.genQualified)
2014-10-13 15:38:13 +04:00
Andrey Breslav
013dd7261e
Extensible specificity expressed as a type capability
2014-10-13 15:38:11 +04:00
Andrey Breslav
6564231040
Descriptor test data for diagnostic tests fixed
2014-10-13 15:38:10 +04:00
Andrey Breslav
25efd6684f
Missing test data generated
2014-10-13 15:38:10 +04:00
Andrey Breslav
91b0b83ec3
Java declaration annotations are treated as type annotations
...
This is needed, for example, to approximate flexible types correctly when rendering them in the code
2014-10-13 15:38:06 +04:00
Andrey Breslav
d25a76e044
Disabling @KotlinSignature checks in PLATFORM_TYPES mode
2014-10-13 15:38:05 +04:00
Andrey Breslav
ea3215b361
Massive test data update for compiledJava
2014-10-13 15:38:05 +04:00
Andrey Breslav
0b6a4df4f4
The case of Integer.getInteger("1", 2) fixed (was: OVERLOAD_RESOLUTION_AMBIGUITY)
2014-10-13 15:38:04 +04:00
Andrey Breslav
50aa918791
Failing test for type inference
2014-10-13 15:38:02 +04:00
Andrey Breslav
1dbfe5483a
Fix isNullableType() to always consider flexible types, even if they contain type parameters
2014-10-13 15:38:01 +04:00
Andrey Breslav
d1214d2368
Another TypeUtils.isNullableType() introduced
2014-10-13 15:38:00 +04:00
Andrey Breslav
12d18533e8
Recursion depth in CommonSupertypes is bounded by maxDepth + 3
2014-10-13 15:37:59 +04:00
Andrey Breslav
364a7a6574
Do not overuse makeNullableAsSpecified in TypeSubstitutor
2014-10-13 15:37:59 +04:00
Andrey Breslav
220c360081
Null-aware types introduced
...
Flexible types should drive their own conversions to nullable/not-null
2014-10-13 15:37:58 +04:00
Andrey Breslav
969beb7898
Account for substitutions of one variable for another (it must remain a variable)
2014-10-13 15:37:57 +04:00
Andrey Breslav
bdbd469aad
Do not wrap flexible types into Nullable/NotNull types
2014-10-13 15:37:57 +04:00
Andrey Breslav
141e731f39
Constraint Foo on T! should be turned into Foo! on T
2014-10-13 15:37:56 +04:00
Andrey Breslav
6cb1d2e3f7
Lower bound must be a subtype of the upper bound.
...
The change in CommonSupertypes:
We used to say that commonSupertype(Inv<A>, Inv<B>) = Inv<in Intersect(A, B)). This is counter-intuitive, should be Inv<out commonSupertype(A, B)>
2014-10-13 15:37:56 +04:00
Andrey Breslav
e232697da1
CommonSupertypes support for flexible types
2014-10-13 15:37:55 +04:00
Andrey Breslav
583694a450
Flexible types for primitive arrays
2014-10-13 15:37:54 +04:00
Andrey Breslav
8134d097e3
Another portion of test data fixed
2014-10-13 15:37:54 +04:00
Andrey Breslav
a3d9ff65aa
Wrong "USELESS_ELVIS" fixed
2014-10-13 15:37:54 +04:00
Andrey Breslav
c3c72fc528
Switching off propagation of types and KotlinSignatures for platform types
2014-10-13 15:37:53 +04:00
Andrey Breslav
fefadaa171
Rendering platform type for java.util.Map.Entry as kotlin.(Mutable)Map.(Mutable)Entry
2014-10-13 15:37:53 +04:00
Andrey Breslav
dd2e95b3bc
Substitution implemented for flexible occurrences of Java type parameters
2014-10-13 15:37:52 +04:00
Andrey Breslav
bf53222bd9
Flexible types in SAM conversions
2014-10-13 15:37:51 +04:00
Andrey Breslav
bdf7e924b5
Rendering flexible types with "!" and optional parts
2014-10-13 15:37:50 +04:00