Commit Graph

45073 Commits

Author SHA1 Message Date
Mikhael Bogdanov 942dd8a67c Properly calculate this for super call 2018-04-09 18:13:34 +02:00
Mikaël Peltier 0a11385006 KT-12330 Improve bytecode for data class equals/hashCode methods
- Do not longer call hashCode on java/lang/Object but do this
on statically checked type.
- Do not longer call Intrinsics.areEqual but use directly
equals method on statically checked type.

Fix of https://youtrack.jetbrains.com/issue/KT-12330
2018-04-09 14:16:02 +02:00
Dmitry Petrov e6baf0296d More annotation generation for declarations with test cases 2018-04-09 11:24:37 +03:00
Dmitry Petrov fdd8b7ae6c Annotations in IR are represented as call expressions (nothing else) 2018-04-09 11:24:37 +03:00
Dmitry Petrov 57077a5eb8 Generate annotations for declarations in psi2ir 2018-04-09 11:24:37 +03:00
Dmitry Petrov c2dced775d IrDeclaration has annotations
Note that acceptChildren doesn't traverse them (yet?).
2018-04-09 11:24:37 +03:00
Dmitry Petrov 4016254fd4 Generate constructors with empty bodies for annotation classes
Default parameter values of primary constructor of an annotation class
are required to generate default values of annotation properties.
2018-04-09 11:24:37 +03:00
Dmitry Petrov e74c448c0a Minor: reformat code 2018-04-09 11:24:37 +03:00
Nikolay Krasko cc14df9e6f Always remove configure notifications without additional checks in tests (KT-23399)
For some reason there were ~1000 tests that were spontaneously
falling (~20%) because they couldn't find some class. It was mostly
Java classes.

Those failures started after cff88a3f8b.

There were group of commits about notifications right before it:
b4fb0e0305b77a0caa83d34edac3253b7d8e082b..1be33b91fa85e50f5048dc5a12604debfa3c19e8

 #KT-23399 Fixed
2018-04-07 03:04:35 +03:00
Vyacheslav Gerasimov a8031cfe86 Build: Add zipCidrPlugin task which builds plugin for CLion & AppCode 2018-04-06 21:48:43 +03:00
Vyacheslav Gerasimov d33b3cd4ee Build: Add :prepare:cidr-plugin project 2018-04-06 21:47:55 +03:00
Ilmir Usmanov bd0ad26dcf Support local suspend functions
Treat them like lambdas. This means:
1) Like local suspend lambdas, which become "non-suspend" after creating
jvmSuspendView, they do this as well
2) They both are generated with the same codegen.
3) They are treated differently only on front-end side.
 #KT-20364: Fixed
2018-04-06 19:11:19 +03:00
Alexander Podkhalyuzin 5a752da9e9 Updated tests #KT-23546 Comment 2018-04-06 16:25:09 +03:00
Alexander Podkhalyuzin 9667214b64 Fixed formatting 2018-04-06 16:25:08 +03:00
Alexander Podkhalyuzin e4dfa5897f Do not show duplicated names in variables completion list
#KT-23546 Fixed
2018-04-06 16:25:08 +03:00
Alexander Podkhalyuzin fe680da3f9 Better formatting of BasicCompletionSession 2018-04-06 16:25:08 +03:00
Alexander Podkhalyuzin 0231a3a9e6 Do not show autopopup variable name completion if it was closed
#KT-23546 Comment
2018-04-06 16:25:07 +03:00
Alexander Udalov 89af94be95 Report warning (1.2) or error (1.3) on local annotations
#KT-23277 Fixed
 #KT-23589 Fixed
2018-04-06 14:17:32 +02:00
Mikhail Glukhikh c141fac94a Add options to detect private / internal API with implicit type 2018-04-06 12:54:29 +03:00
Ilya Chernikov 78e45f00f5 Fix test data after merging new scripting 2018-04-06 08:53:32 +02:00
Ilya Chernikov cc2b244484 Add a compiler option to disable default scripting plugin 2018-04-06 08:53:31 +02:00
Ilya Chernikov ccecc90130 Fix some kapt tests:
some implicit usage of Project.getBasePath, which kapt depends on,
was removed from the scripting, and therefore proguard was removing
it from the compiler. This commit instructs proguard to keep it
explicitly.
2018-04-06 08:53:31 +02:00
Alexander Udalov dd3cf531cf Disable packing module-info to libraries until Android issue is fixed
https://issuetracker.google.com/issues/77587908

 #KT-21266 Open
2018-04-05 19:18:05 +02:00
Alexey Sedunov 6c7959dd54 Configuration: Put 'buildscript' block before 'plugins' in build.gradle
#KT-23588 Fixed
2018-04-05 18:18:01 +03:00
Alexander Udalov d2ed73eb78 Enable all Java 9 tests 2018-04-05 12:38:48 +02:00
Alexander Udalov 914cf18051 Fix line separators in scripting-related build.gradle.kts files 2018-04-04 22:26:17 +02:00
Ilya Chernikov cc59716b39 Remove usages of the compiler from dist in script sample modules
prevent constant reindexing of the compiler jar
2018-04-04 21:44:20 +02:00
Pavel V. Talanov de71598794 Fix line markers for actual enum entries
#KT-22632 Fixed
2018-04-04 17:56:35 +02:00
Pavel V. Talanov e66768cbb3 Rewrite mpp line marker tests to be generated 2018-04-04 17:56:35 +02:00
Pavel V. Talanov c3d2334eed Fix expect declarations available in completion in platform modules 2018-04-04 17:56:35 +02:00
Pavel V. Talanov 549bebbd19 Add test infrastructure for completion in mpp
Allow to specify specific expected module in test data for completion items
2018-04-04 17:56:35 +02:00
Pavel V. Talanov 08b62d3564 Rewrite 'goto' mpp tests to be generated
Adjust test data
Use new util in FindUsagesMultiModuleTest
2018-04-04 17:56:34 +02:00
Pavel V. Talanov 1f4926e259 Rewrite QuickFixMultiModuleTest to be generated
Adjust test data
Drop 'overload' test data since it was never run before
2018-04-04 17:56:34 +02:00
Pavel V. Talanov 67a436bf7e MPP tests: provide utils to setup test mpp from project structure
Allows to avoid configuration in test code
2018-04-04 17:56:34 +02:00
Pavel V. Talanov 01bff0e156 AbstractQuickFixMultiModuleTest: refactor and simplify code
Remove dependency on test module names
2018-04-04 17:56:33 +02:00
Pavel V. Talanov 36d23e4501 Refactor: merge synonymous utils 2018-04-04 17:56:33 +02:00
Pavel V. Talanov 784936eb00 Show 'actual/expect' icons for declarations in addition to visibility 2018-04-04 17:56:33 +02:00
Pavel V. Talanov c86a6cf21d Minor: rename expect/actual icon constants
Reflect icons' content
2018-04-04 17:56:32 +02:00
Pavel V. Talanov 9c9cdee7f0 Refactor: move utils related to expect/actual declarations and MPPs
Move them to 'idea-analysis' module
2018-04-04 17:56:32 +02:00
Pavel V. Talanov 3aee544f02 Throw more descriptive exception when service isn't found 2018-04-04 17:56:32 +02:00
Ilya Chernikov da56f54982 Use script compiler options on script dependencies in the IDE as well
further fixes #KT-19120
2018-04-04 16:58:14 +02:00
Ilya Chernikov 5bf8460032 Do not throw if the script definition name is not defined 2018-04-04 16:23:59 +02:00
Ilya Chernikov bdd001d04c [minor] drop explicit stdlib detection logic in script compiler
...as it is mainly redundant and in the current for somewhat incorrect
2018-04-04 16:23:58 +02:00
Ilya Chernikov 73d2580435 Add FATAL diagnostic severity to match changes in the current script infrastructure 2018-04-04 16:23:58 +02:00
Ilya Chernikov 599a9acce8 Rearrange scripting examples to conform the build system requirements 2018-04-04 16:23:58 +02:00
Ilya Chernikov 7fbcfdf09e Add config params for specifying target annotations, import param renaming 2018-04-04 16:23:58 +02:00
Ilya Chernikov 191b1cfefa Refactor configurations handling:
- rearrange compile call parameters for clarity, more defaults
- remove baseConfiguration method - it is now covered by defaultConfiguration
for static part, and refineConfiguration call if a config parameter is
specified
- implement proper configurations chaining, documented in comment to compile function
- minor renamings and refactorings
2018-04-04 16:23:58 +02:00
Ilya Chernikov 4a4edf3458 [minor] Renames and rearrangements for clarity 2018-04-04 16:23:58 +02:00
Ilya Chernikov 5058c66e8c Refactor scripting properties:
- flatten the structure
- add some parameters
- replace iterables with lists
- renaming all scope objects uniformily
also:
- fix passing and usage of script sources
- renamings and other minor improvements
2018-04-04 16:23:58 +02:00
Ilya Chernikov 2ddcc280a9 Implement simplified property bag dsl:
move it to the separate jar,
use property bag chaining
2018-04-04 16:23:57 +02:00