Commit Graph

2922 Commits

Author SHA1 Message Date
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
Andrey Breslav 549df3c0eb Equality for flexible types 2014-10-13 15:37:48 +04:00
Andrey Breslav a39d2bc24f Failing test isolated 2014-10-13 15:37:48 +04:00
Andrey Breslav 0cbbb6a0db Test data fixed 2014-10-13 15:37:47 +04:00
Andrey Breslav 195274370f Fix the case of safe call and elvis operators: flexible types may be nullable 2014-10-13 15:37:46 +04:00
Andrey Breslav 45c1fa3741 Support flexible types in DataFlowValues 2014-10-13 15:37:46 +04:00
Andrey Breslav f7de0e274c TypeSubstitutor respects flexible types 2014-10-13 15:37:45 +04:00
Andrey Breslav a2f8def1e8 Tests for Java method calls 2014-10-13 15:37:44 +04:00
Michael Bogdanov a88e9666e4 As designed KT-5930: Wrong execution order in case of extension function
#KT-5930 As Designed
2014-10-13 11:31:15 +04:00
Michael Bogdanov 5abc2dac4e Generate labeled statements as statements 2014-10-13 11:31:15 +04:00
Michael Bogdanov 9d72036ba5 Fix for KT-5995: Labeled val causes an exception from the back-end
#KT-5995 Fixed
2014-10-13 11:30:28 +04:00
Michael Bogdanov 860544d299 Obsolete KT-5685: VerifyError: Bad local variable type for class with inline method and optional parameters
#KT-5685 Obsolete
2014-10-11 13:53:43 +04:00
Michael Bogdanov 605c9f48b4 Added inline annotation check on local funs 2014-10-11 13:53:43 +04:00
Michael Bogdanov 2a1520228e Support inheritance from java 8 interfaces
#KT-5969 In Progress
2014-10-11 13:53:43 +04:00
Pavel V. Talanov 2ded7bae73 Test abstract override in enum class 2014-10-10 18:19:57 +04:00
Pavel V. Talanov b2c288b62a Test super calls in enum literals 2014-10-10 18:12:56 +04:00
Pavel V. Talanov 8e6618920d Minor: rename test data file 2014-10-10 18:05:36 +04:00
Pavel V. Talanov bb5998048f Test code generation for enum deriving from a trait 2014-10-10 17:43:33 +04:00
Pavel V. Talanov c04b52561e "abstract" modifier on enum class is an error
#KT-3454 Fixed
2014-10-10 17:43:32 +04:00
Pavel V. Talanov 6eae62c235 Do not report NON_FINAL_MEMBER_IN_FINAL_CLASS on open members in enum classes 2014-10-10 17:43:32 +04:00
Pavel V. Talanov 4136c80358 Do not report ABSTRACT_MEMBER_NOT_IMPLEMENTED on enum classes
Partial fix of KT-3454
2014-10-10 17:43:31 +04:00
Pavel V. Talanov e703de5796 Minor: add diagnostic test for entries in enum with abstract members 2014-10-10 17:43:31 +04:00