Tianyu Geng
45ccec3b64
FIR IDE: Add HLAddWhenRemainingBranchesIntention
2021-06-24 18:26:20 +02:00
Tianyu Geng
55e7cc7ea3
FIR IDE: add HLConvertToBlockBodyIntention
2021-06-23 22:22:14 +03:00
Tianyu Geng
3aa6cb25ba
FIR IDE: Add ImportMemberIntention
2021-06-23 22:22:12 +03:00
Tianyu Geng
66d44f2471
FIR IDE: Add ImportAllMembersIntention
2021-06-23 22:22:10 +03:00
Nikolay Krasko
d6aedc3229
Ignore more tasks if disableKotlinPluginModules explicitly set
2021-06-22 11:02:49 +03:00
Nikita Bobko
8b018f0a40
frontend-api-generator: remove unused module dependencies
2021-06-22 03:06:17 +03:00
Nikita Bobko
938cd955e1
Remove :idea prefix in IDE FIR modules which are going to stay in kotlin repo
...
This commit fixes not possibility to build project with `disableKotlinPluginModules`
flag on because Gradle tries to resolve `:idea` module which is disabled
2021-06-22 03:06:16 +03:00
Ilya Kirillov
dbba9297ff
FIR IDE: restore InnerDeclarationsResolvePhaseTest
2021-06-21 20:43:43 +03:00
Ilya Kirillov
61651c685c
FIR IDE: restore FirLazyDeclarationResolveTest
2021-06-21 20:43:40 +03:00
Ilya Kirillov
822590a62b
FIR IDE: temporary disable AbstractFirLazyDeclarationResolveTest.kt
2021-06-21 00:51:31 +02:00
Ilya Kirillov
72b8593240
FIR IDE: do not use IJ test infrastructure in frontend-api-fir tests
2021-06-20 22:07:31 +02:00
Ilya Kirillov
75331b3448
FIR IDE: abstract low-level-api from dependency on idea
2021-06-20 22:07:11 +02:00
Jinseong Jeon
fcdb8866d2
FIR: rewrite evaluator to use eval utils in frontend.common
2021-06-19 21:58:47 -07:00
Jinseong Jeon
477c1c8cd7
Migrate CompileTimeType and OperationsMap to frontend.common
2021-06-19 21:58:47 -07:00
Jinseong Jeon
720104de78
Temporarily allow deprecated conversions in FIR operations map
...
Also, switch to the new copyright header
2021-06-19 21:35:35 -07:00
Jinseong Jeon
fc5d1d8cb5
FirConstKind has been renamed to ConstantValueKind ( d243319)
2021-06-19 21:35:35 -07:00
Jinseong Jeon
bb297b87bd
Avoid hard-coded operator names in CompileTimeConstantEvaluator
2021-06-19 21:35:34 -07:00
Jinseong Jeon
a969924248
FIR: generate operations map for CompileTimeConstantEvaluator
2021-06-19 21:35:34 -07:00
Nikita Bobko
306f8b7358
[imltogradle] Add "imls in same directory are not allowed" check
2021-06-18 17:42:23 +02:00
Nikolay Krasko
80677c88cb
Update gradle task in generated files
2021-06-17 18:36:10 +03:00
Nikolay Krasko
c8ae9a7090
[imltogradle] Speedup files traversing by ignoring directories
2021-06-17 18:36:09 +03:00
Nikolay Krasko
6139f095e7
Disable dependencies verification for kotlin-ide projects
2021-06-17 18:36:06 +03:00
Nikolay Krasko
71ee9cf1be
Fix generateIdeaGradleFiles on Windows
2021-06-17 18:36:04 +03:00
Nikita Bobko
526a664077
[imltogradle] Add a bit of logging
2021-06-16 21:58:36 +03:00
Nikita Bobko
c954fa4900
Make it possible to attach community version of kotlin-ide
2021-06-16 21:58:34 +03:00
Roman Golyshev
44f74888e0
FIR IDE: Add tests for resolving compiled declarations
...
Also, use correct index to find source for properties in
`FirIdeDeserializedDeclarationSourceProvider` - this bug
was revealed by the tests
2021-06-16 15:38:53 +00:00
Nikita Nazarov
7e44cddbab
Introduce the fragment compiler backend to the debugger infrastructure
2021-06-16 13:58:18 +03:00
Tianyu Geng
f6078b24df
FIR IDE: AddToString quickfix
2021-06-15 20:19:53 +02:00
Tianyu Geng
4bedf41f9c
FIR IDE: RemoveNulalbleFix quickfix
2021-06-15 20:19:52 +02:00
Nikita Bobko
02a56a3077
[imltogradle] Fix 'Configuration with name 'compileOnlyApi' not found'
2021-06-14 16:56:55 +02:00
Nikita Bobko
ce0bef6b60
Update 211 platform version for Kotlin plugin
2021-06-14 16:56:55 +02:00
Nikita Bobko
3bf7eef4d8
[imltogradle] Generate maven repos based on 'jarRepositories.xml' from Community
...
This commit minimizes difference between build.gradle.kts
files generated from ultimate & community infrastructure
2021-06-14 16:56:55 +02:00
Jinseong Jeon
47ede5bdc8
FIR IDE/UAST: get PsiType from KtTypeReference
2021-06-13 00:10:38 +03:00
Mark Punzalan
a497dd1d31
FIR IDE: Enable add accessor intentions in plugin.
2021-06-12 23:53:39 +03:00
Jinseong Jeon
e1a99ede09
FIR UAST: introduce values tests
2021-06-12 16:00:32 +02:00
Jinseong Jeon
1025851edd
FIR UAST: introduce types tests
2021-06-12 16:00:29 +02:00
Tianyu Geng
90a0c9bb25
FIR IDE: quickfix to add override keyword
...
Also enables more tests that covers previous quickfixes
2021-06-10 19:05:33 +02:00
Nikita Bobko
8bb98f8f86
[imltogradle] Do not resolve transitive dependencies in gralde if don't resolve them in JPS
...
This fixes problems of Gradle not being possible to find transitive maven artifacts
if actually we don't need them
2021-06-09 15:16:18 +02:00
Nikita Bobko
bf287c0b85
[imltogradle] Don't generate unnecessary tests-jar with real dependencies when a module doesn't have any source root
...
This helps to prevent "fake" circular dependencies when
module A depends on tests of module B but module B doesn't have test source roots
In particular this commit fixes when running `:kotlin-ide.kotlin.generators:testClasses` task:
```
Circular dependency between the following tasks:
:kotlin-ide.kotlin.gradle.gradle-tooling:compileTestJava
+--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestKotlin
| \--- :kotlin-ide.kotlin.test-framework:testJar
| +--- :kotlin-ide.kotlin.test-framework:compileTestKotlin
| | +--- :kotlin-ide.kotlin.idea:testJar
| | | +--- :kotlin-ide.kotlin.idea:compileTestKotlin
| | | | \--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar
| | | | +--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestKotlin (*)
| | | | \--- :kotlin-ide.kotlin.gradle.gradle-tooling:testClasses
| | | | \--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestJava (*)
| | | \--- :kotlin-ide.kotlin.idea:testClasses
| | | \--- :kotlin-ide.kotlin.idea:compileTestJava
| | | +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
| | | \--- :kotlin-ide.kotlin.idea:compileTestKotlin (*)
| | \--- :kotlin-ide.kotlin.jvm:testJar
| | +--- :kotlin-ide.kotlin.jvm:compileTestKotlin
| | | +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
| | | +--- :kotlin-ide.kotlin.idea:testJar (*)
| | | \--- :kotlin-ide.kotlin.repl:testJar
| | | +--- :kotlin-ide.kotlin.repl:compileTestKotlin
| | | | \--- :kotlin-ide.kotlin.idea:testJar (*)
| | | \--- :kotlin-ide.kotlin.repl:testClasses
| | | \--- :kotlin-ide.kotlin.repl:compileTestJava
| | | +--- :kotlin-ide.kotlin.idea:testJar (*)
| | | \--- :kotlin-ide.kotlin.repl:compileTestKotlin (*)
| | \--- :kotlin-ide.kotlin.jvm:testClasses
| | \--- :kotlin-ide.kotlin.jvm:compileTestJava
| | +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
| | +--- :kotlin-ide.kotlin.idea:testJar (*)
| | +--- :kotlin-ide.kotlin.jvm:compileTestKotlin (*)
| | \--- :kotlin-ide.kotlin.repl:testJar (*)
| \--- :kotlin-ide.kotlin.test-framework:testClasses
| \--- :kotlin-ide.kotlin.test-framework:compileTestJava
| +--- :kotlin-ide.kotlin.idea:testJar (*)
| +--- :kotlin-ide.kotlin.jvm:testJar (*)
| \--- :kotlin-ide.kotlin.test-framework:compileTestKotlin (*)
\--- :kotlin-ide.kotlin.test-framework:testJar (*)
```
2021-06-08 17:15:17 +02:00
Ilya Kirillov
74567f4b02
FIR IDE: restore fir ide spec tests with shorten test class name to make TC happy
...
Otherwise, TC will complain about too long fq test method names
2021-06-07 16:48:56 +03:00
Ivan Kylchik
e5617ede7e
Add Throwable class into interpreter builtins map
...
Methods of Throwable class doesn't have bodies using FIR, so they must
be handled as builtins
2021-06-07 15:35:07 +03:00
Ivan Kylchik
8234c9cec1
Add toString function with nullable receiver into builtins map
...
On JVM we don't have body for this function, so we must process it as
intrinsic or builtin
2021-06-07 15:35:06 +03:00
Ivan Kylchik
9a8e0f3fb3
Add new builtins methods for some interfaces into IrBuiltInsMapGenerated
...
This change allow us to skip looking for override when evaluate call
for some primitive.
2021-06-07 15:34:58 +03:00
Alexander Udalov
e6254b51e1
Rewrite generator for IrBuiltInsMapGenerated
...
Similarly to 742fef9042 with OperationsMapGenerated, use optimized
`when` over strings instead of lambdas because lambdas lead to a lot of
bytecode.
The change in `IrConst.toPrimitive` is needed because for operations
like `Byte.plus(Int)` the IrConst instance would have the IR type for
kotlin.Byte, but the actual runtime value of type Int
(java.lang.Integer), which would lead to CCE from
`interpretBinaryFunction`. Previously it didn't fail because of
unchecked cast before calling the lambda, which allowed a value of
runtime type java.lang.Integer to sneak through to the lambda parameter
and be "unboxed" to the correct type via the `(... as Number).toByte()`
conversion which backend generates.
The main benefit of this change is that it reduces the size of the
proguarded compiler jar by ~0.69%.
2021-06-07 15:34:39 +03:00
Ivan Kylchik
96a090f2ab
Implement LambdaProxy class
2021-06-07 15:34:04 +03:00
Ivan Kylchik
1d0acedc48
Rewrite Complex class as interface
...
This change allow ExceptionState to be both: State and Throwable
2021-06-07 15:34:03 +03:00
Ivan Kylchik
4c75576414
Implement basic proxy for Common state
...
For now proxy works only for Any class methods and only for Common
state.
2021-06-07 15:34:01 +03:00
Nikolay Krasko
2801704ad3
Temporary remove DiagnosisCompilerTestDataSpecTestGenerated.java tests
...
Buildserver fails because of too long path names
2021-06-04 18:25:45 +03:00
Ilya Kirillov
335a2d7b71
FIR IDE: add tests based on compiler spec tests for ide
2021-06-04 13:16:17 +02:00
Mark Punzalan
5a7f4ffc99
FIR IDE: Enable tests for ReplaceInfixOrOperatorCallFix.
2021-06-03 20:17:58 +03:00