Commit Graph

17942 Commits

Author SHA1 Message Date
Andrey Breslav cc68ed894b "type" is not a keyword anymore ("typealias" reserved instead) 2014-10-13 15:41:13 +04:00
Andrey Breslav b20439027c Advancing ABI version
Related changes:
 - serialization of flexible types supported
 - Intrinsics.checkExpressionValueIsNotNull() added
2014-10-13 15:38:23 +04:00
Andrey Breslav 4a132599fd getAllOverriddenDescriptors() moved to DescriptorUtils 2014-10-13 15:38:22 +04:00
Andrey Breslav f7ccfafd1c Minor. [platformStatic] used 2014-10-13 15:38:21 +04:00
Andrey Breslav f1675a9162 Minor. Getters replaced by properties 2014-10-13 15:38:21 +04:00
Andrey Breslav 8e8f41e228 Minor. Improved usability of CustomTypeVariable API 2014-10-13 15:38:20 +04:00
Andrey Breslav 070a7d4d72 Serialization of flexible types supported 2014-10-13 15:38:20 +04:00
Andrey Breslav e76df4db11 Rendering fixed across the idea module 2014-10-13 15:38:19 +04:00
Andrey Breslav 9fb09e62af toString() on nullables fixed 2014-10-13 15:38:19 +04:00
Andrey Breslav 619df3a53e Use semantic equality in Create From Usage 2014-10-13 15:38:18 +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 21d31a1a4f An option to enable assertions in the Bytecode toolwindow 2014-10-13 15:38:17 +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 d74b27335e RemoveExplicitTypeArguments fixed: platform types approximated before comparison 2014-10-13 15:38:16 +04:00
Andrey Breslav 94f4ddb762 IDE TypeUtils moved to idea-analysis 2014-10-13 15:38:15 +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 3d5d3e00e3 Minor. @TestDataFlie added for naviagtion 2014-10-13 15:38:12 +04:00
Andrey Breslav 57bffaf8fa All JetType subinterfaces migrated to capabilities 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 4b24c96cca Type capabilities introduced to facilitate extensibility of the type representation
This approach: returning adapter objects by class is crucial, because it is delegation-proof.
Simply extending interfaces in particular implementations fails when we wrap types in DelegatedType subclasses
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 52ed640a2b Visibility fixed 2014-10-13 15:38:09 +04:00
Andrey Breslav aea978cf90 Do not render type arguments as outermost 2014-10-13 15:38:09 +04:00
Andrey Breslav fd3f929a11 Guessing class ids for external annotations 2014-10-13 15:38:08 +04:00
Andrey Breslav fe2fb60daf Approximating flexible types in descriptor renderer 2014-10-13 15:38:07 +04:00
Andrey Breslav 40932f84c8 isFlexible() turned into a method in JetType
Otherwise delegated types were never recognized as flexible
2014-10-13 15:38:07 +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 bd21e487fc Unused class removed 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 837353d9fd Skip alternative signatures in PLATFORM_TYPES mode, but use parameter names 2014-10-13 15:38:03 +04:00
Andrey Breslav 50aa918791 Failing test for type inference 2014-10-13 15:38:02 +04:00
Andrey Breslav f5cc3e1a92 Use TypeUtils.isNullableType() in codegen 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 107480657a Spec document added 2014-10-13 15:38:00 +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 920769d36d Fold standard flexible types in shortNames mode 2014-10-13 15:37:58 +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