Commit Graph

3129 Commits

Author SHA1 Message Date
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 3d5d3e00e3 Minor. @TestDataFlie added for naviagtion 2014-10-13 15:38:12 +04:00
Andrey Breslav 013dd7261e Extensible specificity expressed as a type capability 2014-10-13 15:38:11 +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 c3c72fc528 Switching off propagation of types and KotlinSignatures for platform types 2014-10-13 15:37:53 +04:00
Andrey Breslav bdf7e924b5 Rendering flexible types with "!" and optional parts 2014-10-13 15:37:50 +04:00
Andrey Breslav a39d2bc24f Failing test isolated 2014-10-13 15:37:48 +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 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
Evgeny Gerashchenko fa70192f75 Added test for EA-49318. 2014-10-10 16:00:27 +04:00
Pavel V. Talanov 2fc2c73374 Test mutable diagnostics 2014-10-09 20:32:56 +04:00
Pavel V. Talanov 19ec9f9eda Introduce MutableDiagnosticsWithSuppression and use it in BindingTrace implementations
Exposes the fact that Diagnostics is in fact a mutable entity with readonly API
Update readonly view when diagnostics are modified
Allows to avoid recreating DiagnosticsWithSuppression every time getDiagnostics() is called in DelegatingBindingTrace
  which led to severe performance issues for large files with lots of diagnostics
2014-10-09 20:32:55 +04:00
Michael Bogdanov d4307c69d2 Fix for KT-4301: Too many StringBuilders on string concatenations
#KT-4301 Fixed
2014-10-09 12:23:06 +04:00
Michael Bogdanov 4a078c1143 Temporary disable local fun inlining (it's not supported now) 2014-10-09 10:38:14 +04:00
Evgeny Gerashchenko b062548392 Expanded and simplified test for generating bridges in sam conversions. 2014-10-07 17:48:17 +04:00
Michael Bogdanov 6bcb2e9001 Temporary fix for KT-5912
#KT-5912 Fixed
2014-10-07 17:48:17 +04:00
Michael Bogdanov 6b336be10c Obsolete KT-1776: Can't resolve members of auto-casted "this" in extension without typing "this" explicitly
#KT-1776 Obsolete
2014-10-07 17:21:11 +04:00
Michael Bogdanov 278e682595 Obsolete KT-3285: "A receiver of type ... is required" when using extension functions
#KT-5467 Obsolete
2014-10-07 17:21:11 +04:00
Michael Bogdanov bb3f1f1fb7 Fix for KT-5467: JVM codegen doesn't support capture of many extension receivers
#KT-5467 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov c3cfe33b64 Fix for KT-5495: Support method implementations in local traits
#KT-5495 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov 212d3da950 Fix for KT-5937: Receiver of javaClass-property hasn't been generated
#KT-5937 Fixed
2014-10-07 17:21:10 +04:00
Michael Bogdanov d0d207f387 Fix for KT-3584: Wrong bytecode generated for local class with default parameters and captured local val
#KT-3584 Fixed
2014-10-07 10:13:53 +04:00
Michael Bogdanov 989cae9f1f Fix for KT-4357: Compiler error with infix call to Array.get
#KT-4357 Fixed
2014-10-07 10:13:53 +04:00