Commit Graph

58 Commits

Author SHA1 Message Date
xiexed b8942c5f04 Readme for ultimate project (#1070) 2017-05-08 15:55:30 +03:00
Pavel V. Talanov 0571c62943 KtLightElements: make light annotations lazier
Allow to get annotation list and to invoke `findAnnotation` without building delegate
Introduce KtLightNullabilityAnnotation which holds nullability information and is built
    before delegate is built
2017-05-02 15:40:17 +03:00
Pavel V. Talanov 8f4c969933 KtLightElement is no longer PsiNamedElement 2017-05-02 15:40:14 +03:00
Zalim Bashorov 51e84f7ce4 Move some script related part of frontend to separate module to avoid using kotlin-reflect.jar in frontend module
Main goal is get rid of kotlin-reflect.jar from modules what required for minimal compiler.jar which can compile Kotlin only to JS to make it smaller.
2017-04-17 18:18:35 +03:00
Denis Zharkov 5e449fdc02 Optimize control-flow analysis by use of persistent maps
The case that it's worth to optimize is functions
with a lot of variables.

After debugging it's recovered that control-flow works nearly
O(n * m) where n is pseudocode size and m is a number of variables:
the algorithm performs O(n) copies of hashmap of size O(m)

Persistent maps should help because we don't need to perform a
copy of them, so the expected performance after the change is applied
is O(n log m)

We've tried pcollections and javaslang, and the latter one has demonstrated
better results

See results before and after optimizations
before:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/3da7ba45a704969653d70b50995f730e968540d8/reports/benchmarks-many-vars-2017-03-14.txt

after with pcollections:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/3da7ba45a704969653d70b50995f730e968540d8/reports/benchmarks-many-vars-persistent-optimizations-2017-03-17.txt

after with javaslang:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/d22a871b175b291fb337b51ef6465ba70bbfd96c/reports/benchmarks-many-vars-javaslang-2017-04-07.txt
2017-04-11 11:26:11 +03:00
Dmitry Jemerov 6febe1e8a2 Convert RenameTest to light fixture test case
Extract multi-module rename test to a separate class.
2017-03-28 15:48:38 +02:00
Dmitry Jemerov e2f75463d7 Rewrite AbstractQuickFixTest based on light fixture test case
Don't reconfigure runtime before every test. For consistency,
mark tests that require the runtime with directives instead of relying
on test file names.
2017-03-27 19:48:43 +02:00
Alexander Udalov 6d69e37fe9 Update to ASM 6-alpha from intellij 171
Will be needed to read module-info files
2017-03-24 19:46:35 +03:00
Alexander Udalov 2d1b15b6fb Drop usages of '-XX:MaxPermSize' in run configurations on JDK 8 2017-03-21 16:09:18 +03:00
Alexey Sedunov 2e3617adbb Spring Support: Fix tests in IDEA 2017.1
Filter out duplicate reference targets.
Fix test data as directory references are available
inside of string literals.
Fix test data as Spring @Autowired inspection
no more reports parameterless methods.
Fix gutter checking as configuration bean references now resolve
to @ComponentScan annotation
2017-03-20 18:46:12 +01:00
Nikolay Krasko 9f51b12193 Update guava 19.0 sources jar 2017-03-20 18:45:32 +01:00
Dmitry Jemerov 036bfed984 Add resources_en.jar to properties plugin classpath 2017-03-20 18:45:18 +01:00
Mikhail Glukhikh 607e205ad4 Resolve to descriptor: call safe version in background (~ isApplicable) #KT-12261 Fixed
Also #KT-11010 Fixed
Also #KT-12881 Fixed
Also #KT-16162 Fixed
2017-02-08 13:55:34 +03:00
Alexey Sedunov 60edc46d8c Spring Support: Consider declaration open if it's supplemented with a preconfigured annotation in corresponding compiler plugin
#KT-15444 Fixed
2017-01-30 17:54:53 +03:00
Mikhail Glukhikh a78694e9be Test fix: spring test for gutter 2016-12-22 15:03:09 +03:00
Nikolay Krasko 2bb48fc802 Allow empty single-line bodies in property accessors 2016-12-14 13:40:44 +03:00
Nikolay Krasko 2841931ffa Do not force new line in body for empty functions and function expressions (KT-10828)
#KT-10828 Fixed
2016-12-14 13:35:31 +03:00
Yan Zhulanow de15003706 Minor: Add sam-with-receiver to Ultimate project classpath, fix cli plugin path in build.xml 2016-12-09 20:26:41 +03:00
Yan Zhulanow 0a2b52c1ed Minor: Add allopen-ide and allopen-noarg to "idea" module test classpath 2016-12-09 20:01:16 +03:00
Zalim Bashorov 4c8f5e4540 Regenerate ultimate tests 2016-11-09 21:41:12 +03:00
Ilya Chernikov d335aea682 Add script runtime to ultimate project 2016-10-12 15:38:52 +02:00
Alexey Sedunov 3adbe5515e Minor: Get rid of deprecated (as of IDEA 2016.2) method calls 2016-09-27 13:27:53 +03:00
Nikolay Krasko 63943c60d3 Patch ThreadTracker during Kotlin plugin init 2016-09-22 15:19:18 +03:00
Nikolay Krasko d69e7c7aec Problem: fix thread leaking check fail on teamcity for ultimate rename tests 2016-09-20 15:27:10 +03:00
Pavel V. Talanov 3bb1ce7e1d Sync code in 'idea-ultimate' 2016-07-28 18:01:01 +03:00
Alexander Udalov 4c8e8b099a Update protobuf from 2.5.0 to 2.6.1 2016-06-27 20:14:00 +03:00
Nikolay Krasko 5e7d007e75 Build output parser in separate module under 1.6 (KT-12159)
KotlinOutputParser accessed from gradle execution environment that can be started under Java 1.6.

 #KT-12159 Fixed
2016-06-14 20:58:07 +03:00
Alexander Udalov 7e38b93d80 Use protobuf with renamed packages, pack to IDEA plugin
Update GenerateProtoBuf.kt to also regexp-replace com.google.protobuf with
org.jetbrains.kotlin.protobuf in generated Java sources

 #KT-12581 Fixed
2016-06-14 14:17:22 +03:00
Alexey Sedunov ec0f21c887 Spring Support: Fixed rename of custom-named beans specified with Kotlin annotation
#KT-12096 Fixed
2016-05-26 20:59:09 +03:00
Alexey Sedunov 076e31c0f8 Spring Support: Automatic configuration by @Import and @ComponentScan ("basePackages"/"basePackageClasses")
#KT-12135 Fixed
 #KT-12139 Fixed
2016-05-26 20:59:07 +03:00
Alexey Sedunov 781a1e0694 Spring Support: Implement @ComponentScan inspection
#KT-12465 Fixed
2016-05-26 20:59:05 +03:00
Alexey Sedunov d69140b7fe Code Insight: Implement package references inside of string literals
#KT-12136 In Progress
2016-05-26 20:59:03 +03:00
Alexey Sedunov d52e62b20d Light Classes: Consider FakeFileForLightClass instances equivalent if they correspond to the light classes with common KtFile
#KT-12117 Fixed
2016-05-26 20:59:01 +03:00
Alexey Sedunov 26be254fbe Spring Support: Show autowiring candidates line markers for @Autowired-annotated constructors and constructor parameters
#KT-12120 Fixed
2016-05-19 13:56:12 +03:00
Alexey Sedunov 2bd03fe9b0 Spring Support: Fixed bean references in factory method calls
#KT-12384 Fixed
2016-05-19 13:56:11 +03:00
Alexey Sedunov 417995b569 Spring Support: Fixed "Spring Facet Code Configuration (Kotlin)" inspection description
#KT-12143 Fixed
2016-05-19 13:56:10 +03:00
Alexey Sedunov 53b08a1d33 Spring Support: Report object declarations in "Final Kotlin class or function with Spring annotation" inspection
#KT-12148 Fixed
2016-05-19 13:56:09 +03:00
Alexey Sedunov aaa42e872a Spring Support: Fixed "Autowired members defined in invalid Spring bean (Kotlin)" inspection description
#KT-12363 Fixed
2016-05-19 13:56:07 +03:00
Alexey Sedunov 85d07e5f6d Spring Support: Implement Spring @Autowired inspection
#KT-12278 Fixed
 #KT-12147 Fixed
 #KT-12366 Fixed
 #KT-12122 Fixed
2016-05-19 13:56:06 +03:00
Alexey Sedunov 36f3d30250 Refactoring: Extract registerWithElementsUnwrapped() function 2016-05-19 13:56:04 +03:00
Alexey Sedunov 60f23e9a7e Minor: Move META-INF to "resources" source root 2016-05-16 02:52:24 +03:00
Alexey Sedunov edb3fd8f00 Spring Support: Replace light elements bound to line markers with their originals
#KT-12091 Fixed
2016-05-16 02:52:22 +03:00
Alexey Sedunov df46a8c67a Spring Support: Implement bean references in @Qualifier annotations
#KT-12092 Fixed
2016-05-12 13:03:04 +03:00
Alexey Sedunov 44f565e600 Spring Support: Support "Autowired members defined in invalid Spring bean" inspection on Kotlin declarations
#KT-12079 Fixed
2016-05-10 19:41:35 +03:00
Alexey Sedunov d456aa6ba8 Rename: Fix Find Usages/Rename for parameter references in XML files
#KT-11967 Fixed
2016-04-25 10:38:39 +03:00
Alexey Sedunov 548d0cd4e5 Spring Support: Model diagram support for Kotlin classes
#KT-11692 In Progress
2016-04-19 20:27:42 +03:00
Alexey Sedunov 754e7cac52 Light Classes: Replace accessor with property name when renaming KtProperty/KtParameter through its light methods
#KT-11880 Fixed
2016-04-19 20:27:28 +03:00
Alexey Sedunov c21dff66aa Spring Support: Allow injection of SpEL into string literals with escape sequences
#KT-11904 Fixed
2016-04-19 20:27:26 +03:00
Valentin Kipyatkov 120bced842 Fixing build 2016-04-18 23:05:59 +03:00
Mikhail Zarechenskiy 37e0b71584 Split KotlinBlock on two clases to share independent logic about
formatting  between Idea and Eclipse

 Also make 'formatter' module depend on fewer dependencies
2016-04-15 18:15:13 +03:00