Commit Graph

66906 Commits

Author SHA1 Message Date
Ilya Gorbunov 448e0ceae1 Drop quickfix tests that relied on removed native annotation 2020-06-25 18:36:04 +03:00
Ilya Gorbunov 8dfcebf542 Expose KTypeProjection.STAR constant in a field
#KT-30083
2020-06-25 18:25:24 +03:00
Ilya Gorbunov 53cbcfac5a Validate arguments of KTypeProjection constructor
#KT-34596 Fixed
2020-06-25 18:25:24 +03:00
Ilya Gorbunov d41e8ed4ad Annotate KTypeProjection factory methods with JvmStatic
#KT-30084 Fixed
2020-06-25 18:25:24 +03:00
Ilya Chernikov e8659d4b37 Fix initializer error arizing on scripting annotation creation
also fixes tests in main-kts
2020-06-25 17:21:38 +02:00
Vladimir Dolzhenko 3585f80c67 Fix 201 compilation
Relates to #KT-17926
2020-06-25 17:15:13 +02:00
Toshiaki Kameyama 12cd3785b0 Move statement: move parameters/arguments with a comment correctly
#KT-34705 Fixed
#KT-34707 Fixed
#KT-34587 Fixed
2020-06-25 15:45:25 +02:00
Raluca Sauciuc 9c8904f165 Restore KotlinExplicitMovementProvider in as40 2020-06-25 15:06:27 +02:00
Norbert Nogacki 990903e4e2 Show documentation for a class if the constructor has no docs
#KT-17926 Fixed
2020-06-25 14:42:03 +02:00
Mikhail Glukhikh 699829ccb3 Make FIR multi-module tests from IDE regular FIR compiler resolve tests 2020-06-25 12:35:25 +03:00
Ivan Kylchik 79691feb8f Fix fir load compiled kotlin tests after introducing const deserializer 2020-06-25 12:30:24 +03:00
Ivan Kylchik 027d177c15 Remove IGNORE_FIR from tests that are using unsigned constants 2020-06-25 12:30:23 +03:00
Ivan Kylchik c80cf0f34c Remove IGNORE_FIR from ranges tests 2020-06-25 12:30:21 +03:00
Ivan Kylchik 70f0f357fa Remove IGNORE_FIR from stepped ranges tests 2020-06-25 12:30:19 +03:00
Ivan Kylchik 6c6b7c8b84 Implement constant deserializer for fir
This deserializer is uniform loader, that is responsible for loading
all constants. For example, Math.E, UInt.MAX_VALUE or Float.MIN_VALUE.
2020-06-25 12:30:19 +03:00
Kirill Shmakov b62e22cb01 Fix Android app in template project 2020-06-25 11:54:23 +03:00
Ivan Kylchik 895c32e21c Create separate source set for interpreter map generator
A separate source set is needed so that the generator no longer depends
on the generated code
2020-06-25 10:45:19 +03:00
Ilya Gorbunov 643d339496 Advance bootstrap to 1.4.20-dev-1080 2020-06-25 02:37:39 +03:00
Vladimir Ilmov d6483ace94 (UltraLightClasses) fix for processing stubs for Deprecation.HIDDEN annotation fast-path 2020-06-25 00:39:34 +02:00
Mikhail Zarechenskiy a5ae1b38b0 Don't skip constraints from equations with the kind equal
The problem was that we didn't incorporate T == Foo into K <: Inv<out T>.
 It happened because of optimisation that isn't applicable here as we
 already have projection in the initial type

 #KT-39777 Fixed
2020-06-24 23:36:59 +03:00
Toshiaki Kameyama ab34f8c738 Add indent before accessor for extension property (KT-33131)
#KT-33131 Fixed
2020-06-24 21:42:02 +02:00
Alexander Udalov c6a481190a JVM: optimize type mapping for primitive types 2020-06-24 19:26:59 +02:00
Alexander Udalov 64f7c3f498 IR: do not use descriptors in IrTypeSystemContext.getPrimitiveType
Also optimize getPrimitiveType and getPrimitiveArrayType. Convert
PrimitiveType to Kotlin to leverage the switch over string optimization,
which is not possible in Java 6 (which is used to compile
'descriptors').
2020-06-24 19:26:59 +02:00
Alexander Udalov 7013becda5 IR: remove IrBuiltInOperator, use IrFunctionImpl instead
It seems that this is no longer needed. This change in particular helps
to avoid megamorphic interface call on IrValueParameter.accept, which
happens a lot because there are usually many value parameters.
2020-06-24 19:26:55 +02:00
Alexander Udalov 988226a90e IR: optimize FqNameEqualityChecker.checkViaDeclarations 2020-06-24 19:16:12 +02:00
Alexander Udalov 014d855449 IR: minor, make all overrides in IrElementTransformerVoid final 2020-06-24 19:16:11 +02:00
Alexander Udalov 3c90e25cb4 IR: optimize IrType.isNullable, do not use DFS
DFS is not justified for type usages. In contrast to type hierarchies,
traversing the type usage naively with recursion has linear, not
exponential, complexity.
2020-06-24 19:16:11 +02:00
pavlospt 597bc061e2 Add Kotlin Data Class, Sealed Class and Annotation file templates
#KT-20775 Fixed
2020-06-24 16:25:51 +02:00
Toshiaki Kameyama 2162c39ab3 Quick doc: show default parameter value
#KT-19069 Fixed
2020-06-24 16:20:21 +02:00
Ilya Gorbunov 33150a0809 KT-38817 capitalize uses title case for the first char where available
This unifies its behavior with new capitalize overload with Locale.

Co-authored-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2020-06-24 16:45:09 +03:00
Ilya Gorbunov 9e2f95233c Promote capitalize/decapitalize with Locale to stable
Relates to KT-28933
2020-06-24 16:45:08 +03:00
Ivan Kylchik e34246faec Fix fir2ir text tests after introducing const evaluator 2020-06-24 16:13:02 +03:00
Ivan Kylchik 8044b47984 Create internalName extension method that returns fqName as jvm internal 2020-06-24 16:13:02 +03:00
Ivan Kylchik ddd03373cc Allow to interpret toString method from Any class for ONLY_BUILTINS mode
This change aims to support string concatenation operation with const
properties
2020-06-24 16:13:02 +03:00
Ivan Kylchik 6f4f7dd090 Remove coroutines from ir interpreter 2020-06-24 16:13:01 +03:00
Ivan Kylchik f028d6c898 Move interpreter files to separate module 2020-06-24 16:13:01 +03:00
Ivan Kylchik 64aa0ec5c8 Add new module for ir interpreter 2020-06-24 16:13:01 +03:00
Ivan Kylchik 49124709b8 Remove all usages of descriptors from interpreter 2020-06-24 16:13:01 +03:00
Ivan Kylchik e4f88e83fe Get rid of compile time check in generator for ir builtins map
These checks are unnecessary because we use all methods from given
classes
2020-06-24 16:13:01 +03:00
Ivan Kylchik 2534b15553 Remove descriptors.jvm dependency from common backend module
Common backend should not depend on JVM parts
2020-06-24 16:13:00 +03:00
Ivan Kylchik 8f6a1b418d Add method to evaluate constant expressions in ir module for fir2ir 2020-06-24 16:13:00 +03:00
Ivan Kylchik fa221af1b1 Move IrConstTransformer.kt to evaluate package 2020-06-24 16:13:00 +03:00
Ivan Kylchik 932ce71093 Rename method checkForError to replaceIfError
This name better reflects the point of this method.
a.replaceIfError(b) will return b instead of a in case a is an error
expression
2020-06-24 16:13:00 +03:00
Ivan Kylchik b71c74c6ef Remove descriptor usages in Primitive.kt 2020-06-24 16:13:00 +03:00
Ivan Kylchik 0c6d485c9c Rename ReturnLabel.NEXT to ReturnLabel.REGULAR
This name better describe that this label mean: execution was finished
regular and there is no need to make special processing
2020-06-24 16:13:00 +03:00
Ivan Kylchik 9377d274a8 Drop ExecutionResult class implementations and make it regular class
There was 2 implementations that I managed to combine
2020-06-24 16:12:59 +03:00
Ivan Kylchik c386cbeb54 Move checkNullability function in State.kt file 2020-06-24 16:12:59 +03:00
Ivan Kylchik e57de9a08f Mark most of classes and functions from interpreter package as internal
Main goal is to avoid ambiguity because some names, that are used by
interpreter, can be found in other modules
2020-06-24 16:12:59 +03:00
Ivan Kylchik 27c52f54ca Remove IGNORE_FIR from tests that are passing after constant folding 2020-06-24 16:12:59 +03:00
Ivan Kylchik f20e878d35 Add constant folding after FIR2IR processing 2020-06-24 16:12:59 +03:00