Compare commits

...

6567 Commits

Author SHA1 Message Date
Ilya Gorbunov
5200048d60 Introduce T.addTo(MutableCollection<T>)
#KT-5166 Fixed
2015-12-01 15:30:54 +03:00
Pavel V. Talanov
aa1a08fe7a Minor, getModuleInfo: improve on failure messages 2015-12-01 14:53:16 +03:00
Pavel V. Talanov
bc816851f1 getModuleInfo: Provide utility to default to null instead of logging an error
Use it to workaround cases when java resolve references some unexpected classes/files, referencing non-physical Dummy.java in particular
2015-12-01 14:53:15 +03:00
Pavel V. Talanov
5e35be347c getModuleInfo: Correct module info for members of light classes for decompiled Kotlin classes 2015-12-01 14:53:12 +03:00
Natalia Ukhorskaya
dc60c025c3 Support Evaluate Expression for renamed local variables in inline function
#KT-10179 Fixed
2015-12-01 11:48:43 +03:00
Natalia Ukhorskaya
cd5e406876 Minor: fix warnings 2015-12-01 11:48:41 +03:00
Natalia Ukhorskaya
a1f3c5381e Rename local variable for this in inline function 2015-12-01 11:48:41 +03:00
Michael Bogdanov
a932315bf9 Rename local vars from inlined function
#KT-9798 Fixed
2015-12-01 11:48:40 +03:00
Natalia Ukhorskaya
5073b1d372 Don't skip inlined this 2015-12-01 11:48:39 +03:00
Natalia Ukhorskaya
29778311e8 Drop unnecesary logic about additional context for lambda in debugger 2015-12-01 11:48:38 +03:00
Dmitry Petrov
f34f7556bc KT-10192 got fixed due to new if/when check
(which doesn't depend on the expected type for expression)
 #KT-10192 Fixed
2015-12-01 10:36:40 +03:00
Dmitry Petrov
76931affc6 KT-10139:
Non-exhaustive 'when' without 'else' used in expression is an error
regardless of expected type: it can't be an expression, even of type Unit.
2015-12-01 10:36:40 +03:00
Dmitry Petrov
1a3a296827 KT-10139: any if without else used in expression is an error
regardless of expected type: it can't be an expression, even of type Unit.

 #KT-10139 Fixed
2015-12-01 10:36:40 +03:00
Denis Zharkov
b0dab4c67a Add minor changes after review
- Rename GENERIC_TYPE -> GENERIC_ARGUMENT
- Make 'callableDescriptor' nullable
2015-12-01 08:21:03 +03:00
Denis Zharkov
0fd2484bc9 Fix project source to overcome bootstrap problem 2015-12-01 08:21:02 +03:00
Denis Zharkov
c4bc2c9ba6 J2K Renderer: convert and make contravariant 2015-12-01 08:21:02 +03:00
Denis Zharkov
5a5889e3f3 J2K Renderer: .java -> .kt 2015-12-01 08:21:01 +03:00
Denis Zharkov
303c756302 Refine generic signature for fields
- For vals use the same semantics as for return types
- For vars use the same semantics as for value parameters
2015-12-01 08:21:01 +03:00
Denis Zharkov
64e0af48ed Minor. Change default for needPrimitiveBoxing 2015-12-01 08:21:01 +03:00
Denis Zharkov
ddb67d6c9c Support JvmSuppressWildcards and JvmWildcard annotations
#KT-9898 Fixed
2015-12-01 08:21:00 +03:00
Denis Zharkov
6292833a69 Refine generic signature for Map.get/remove
Before this change generic signature wasn't written because of wrong
assumption about it absence in all cases where we replace generic parameter
with Object
2015-12-01 08:21:00 +03:00
Denis Zharkov
20cbceb56d Add temporary hack for wildcards in Collections
By default we would render 'MutableCollection<String>.addAll(Collection<String>)' as
'(LCollection<String>;)' (without wildcard) because String is final and
effectively it's the same as '(LCollection<? extends String>;)'.

But that's wrong signature in a sense that java.util.Collection has different
signature: '(LCollection<? extends E>)'.

Actually the problem is much wider than collections,
it concerns any Java code that uses Kotlin classes with covariant
parameters without '? extends E' wildcards.

Temporary solution is just to hardcode/enumerate builtin methods
with special signature.
2015-12-01 08:20:59 +03:00
Denis Zharkov
0255be7deb Minor. Pass callableDescriptor into writeParameter 2015-12-01 08:20:59 +03:00
Denis Zharkov
406e31f54a Change default rules for declaration-site wildcards
Mostly this commit is about skipping wildcards that are redundant in some sense.
The motivation is that they looks `long` in Java code.

There are basically two important parts: return types and value parameters.

1. For return types default behaviour is skipping all declaration-site wildcards.
The intuition behind this rule is simple: return types are basically used in subtype position
(as an argument for another call), and here everything works well in case of 'out'-variance.
For example we have 'Out<Out<T>>>' as subtype both for 'Out<Out<T>>>' and 'Out<? extends Out<? extends T>>>',
so values of such type is more flexible in contrast to `Out<? extends Out<? extends T>>>` that could be used only
for the second case.

But we have choosen to treat `in`-variance in a different way: argument itself
should be rendered without wildcard while nested arguments are rendered by the rules
described further (see second part).

For example: 'In<Out<OpenClass>>' will have generic signature 'In<Out<? extends OpenClass>>'.
If we omit all wildcards here, then value of type 'In<Out<OpenClass>>'
will be impossible to use as argument for function expecting 'In<? super Out<? extends Derived>>'
where Derived <: OpenClass (you can check it manually :]).

And this exception should not be very inconvinient because in-variance is rather rare.

2. For value parameters we decided to skip wildcards if it doesn't make obtained signature weaker
in a sense of set of acceptable arguments.

More precisely:
    a. We write wildcard for 'Out<T>' iff T ``can have subtypes ignoring nullability''
    b. We write wildcard for 'In<T>' iff T is not equal to it's class upper bound (ignoring nullability again)

Definition of ``can have subtypes ignoring nullability'' is straightforward and you can see it in commit.

 #KT-9801 Fixed
 #KT-9890 Fixed
2015-12-01 08:20:59 +03:00
Denis Zharkov
1731cb8b40 Make jvmSignature optional in WriteSignatureTest 2015-12-01 08:20:58 +03:00
Denis Zharkov
917420f332 Convert TypeMappingMode from enum to plain class with constant instances 2015-12-01 08:20:58 +03:00
Denis Zharkov
faf1e17888 Introduce TypeMappingMode.toGenericArgumentMode 2015-12-01 08:20:57 +03:00
Denis Zharkov
ef2bc28463 Minor. Rename TypeMappingMode entries 2015-12-01 08:20:57 +03:00
Denis Zharkov
d22aaf9d52 Introduce writeDeclarationSiteProjections option into TypeMappingMode 2015-12-01 08:20:57 +03:00
Denis Zharkov
d8297cd6f1 Extract, rename and konvert TypeMappingMode 2015-12-01 08:20:56 +03:00
Denis Zharkov
6cf7cd5c07 Minor. Rename VALUE -> DEFAULT 2015-12-01 08:20:56 +03:00
Denis Zharkov
8a748703c8 Simplify type mapping for builtin types 2015-12-01 08:20:55 +03:00
Ilya Gorbunov
e5dd719eec Fix warning about incompatible types. 2015-12-01 01:35:19 +03:00
Ilya Gorbunov
0ffce06356 Hide toMap with keySelector
#KT-6657
2015-12-01 01:18:46 +03:00
Ilya Gorbunov
ea60ab74a7 Replace deprecated toMap usages with toMapBy 2015-12-01 01:18:44 +03:00
Ilya Gorbunov
f107559a3c Docs: proper pluralization of 'entry' 2015-12-01 01:18:21 +03:00
Ilya Gorbunov
6ca647aecd Minor: cleanup asSequence() documentation. 2015-12-01 01:18:19 +03:00
Ilya Gorbunov
f596d9ac23 Provide asIterable also for CharSequences, Maps and Iterables.
KT-10152 Fixed
2015-12-01 01:18:18 +03:00
Andrey Breslav
45db5db7e8 Forbid prefixes and suffixes for numeric literals 2015-11-30 19:36:33 +03:00
Andrey Breslav
8544a5ab5f Remove "This" keyword 2015-11-30 19:36:33 +03:00
Andrey Breslav
aca355acdc '...' reserved as a token
KT-9708 Ambiguous syntax for Double ranges: `.1...2` (triple dot)

 #KT-9708 Fixed
2015-11-30 19:36:33 +03:00
Alexander Udalov
877129340f Revert "Rename Extension annotation to ExtensionFunctionType"
This reverts commit 460dad135c.

The old compiler will not see the new runtime correctly. Postponing this until
1.0
2015-11-30 19:24:58 +03:00
Alexander Udalov
745809c666 Rename TestlibTest -> StdlibTest 2015-11-30 19:19:20 +03:00
Mikhail Glukhikh
fe04cc513b Original type is taken into account when intersecting possible types in resolve #KT-10232 Fixed 2015-11-30 19:09:44 +03:00
Alexander Udalov
db2521ee67 Rework TestlibTest, use JUnit console runner instead of manual suite
The problem with the manually created suite was that it was created in setUp()
and so a lot of the hard work (compilation, test case lookup) was happening in
setUp(). If any exception is thrown in setUp(), tearDown() is not called,
leaving the application (~9000+ subsequent tests) in the inconsistent state.

Support JUnit 4 tests via JUnit4TestAdapter. Previously only a small number of
test classes were actually run because this test was looking only for JUnit 3
testcases.

Delete FilesTest#relativePath because it was testing a deprecated function
and was failing if run from the project root
2015-11-30 18:58:00 +03:00
Natalia Ukhorskaya
74b6f70c80 JDIEval: do not disable collection when invoke method using reflection 2015-11-30 18:46:40 +03:00
Michael Bogdanov
df1641ff9b Fix for KT-10047: java.lang.VerifyError: Bad return type
#KT-10047 Fixed
2015-11-30 18:44:13 +03:00
Pavel V. Talanov
54addb4b1e Script run configuration: Set working directory to a directory containing script file by default 2015-11-30 18:21:06 +03:00
Pavel V. Talanov
5a55ee332e FileBasedDeclarationProviderFactory: stable order of files
Fixes DiagnosticsTestGenerated#testScriptAndClassConflict
2015-11-30 18:21:06 +03:00
Pavel V. Talanov
4a1c3f02fd Add basic tests for KotlinStandaloneScriptRunConfiguration 2015-11-30 18:21:05 +03:00
Pavel V. Talanov
7577a375ae Minor: use script name generating code to generate names for script run configurations 2015-11-30 18:21:04 +03:00
Pavel V. Talanov
d6c7029c77 Compiler, Scripts: strip stacktrace when reporting exception on script execution 2015-11-30 18:21:04 +03:00
Pavel V. Talanov
567f946cb0 K2JVMCompiler: Do not report perf in script mode 2015-11-30 18:21:03 +03:00
Pavel V. Talanov
34793e63c7 Allow to run kts files as scripts from ide
Introduce KotlinStandaloneScriptRunConfiguration: configuration, type, producer, settings editor
2015-11-30 18:21:03 +03:00
Pavel V. Talanov
337701670c Refactor script registering in frontend and jvm backend 2015-11-30 18:21:02 +03:00
Pavel V. Talanov
6520e9aed6 Refactor: AnalyzerScriptParameter -> ScriptParameter 2015-11-30 18:21:02 +03:00
Pavel V. Talanov
0d10f0fcf9 Minor: Remove direct usages of ScriptNameUtil 2015-11-30 18:21:01 +03:00
Pavel V. Talanov
7956ebe46c Move script related stuff into a separate package 2015-11-30 18:21:00 +03:00
Pavel V. Talanov
89081d487f J2K KotlinScriptDefinition and simplify 2015-11-30 18:21:00 +03:00
Alexey Sedunov
15b7eca665 Move: Detect extension declaration by PSI instead of descriptor as extension descriptor maybe wrapper for Java method
#KT-10203 Fixed
2015-11-30 16:27:23 +03:00
Michael Bogdanov
1bf521c645 Don't generate accessors for @JvmField properties in primary constructor 2015-11-30 16:24:05 +03:00
Mikhail Glukhikh
de37cb8f40 Generic types may not extend kotlin.Throwable #KT-9816 Fixed 2015-11-30 15:24:32 +03:00
Mikhail Glukhikh
c6be69a483 No more reified types for catch parameter #KT-9742 Fixed 2015-11-30 15:24:24 +03:00
Dmitry Petrov
f0e467e474 Rewrite mixed multiple- and single-condition 'when' properly.
#KT-10229 Fixed
2015-11-30 14:43:03 +03:00
Ilya Gorbunov
f7a780f32c Extension contains for ranges: rename parameter item to value. 2015-11-30 14:12:11 +03:00
Ilya Gorbunov
b4256f0c89 Replace increment with step in For Loop codegen for progressions 2015-11-30 14:12:10 +03:00
Ilya Gorbunov
661e288362 Introduce 'step' property in progressions instead of 'increment' 2015-11-30 14:12:05 +03:00
Natalia Ukhorskaya
b8d0685b71 Do not analyze imports in codeFragments
EA-76222 - assert: GetModuleInfoKt$getModuleInfo$.invoke Fixed
2015-11-30 12:38:15 +03:00
Natalia Ukhorskaya
d0355a793b Write lineNumbers for constructors 2015-11-30 12:25:51 +03:00
Natalia Ukhorskaya
3ec383dfca Debugger: find context element in file copy using UserData 2015-11-30 12:25:50 +03:00
Natalia Ukhorskaya
0d984ce8e2 Refactor AbstractLineNumberTest using assertEqualsToFile 2015-11-30 12:25:50 +03:00
Natalia Ukhorskaya
076e9c8dd1 Use debugProcess scope in KotlinPositionManager 2015-11-30 12:25:49 +03:00
Natalia Ukhorskaya
028016412e Convert DebuggerUtils to kotlin 2015-11-30 12:25:48 +03:00
Natalia Ukhorskaya
1136c5f54b Rename DebuggerUtils.kt 2015-11-30 12:25:48 +03:00
Natalia Ukhorskaya
e3e5fce3eb Minor: fix warnings in SmartStepIntoHandler 2015-11-30 12:25:47 +03:00
Natalia Ukhorskaya
9bcc9e4b1d Smart step into for constructors 2015-11-30 12:25:46 +03:00
Natalia Ukhorskaya
062b27995c Debugger: do not change package name for debug function 2015-11-30 12:25:45 +03:00
Natalia Ukhorskaya
002aaaa908 Debugger: fix imports if context element is inside inline lambda 2015-11-30 12:25:45 +03:00
Natalia Ukhorskaya
d2ef7b0ae0 Minor: get line start without whitespaces in KotlinExtraVariablesProvider
#KT-10183 Fxied
2015-11-30 12:25:44 +03:00
Natalia Ukhorskaya
0d486e1cfc Minor: fix warnings 2015-11-30 12:25:43 +03:00
Michael Nedzelsky
9a0520b30e fix EA-76198 (assert: KtElementImplStub.getContainingKtFile) 2015-11-30 10:49:03 +03:00
Alexander Udalov
460dad135c Rename Extension annotation to ExtensionFunctionType 2015-11-30 02:51:04 +03:00
Ilya Gorbunov
0a47d1cac2 Restore deprecated InputStream.iterator() with a replacement. 2015-11-29 04:38:28 +03:00
Ilya Gorbunov
941167e241 Revert "Drop deprecated toGenerator and toLinkedList." until RC 2015-11-29 04:37:45 +03:00
Ilya Gorbunov
f8fe3e6c1d Restore dropped hidden declarations for binary compatibility until RC. 2015-11-29 04:37:35 +03:00
Nikolay Krasko
9e0e3aaebb Don't insert {} after 'else' and 'try' in infinished statements 2015-11-28 20:22:28 +03:00
Ilya Gorbunov
5301f3eb46 Fix contains usages in compiler. 2015-11-28 07:21:39 +03:00
Ilya Gorbunov
54b415593a Replacement upcasts parameter to the most specific supertype in case of contains, indexOf, lastIndexOf, remove, get, containsKey, containsValue. 2015-11-28 07:21:38 +03:00
Ilya Gorbunov
de86e90103 Generate indexOf and lastIndexOf extensions for List. 2015-11-28 07:20:27 +03:00
Ilya Gorbunov
c7d08ea599 Remove *Raw method usages from tests 2015-11-28 07:20:25 +03:00
Ilya Gorbunov
a25f23a286 Apply @OnlyInputTypes on type parameter for contains, indexOf, lastIndexOf extensions for Iterables, Sequences and Arrays instead of @NoInfer on element parameter.
Provide covariant extensions annotated with @OnlyInputTypes:
 - Collection<T>: containsAll(Collection<T>),
 - MutableCollection<out T>: remove(T), removeAll, retainAll (Collection<T>),
 - List<T>: indexOf(T), lastIndexOf(T)
 - Map<out K, V>: get(K), containsKey(K), contains(K)
 - Map<K, V>: containsValue(V)
 - MutableMap<out K, V>: remove(K)
All *Raw extensions are deprecated.
2015-11-28 07:20:24 +03:00
Alexander Udalov
f6616e6e42 Minor, improve assertion message 2015-11-27 23:35:20 +03:00
Alexander Udalov
9e7e75de12 Rename ExternalSignatureResolver -> SignaturePropagator 2015-11-27 23:34:47 +03:00
Alexander Udalov
57e75a1b28 Drop deprecated code in ModuleMapping, add TODO 2015-11-27 23:34:46 +03:00
Alexander Udalov
6345d0e6d3 Remove obsolete FallbackPaths 2015-11-27 23:34:46 +03:00
Alexander Udalov
bcdea8ef10 Minor, rename dangerous getInternalName(), remove unused
FQ name can only be converted to an internal name correctly if it represents a
top-level class
2015-11-27 23:34:45 +03:00
Alexander Udalov
7b3b157707 Remove PropertyMetadata from project and bytecode, migrate code to KProperty 2015-11-27 23:34:34 +03:00
Alexander Udalov
fb61dc7e81 Fix potential deadlock on lazy vs storage manager 2015-11-27 21:41:26 +03:00
Alexander Udalov
caa6cdb3f7 Remove obsolete code in KotlinBuilder, rename PackageClassUtils 2015-11-27 21:41:26 +03:00
Alexander Udalov
8594cfca46 Remove kotlin.jvm.internal.KotlinPackage and corresponding code 2015-11-27 21:22:04 +03:00
Alexander Udalov
ad6888dac6 Drop KPackage and deprecated stuff from Reflection/ReflectionFactory 2015-11-27 21:22:04 +03:00
Alexander Udalov
8a5b63a669 Inline PLATFORM_TYPES = true, simplify signature propagation 2015-11-27 21:22:04 +03:00
Alexander Udalov
417a27f3b1 Minor, get rid of AlternativeMethodSignature in irrelevant place 2015-11-27 21:22:04 +03:00
Alexander Udalov
fa34ebac4a Delete KotlinSignature and corresponding code 2015-11-27 21:22:04 +03:00
Alexander Udalov
d472154ea7 Remove KotlinSignature from tests, spec, delete tests with errors 2015-11-27 21:22:04 +03:00
Alexander Udalov
9cdeac7839 Fix exception in tower resolution on inner class constructors 2015-11-27 21:20:53 +03:00
Ilya Chernikov
96a9634ace using mapNotNull insteand of map + filterNotNull 2015-11-27 19:04:05 +01:00
Ilya Chernikov
fd81063134 Renaming daemon main object, so it is better recognizable in jps/ps output 2015-11-27 19:04:05 +01:00
Ilya Chernikov
c76bec51a0 Moving daemon files, renaming namespaces, modules and jar 2015-11-27 19:04:04 +01:00
Ilya Chernikov
312e931582 Code cleanup - removing public modifier, obsolete constants, fixing typos, etc. 2015-11-27 19:04:03 +01:00
Ilya Chernikov
9869fc4305 fixes after review 2015-11-27 19:04:03 +01:00
Ilya Chernikov
231949803a fixing tests 2015-11-27 19:04:02 +01:00
Ilya Chernikov
336f6de2ee Passing a log file name in logger-compatible format on Windows in tests, fixes problems with daemon tests on Windows 2015-11-27 19:04:01 +01:00
Ilya Chernikov
d3797619af Some basic daemon lifetime tests 2015-11-27 19:04:01 +01:00
Ilya Chernikov
0c27bb7170 implementing equals and hashCode for CallResult classes, making get polymorphic via virtual method 2015-11-27 19:04:00 +01:00
Ilya Chernikov
6867023274 Cleanup after compilation in daemon 2015-11-27 19:04:00 +01:00
Ilya Chernikov
85b487cd84 Implementing graceful shutdown, fattest daemon elections and some minor refactorings in daemon and client behavior 2015-11-27 19:03:59 +01:00
Ilya Chernikov
2612ce56b4 Implementing new logic of choosing the daemon, startup and shutdown, some related refactorings and fixes 2015-11-27 19:03:58 +01:00
Ilya Chernikov
375679677c Implementation of the new daemon management without inter-daemon elections and with few other simplifications 2015-11-27 19:03:58 +01:00
Yan Zhulanow
1643441fdb Minor: fix quickfix tests (get/set functions are now created correctly, merge issue) 2015-11-27 20:30:19 +03:00
Mikhail Glukhikh
8788d8e2d5 Call chains: receiver data flow info is dropped for extensions with nullable receiver #KT-10056 Fixed 2015-11-27 20:23:25 +03:00
Mikhail Glukhikh
97cdaba8b0 Refactoring of getQualifiedExpressionTypeInfo 2015-11-27 17:39:56 +03:00
Mikhail Glukhikh
ea4f167091 Calls to non-@JvmStatic protected members of companion objects from subclasses are now errors (unsupported yet) 2015-11-27 15:58:38 +03:00
Yan Zhulanow
e39ca63bcc Android Extensions: Fix Android JPS plugin 2015-11-27 15:51:11 +03:00
Yan Zhulanow
2cbf9d7e9b Add empty Android Extensions plugin 2015-11-27 15:51:11 +03:00
Yan Zhulanow
3d6bdd14b2 Minor: fix AbstractAndroidSyntheticPropertyDescriptorTest test, sort descriptors 2015-11-27 15:51:11 +03:00
Yan Zhulanow
d21985493e Mark functions with 'operator' in JS stdlib 2015-11-27 15:51:11 +03:00
Yan Zhulanow
9d1af5a17e Fix tests: "infix modifier required" and "operator modifier required" errors 2015-11-27 15:51:11 +03:00
Yan Zhulanow
a3ff3ffc45 Fix tests: "Placing function type parameters after the function name" error 2015-11-27 15:51:11 +03:00
Yan Zhulanow
3001af56c9 Mark SAM adapter functions as infix or operator if the original function is marked as such 2015-11-27 15:51:11 +03:00
Yan Zhulanow
b7fcbff75c Some deprecation warnings are now errors 2015-11-27 15:51:11 +03:00
Yan Zhulanow
278f1cd6ef Fix "Placing function type parameters after the function name" errors in project 2015-11-27 15:51:11 +03:00
Yan Zhulanow
87799e9b6b Fix "operator modifier required" errors in project 2015-11-27 15:51:11 +03:00
Yan Zhulanow
46ac3571d5 Fix "infix modifier required" errors in project 2015-11-27 15:51:11 +03:00
Zalim Bashorov
d1c5bd4526 Minor: remove unused parameter from LookupTracker.record 2015-11-27 15:08:06 +03:00
Zalim Bashorov
7faa886d26 Minor: add more logging in KotlinBuilder 2015-11-27 15:07:57 +03:00
Michael Nedzelsky
5f13dc31f1 ConstantExpressionEvaluator: code cleanup, get rid of weak warnings 2015-11-27 14:29:47 +03:00
Michael Nedzelsky
9aae5e6457 fix KT-9553 Invalid const initializers must be compile-time errors
#KT-9553 Fixed
2015-11-27 14:29:44 +03:00
Nikolay Krasko
18f892892c Update to idea 143.1015.7 2015-11-26 22:16:43 +03:00
Alexey Sedunov
e37eea2b2d Create from Usage: Add infix modifier to functions generated from binary expressions
#KT-10184 Fixed
2015-11-26 21:22:20 +03:00
Alexey Sedunov
5b90c09ab1 Create from Usage: Add operator modifier to indexing get/set functions
#KT-10185 Fixed
2015-11-26 21:22:18 +03:00
Alexey Sedunov
7a40239e64 Introduce Variable: Support destructuring declarations
#KT-6262
2015-11-26 21:22:16 +03:00
Alexey Sedunov
09f8aafb77 Change Signature: Drop 'override' keyword when changing function/property, but not its overriden declarations
#KT-9470 Fixed
2015-11-26 21:22:15 +03:00
Michael Nedzelsky
2fa34ae170 KT-9883 prohibit using spread operator for nullable value
#KT-9883 Fixed
2015-11-26 19:42:34 +03:00
Stanislav Erokhin
63fa71606f Create new Tower Resolve 2015-11-26 16:21:49 +03:00
Stanislav Erokhin
c08545359e Minor. Changes after review 2015-11-26 16:21:47 +03:00
Stanislav Erokhin
ebc3ccbb2a Fixed scope kind for default values 2015-11-26 16:21:47 +03:00
Stanislav Erokhin
a502405779 Fixed scope creations for properties scopes. 2015-11-26 16:21:46 +03:00
Stanislav Erokhin
67abdd755f Created kind in LexicalScope 2015-11-26 15:40:00 +03:00
Stanislav Erokhin
f06f557dae Minor. introduce CallResolver.TaskContextForMigration 2015-11-26 15:38:17 +03:00
Michael Bogdanov
2d3d526ccd Fix for KT-10110: ClassReader$BadClassFile undeclared type variable: E
#KT-10110 Fixed
2015-11-26 13:29:30 +03:00
Dmitry Petrov
9ccb1fd506 KT-9601, KT-10103:
Chose maximally specific function in callable reference
 #KT-9601 Fixed
 #KT-10103 Fixed
2015-11-26 12:52:12 +03:00
Natalia Ukhorskaya
67dd97b918 Mark bridge methods in lambdas classes as synthetic
#KT-10101 Fixed
2015-11-26 11:39:19 +03:00
Natalia Ukhorskaya
cb80a3e83a Write lineNumber for function literal with void return value
#KT-9865 Fixed
2015-11-26 11:39:18 +03:00
Natalia Ukhorskaya
4a2e4312ea Write lineNumber when inline function result is written to property 2015-11-26 11:39:17 +03:00
Natalia Ukhorskaya
f40e3857fa KotlinOutputParser: do not amend next line to warnings
#KT-9678 Fixed #KT-10129 Fixed
2015-11-26 11:39:16 +03:00
Natalia Ukhorskaya
0d80b4f8b0 Fix compatibility with AS 2.0 (for master branch) 2015-11-26 11:39:16 +03:00
Natalia Ukhorskaya
48027f5fb5 Fix compatibility with AS 2.0
#KT-10153 Fixed
2015-11-26 11:39:15 +03:00
Ilya Gorbunov
ca4bdd23e0 Provide flatten for sequence of iterables.
#KT-9977
2015-11-26 00:45:15 +03:00
Ilya Gorbunov
4181142400 Deprecate sequenceOf(Progression). 2015-11-26 00:45:15 +03:00
Ilya Gorbunov
8440c196d1 GeneratorSequence: do not get first value, until it's requested by iterator, allow initialValue to be null and return EmptySequence in this case.
#KT-9153 Fixed
2015-11-26 00:45:15 +03:00
Nikolay Krasko
29a9ba64ca Move creating sink for extra diagnostics into generation state to take responsibility for correct diagnostics suppression 2015-11-26 00:24:38 +03:00
Nikolay Krasko
652eeca872 Allow suppress additional diagnostics for JVM target
Suppression doesn't work without resolved annotation in binding context.
2015-11-26 00:24:38 +03:00
Nikolay Krasko
5bb141381b Refactoring: replace condition with function 2015-11-26 00:24:38 +03:00
Nikolay Krasko
7622e90438 Filter diagnostics during creating cache 2015-11-26 00:24:38 +03:00
Nikolay Krasko
7baf58b5de Refactoring: mark all fields in PositionStrategies with @JvmFileld and fix warnings 2015-11-26 00:24:38 +03:00
Nikolay Krasko
d80c5ec7f7 Minor: clean warnings in ErrorsJvm 2015-11-26 00:24:38 +03:00
Nikolay Krasko
03fe5125cb Minor: remove warnings 2015-11-26 00:24:38 +03:00
Stanislav Erokhin
28226906da Minor. removed usages ExpressionReceiverImp 2015-11-25 20:53:40 +03:00
Stanislav Erokhin
f0cefd5583 Create hacks for magic annotations NoInfer, OnlyInputTypes and LowPriorityInOverloadResolution. 2015-11-25 20:53:39 +03:00
Ilya Gorbunov
1be4f795ed Fix testData after deprecated toLinkedList and joinToString were dropped. 2015-11-25 18:35:04 +03:00
Ilya Gorbunov
229504f42d Byte iterator only available for buffered input streams,
InputStream.buffered() returns BufferedInputStream.
2015-11-25 18:35:03 +03:00
Ilya Gorbunov
c848ebdc52 Deprecate complex delegation to map. 2015-11-25 18:35:03 +03:00
Ilya Gorbunov
77f69abca4 Drop deprecated toGenerator and toLinkedList. 2015-11-25 18:35:02 +03:00
Ilya Gorbunov
c485eda1c2 Make zip operation symmetrical for CharSequences (missed to generalize parameter before). 2015-11-25 18:35:01 +03:00
Ilya Gorbunov
a05d0a3c49 Drop hidden declarations provided for binary compatibility in beta2 2015-11-25 18:35:00 +03:00
Ilya Gorbunov
542ab6ae34 Deprecate String.toCharList to use toList instead. 2015-11-25 18:34:58 +03:00
Mikhail Glukhikh
a53ad098d6 Codegen test for smart cast to Nothing? 2015-11-25 18:26:25 +03:00
Mikhail Glukhikh
9a6d4c32c5 More accurate handling of "always null" for receivers 2015-11-25 18:26:15 +03:00
Mikhail Glukhikh
89e56093a2 Limit "always null" scope: only for !!, is and dot; senseless comparison rolled back; "smart constant" information for nulls #KT-10029 Fixed 2015-11-25 18:26:08 +03:00
Dmitry Petrov
db42941586 Allow annotation constructor calls
in default parameter value expressions of anonymous classes
(if it is not a compile-time constant, it will be reported separately).

 #KT-10136 Fixed
2015-11-25 18:06:08 +03:00
Ilya Gorbunov
73e3a252d3 JS: ArrayList.addAll must return Boolean
#KT-7809
2015-11-25 17:19:00 +03:00
Ilya Gorbunov
b253ace198 Test different return results of collection mutation operations. 2015-11-25 17:18:59 +03:00
Ilya Gorbunov
f17316f4b4 Provide removeAll and retainAll with predicate for MutableIterables and MutableList.
#KT-8760 Fixed
2015-11-25 17:18:58 +03:00
Ilya Gorbunov
5ab2f47101 Make MutableCollection extensions return Boolean indicating whether the operation resulted collection to be changed. 2015-11-25 17:18:58 +03:00
Sergey Mashkov
2f04f30063 KT-10114 Maven: plugin doesn't recognize sourceDirs configured in the goal configuration 2015-11-25 16:45:48 +03:00
Mikhail Glukhikh
46f4191185 Unnecessary safe call is now reported in CallExpressionResolver, removed code duplication for safe call receivers
See also KT-10175
2015-11-25 16:19:48 +03:00
Dmitry Petrov
da90c21284 Warn about comma-separated conditions in when without argument.
See KT-5143.
2015-11-25 15:39:23 +03:00
Mikhail Glukhikh
b9e9c47b28 Using of enum entries as types is now forbidden #KT-5401 Fixed 2015-11-25 13:33:16 +03:00
Alexey Sedunov
736813c76a Introduce Lambda Parameter: Support extraction of string template fragments 2015-11-24 20:40:26 +03:00
Alexey Sedunov
c82d431cff Psi Unifier: Match unifier parameters by declaration instead of descriptor (since descriptor identity may change in the new context) 2015-11-24 20:40:22 +03:00
Alexey Sedunov
1b162e0294 Introduce Parameter: Support extraction of string template fragments 2015-11-24 20:40:21 +03:00
Alexey Sedunov
6e8acc6453 Psi Unifier: Do not unify parameters with block expressions 2015-11-24 20:40:20 +03:00
Alexey Sedunov
741489f4a5 Extract Function/Introduce Property: Support extraction of string template fragments 2015-11-24 20:40:18 +03:00
Alexey Sedunov
f4b4b023a3 Introduce Variable: Support extraction of string template fragments
#KT-2089 Fixed
2015-11-24 20:40:15 +03:00
Alexey Sedunov
7dbcceee79 Minor: Replace PsiFile with KtFile in utility functions 2015-11-24 20:40:14 +03:00
Alexey Sedunov
c80826aab4 Minor: Allow passing explicit type to KotlinNameSuggester.suggestByExpressionAndType 2015-11-24 20:40:12 +03:00
Alexey Sedunov
94f58c4b3d Minor: Drop Match class. Move range to UnificationResult.Matched 2015-11-24 20:40:10 +03:00
Alexey Sedunov
2d57aafef3 Misc: Render text of lambdas and functional expressions in "Extract..." popups 2015-11-24 20:40:08 +03:00
Alexey Sedunov
5889971d62 Introduce Variable: Allow choosing extraction scope for expressions in the lambda body
#KT-7720 Fixed
2015-11-24 20:40:07 +03:00
Dmitry Jemerov
70049171cd use Kotlin call hierarchy provider only for Kotlin elements, to ensure that it does not interfere with standard Java features of IntelliJ IDEA 2015-11-24 16:53:42 +01:00
Michael Bogdanov
3da463be27 Fix for KT-10137: Internal error: couldn't inline method call on lambda taking extension function parameter
#KT-10137 Fixed
2015-11-24 16:32:06 +03:00
Michael Bogdanov
a19bdaeb23 Fix duplicate field error on inlining several lambdas 2015-11-24 16:32:06 +03:00
Michael Bogdanov
d3f7e9f74b Rename this$0 on decl site 2015-11-24 16:32:06 +03:00
Michael Bogdanov
d4369c1df9 Keep inline transformation invariant: all captured parameters stored in topmost lambda/object
Fix for KT-8668: java.lang.ClassFormatError: Duplicate field name&signature (based on property access)

  #KT-8668 Fixed
2015-11-24 16:32:05 +03:00
Zalim Bashorov
93eb09a654 Return platform independent path in IncrementalCacheImpl::getClassFilePath
Fix ExperimentalIncrementalJpsTestGenerated.PureKotlin.testFunctionBecameInline on Windows.
2015-11-24 16:05:46 +03:00
Alexey Sedunov
b6a5d30469 Inspections: Forbid equals/hashCode inspection on object with explicit supertypes
#KT-9778 Fixed
2015-11-24 14:03:48 +03:00
Alexey Sedunov
d652623f90 J2K: KotlinIntroduceVariableHandler 2015-11-24 14:03:46 +03:00
Alexey Sedunov
a591c27dbf J2K: KotlinIntroduceVariableHandler (rename .java -> .kt) 2015-11-24 14:03:43 +03:00
Alexey Sedunov
b75665a96a Misc: Do not use resolved call of outer expression if current call expression has no callee
#KT-10105 Fixed
2015-11-24 14:03:42 +03:00
Michael Nedzelsky
a01a18cb1a fix test data for K2JsCliTest 2015-11-24 13:30:16 +03:00
Valentin Kipyatkov
f98b354bc1 KT-10005 Java to Kotlin: do not convert type cast to cast to nullable if it should not be null
#KT-10005 Fixed
2015-11-24 12:17:51 +03:00
Valentin Kipyatkov
d78390e489 KT-10004 Java to Kotlin: array.length is converted to array.size() instead of array.size
#KT-10004 Fixed
2015-11-24 12:17:51 +03:00
Valentin Kipyatkov
4905275a30 Renames 2015-11-24 12:16:58 +03:00
Valentin Kipyatkov
fc34557a7a Refactored to be more type safe 2015-11-24 12:16:57 +03:00
Dmitry Petrov
931463af0d - Fix code generation for inlined String::plus
#KT-10131 Fixed.
- Make extra factory methods in IntrinsicMethod protected.
This ensures that any of them can be properly overridden.
2015-11-24 12:09:34 +03:00
Michael Nedzelsky
2b4868c3ce js: do not generate files for empty string tables 2015-11-23 22:32:47 +03:00
Michael Nedzelsky
8ac3b1441a remove idea-js module 2015-11-23 22:32:44 +03:00
Michael Nedzelsky
a7636126a1 fix tests for js 2015-11-23 22:32:40 +03:00
Michael Nedzelsky
ac8dd1262c generate kjsm-files for js-stdlib and during compilation via maven or gradle 2015-11-23 22:32:37 +03:00
Michael Nedzelsky
c80c33efb6 add kjsm option for kotlin js command line compiler 2015-11-23 22:32:32 +03:00
Nikolay Krasko
24e473f47b Minor: put type parameters before function name 2015-11-23 22:03:32 +03:00
Nikolay Krasko
d635f6f399 Run builtins resolve under non-cancelable progress indicator 2015-11-23 22:03:32 +03:00
Nikolay Krasko
a62e6f7737 Refactoring: extract ObservableStorageManager from LoggingStorageManager 2015-11-23 22:03:32 +03:00
Nikolay Krasko
58dbb1ad53 Rethrow stored process canceled exception as a new one with both stacks 2015-11-23 22:03:32 +03:00
Nikolay Krasko
4aa7314600 Update to Idea 143.869.1 2015-11-23 22:03:32 +03:00
Nikolay Krasko
c9e1671572 LazyThreadSafetyMode.NONE is not safe to use in multithreading environment (EA-76205) 2015-11-23 22:03:32 +03:00
Valentin Kipyatkov
606a34283d Use lookup elements from completion for variables in live templates 2015-11-23 20:31:34 +03:00
Valentin Kipyatkov
f44bbfe4cd Moved test data to idea-live-templates too 2015-11-23 20:31:33 +03:00
Valentin Kipyatkov
b8dadeb4cc Moved live templates support into separate module 2015-11-23 20:31:33 +03:00
Valentin Kipyatkov
c6df1b6dce KT-9747 Live template macro "kotlinSuggestVariableName()" is wrong
#KT-9747 Fixed
2015-11-23 20:31:33 +03:00
Valentin Kipyatkov
6bd723da11 Templates "ifn" and "inn" to use kotlinVariable() instead of suggestVariableName() 2015-11-23 20:31:33 +03:00
Valentin Kipyatkov
d4ba15fd90 "kotlinVariable()" macro to filter by expected type, dropped IterableVariableMacro 2015-11-23 20:31:33 +03:00
Valentin Kipyatkov
7dc6aff2e6 Moved ExpectedInfos and related classes into idea.core 2015-11-23 20:31:32 +03:00
Valentin Kipyatkov
0e740dc0a6 IterableVariableMacro to honor smart casts 2015-11-23 20:31:32 +03:00
Valentin Kipyatkov
51647853f3 Refactored BaseKotlinVariableMacro to not create IterableTypesDetector in all cases 2015-11-23 20:31:32 +03:00
Valentin Kipyatkov
566805fe93 Rewritten BaseKotlinVariableMacro 2015-11-23 20:31:32 +03:00
Valentin Kipyatkov
2fdd1ade26 Refactored utlity for checking isVisible 2015-11-23 20:31:31 +03:00
Valentin Kipyatkov
3d2f878885 Minor code simplifications + no i18n 2015-11-23 20:31:31 +03:00
Valentin Kipyatkov
bfddba7789 Converted to Kotlin 2015-11-23 20:31:31 +03:00
Mikhail Glukhikh
dc60c62781 Enum.values is now deprecated but Enum.values() is no more deprecated 2015-11-23 17:29:36 +03:00
Mikhail Glukhikh
6e733f708e DeclarationsChecker: converted to Kt + EffectiveVisibility related refactoring 2015-11-23 17:29:29 +03:00
Mikhail Glukhikh
fe2fb7e5a5 DeclarationsChecker: rename to Kt 2015-11-23 17:29:26 +03:00
Mikhail Glukhikh
1c609663a4 Private setters are now deprecated for open properties 2015-11-23 17:29:23 +03:00
Mikhail Glukhikh
74976911a2 Diagnostic for "private setter in abstract property" renamed 2015-11-23 17:29:20 +03:00
Mikhail Glukhikh
284c1b2ec5 Local sealed classes are deprecated 2015-11-23 17:29:16 +03:00
Alexander Udalov
f98703dcdb Minor, fix URL in JvmName kdoc 2015-11-23 14:56:50 +03:00
Dmitry Petrov
048e96ef6a Fix safe call code generation for ranges. 2015-11-23 10:34:08 +03:00
Ilya Gorbunov
5aa415c609 MutableMap.iterator() returns MutableIterator. 2015-11-21 07:09:07 +03:00
Ilya Gorbunov
21f509511c Fix CharSequence parameter names in testData 2015-11-21 07:09:05 +03:00
Ilya Gorbunov
f2ce849f18 Fix parameter names in testData 2015-11-21 07:09:03 +03:00
Ilya Gorbunov
ab3e6258ac Update testdata for LoadBuiltinsTest 2015-11-21 07:09:02 +03:00
Ilya Gorbunov
0dbbb6c19c Rename operand parameter of plus and minus for collections 2015-11-21 00:54:37 +03:00
Ilya Gorbunov
7c726bcaf9 Rename parameters: ClosedRange.contains 2015-11-21 00:54:36 +03:00
Ilya Gorbunov
9c59045f48 Rename parameters: CharSequence 2015-11-21 00:54:35 +03:00
Ilya Gorbunov
2ed277a863 Add upperbound constraint Comparable<T> to toSortedSet() and sortedMapOf()
Provide an overload of toSortedSet() with Comparator<in T> parameter
#KT-10115 Fixed
2015-11-21 00:54:33 +03:00
Ilya Gorbunov
f8f257fa44 Minor: fix infix extension after parameter renamed 2015-11-21 00:54:32 +03:00
Ilya Gorbunov
b61bef324d Make Char.category and directionality properties instead of functions.
Provide contains(Char) operator for CharCategory.
2015-11-21 00:54:30 +03:00
Ilya Gorbunov
775755dfac Introduce String.toCharArray() instead of String.getChars()
Make special method conversion for java.lang.String.getChars() in J2K
2015-11-21 00:54:29 +03:00
Ilya Gorbunov
bf3a77b736 Deprecate Regex.matcher() with ERROR and provide the replacement. 2015-11-21 00:54:28 +03:00
Ilya Gorbunov
eb2a976f32 Minor: use EnumSet to hold options of regex. 2015-11-21 00:54:26 +03:00
Ilya Gorbunov
7035c300d0 Rename parameters of a thread function. 2015-11-21 00:54:25 +03:00
Ilya Gorbunov
47b3859641 Deprecate monitorEnter and monitorExit not to be used from user code. 2015-11-21 00:54:23 +03:00
Ilya Gorbunov
9d24f1d1cf Delegates.mapVal and mapVar preserve type of the receiver to when calling default value lambda. 2015-11-21 00:54:22 +03:00
Ilya Gorbunov
0f70def3db StdLib: Rename method parameters (generated code) 2015-11-21 00:54:20 +03:00
Ilya Gorbunov
7e7a55bbe4 StdLib: Rename method parameters (Strings) 2015-11-21 00:54:19 +03:00
Ilya Gorbunov
bbe6a3c7ca StdLib: Rename method parameters (Maps) 2015-11-21 00:54:18 +03:00
Ilya Gorbunov
a3cd86d2cd StdLib: Rename method parameters (Collections) 2015-11-21 00:54:16 +03:00
Ilya Gorbunov
c3190bbae3 Migrate type parameter list syntax. 2015-11-21 00:54:15 +03:00
Ilya Gorbunov
16c5289e6c Stdlib generators DSL: allow to use documentation family extensions inside doc { } without importing them first. 2015-11-21 00:54:13 +03:00
Ilya Gorbunov
a426c7879f Apply infix modifier on functions from stdlib where appropriate. 2015-11-21 00:54:12 +03:00
Ilya Gorbunov
794819cea2 StdLib cleanup: make calls non-infix 2015-11-21 00:54:10 +03:00
Ilya Gorbunov
88e48380af StdLib cleanup, deprecated symbol usage: Throwable.getMessage 2015-11-21 00:54:09 +03:00
Ilya Gorbunov
dadcdb5771 StdLib cleanup, deprecated symbol usage: List and Map members 2015-11-21 00:54:08 +03:00
Ilya Gorbunov
838109c302 StdLib cleanup, deprecated symbol usage: replace end with endInclusive 2015-11-21 00:54:06 +03:00
Ilya Gorbunov
07654eb82b StdLib cleanup, deprecated symbol usage: size() and length() 2015-11-21 00:54:05 +03:00
Ilya Gorbunov
21e2e68ed4 Replace reversed() with apply { reverse() } or asReversed() 2015-11-21 00:54:03 +03:00
Ilya Gorbunov
32151c077e Replace map { ... }.filterNotNull() with mapNotNull { ... } 2015-11-21 00:54:01 +03:00
Ilya Gorbunov
5b02a59cb7 Fix JvmStatic applicability diagnostics test after COMPANION_OBJECT became distinct KotlinTarget 2015-11-21 00:43:35 +03:00
Dmitry Jemerov
f20f15ec46 resolve KDoc references to members of companion object 2015-11-20 18:22:08 +01:00
Dmitry Jemerov
6adfb96154 AbstractJetReference -> AbstractKtReference 2015-11-20 18:22:07 +01:00
Dmitry Jemerov
bfca85db52 don't highlight multi-resolved references in KDoc as unresolved
#KT-9413 Fixed
2015-11-20 18:22:07 +01:00
Dmitry Jemerov
742830f815 resolve KDoc references in static scope of classes as well
#KT-9946 Fixed
2015-11-20 18:22:06 +01:00
Dmitry Jemerov
d709aa7db7 don't check for Kotlin plugin updates if IDEA update checks are turned off in the settings 2015-11-20 18:22:06 +01:00
Dmitry Jemerov
a80930bf15 code cleanup can replace infix calls to library functions with ordinary calls
#KT-9976 Fixed
2015-11-20 18:22:05 +01:00
Yan Zhulanow
efa2e98541 Do not launch Android Extensions JPS plugin if the Android IDEA plugin is disabled, or the module is not an Android JPS module 2015-11-20 18:33:18 +03:00
Mikhail Glukhikh
f81a5c06ea Protected in allowed in companion objects but forbidden in other objects, relevant test fixes 2015-11-20 16:32:59 +03:00
Valentin Kipyatkov
fdc7c75f5b Fixed "Import member" intention shown in the wrong place 2015-11-20 16:06:34 +03:00
Valentin Kipyatkov
bf99f91d83 Fixed EA-75877 2015-11-20 16:06:34 +03:00
Dmitry Jemerov
30084dff9d ensure that the short name of the Kotlin unused import inspection does not clash with Java (KT-10046) 2015-11-20 13:54:40 +01:00
Mikhail Glukhikh
c84b22396b Diagnostic 'final function with no body' deleted because it's redundant 2015-11-20 15:43:25 +03:00
Mikhail Glukhikh
b5610eebae Diagnostic 'final property in interface' deleted because it's redundant 2015-11-20 15:43:22 +03:00
Mikhail Glukhikh
cd1b58f2eb Final in interfaces: deprecation ---> error + relevant test fixes 2015-11-20 15:43:19 +03:00
Pavel V. Talanov
56af3a0af4 Increase stub version after changes to parser (script refactoring)
better late than never :(
2015-11-20 15:38:40 +03:00
Valentin Kipyatkov
603bcaa039 KT-10006 Parameter Info does not work for smart cast receiver
#KT-10006 Fixed
2015-11-20 15:36:31 +03:00
Mikhail Glukhikh
4e44466cf9 Exposed visibility deprecation warnings made errors + relevant test fixes 2015-11-20 15:21:01 +03:00
Mikhail Glukhikh
e8e5d700d2 Effective visibility source code fix: frond-end 2015-11-20 15:20:38 +03:00
Mikhail Glukhikh
e43a45755e Source code fix: no protected in object 2015-11-20 09:56:23 +03:00
Mikhail Glukhikh
3d75ebb859 Effective visibility source code fix: jps plugin 2015-11-20 09:56:19 +03:00
Pavel V. Talanov
dbd49c37c1 Psi: Introduce KtScriptInitializer, a separate entity for script initializers which are quite a bit different from class initializers 2015-11-19 22:57:07 +03:00
Pavel V. Talanov
321364102a KtAnonymousInitializer: make it an interface with KtClassInitializer inheritor 2015-11-19 22:57:06 +03:00
Pavel V. Talanov
bc2a65b2ea J2K KtAnonymousInitializer in one go
Rip history
2015-11-19 22:57:05 +03:00
Pavel V. Talanov
6bb89021dd Rename: KtClassInitializer -> KtAnonymousInitializer 2015-11-19 22:57:05 +03:00
Pavel V. Talanov
917b8bfe66 Minor, repl: clean up code 2015-11-19 22:57:04 +03:00
Pavel V. Talanov
bdc64f322c Add script codegen tests with package statements
Tests codegen annotating visitor
2015-11-19 22:57:03 +03:00
Pavel V. Talanov
ae5c95038b Place repl specific stuff of GenerationState into a separate entity
Add even more hacks to tell if the line has useful result to display
2015-11-19 22:57:03 +03:00
Pavel V. Talanov
405cfa439d Repl test: behave closer to real repl 2015-11-19 22:57:02 +03:00
Pavel V. Talanov
ad58617753 Script refactoring, codegen tests: change test data according to semantics change
Add some new tests for uncovered cases
2015-11-19 22:57:01 +03:00
Pavel V. Talanov
6563830584 Script refactoring, backend: scripts are classes now, remove/refactor 'special code' dealing with scripts 2015-11-19 22:57:01 +03:00
Pavel V. Talanov
d037068bba Turn off duplicateJvmSignature reporting for scripts until light classes are implemented 2015-11-19 22:56:58 +03:00
Pavel V. Talanov
2b955bc6ec Script refactoring, frontend tests: changes according to semantic changes in scripts
Add checker tests for scripts
2015-11-19 22:56:57 +03:00
Pavel V. Talanov
efa4bf1d74 Script refactoring, frontend: Treat scripts as classes (as opposed to function bodies)
ScriptDescriptor implements ClassDescriptor
Scripts are accessible in IDE via stub index
Replace special treatment of scripts with generic mechanism in several cases
Scripts to longer generate 'rv' property for storing result value (changes in repl required)
2015-11-19 22:56:57 +03:00
Pavel V. Talanov
aebcebe8ca Add simple checker tests for scripts 2015-11-19 22:56:55 +03:00
Pavel V. Talanov
daa1a08213 Script refactoring, parser: wrap statements in script as if they are init blocks of a class 2015-11-19 22:56:54 +03:00
Pavel V. Talanov
e45585be21 Make KtScript stubbed and add KotlinScriptFqnIndex 2015-11-19 22:56:53 +03:00
Michael Nedzelsky
aa8f3df9a8 fix KT-10064 Regression: Error with multiple main functions within a single package
#KT-10064 Fixed
2015-11-19 19:59:27 +03:00
Yan Zhulanow
49f0953898 Remove obsolete JPS extension declaration in Android plugin (KT-10096) 2015-11-19 19:55:28 +03:00
Dmitry Petrov
42b587b0d5 Prohibit callable references to annotation class constructors.
See KT-4391.
2015-11-19 18:31:20 +03:00
Nikolay Krasko
0261a3fbbd Substitute version in bare plugin on buildserver 2015-11-19 16:08:04 +03:00
Nikolay Krasko
ee3100dc79 Relay plugins with version replacing 2015-11-19 16:08:04 +03:00
Nikolay Krasko
642ac2ec5e Minor: rename JetParserDefinition to KotlinParserDefinition in comments 2015-11-19 16:08:03 +03:00
Michael Nedzelsky
ea4470a16a fix KT-10068 JsLibraryStdDetectionUtil does not use caching through JarUserDataManager
#KT-10068 Fixed
2015-11-19 15:34:31 +03:00
Alexander Udalov
8fd7190992 Support ConstraintSystem.Builder.add, untested and unused at the moment 2015-11-19 14:40:01 +03:00
Natalia Ukhorskaya
6149f9f2bb Minor: extract method 2015-11-19 14:01:25 +03:00
Natalia Ukhorskaya
f872b378d0 Create KotlinStackFrame only for kotlin classes with inline functions
#KT-10092 Fixed
2015-11-19 14:01:23 +03:00
Natalia Ukhorskaya
35ccfef040 Add test for navigation from stacktrace at inline function with object 2015-11-19 12:07:03 +03:00
Natalia Ukhorskaya
6867165aba Fix navigation from stack trace to inline function calls in inner classes 2015-11-19 12:07:02 +03:00
Natalia Ukhorskaya
3498038db1 Support navigation to library inline functions from stack trace 2015-11-19 12:07:01 +03:00
Natalia Ukhorskaya
214ae54c69 Rewrite old exception filter test with library sources 2015-11-19 12:07:00 +03:00
Natalia Ukhorskaya
6c0a68cf66 Rewrite some old exception filter tests 2015-11-19 12:06:59 +03:00
Natalia Ukhorskaya
9f0b52f030 Navigate to inline function from stackTrace
#KT-8066 Fixed
2015-11-19 12:06:58 +03:00
Natalia Ukhorskaya
93ccc08e3d Convert KotlinExceptionFilter to kotlin 2015-11-19 12:06:58 +03:00
Natalia Ukhorskaya
4506a73112 Rename .java to .kt 2015-11-19 12:06:57 +03:00
Natalia Ukhorskaya
c0f67e497b Run Clean up on eval4j module 2015-11-19 12:06:56 +03:00
Natalia Ukhorskaya
fddcd9b50f Workaround for bug in jdi: ClassCastException in invoke method with Object[] param using Interface[] argument 2015-11-19 12:06:55 +03:00
Natalia Ukhorskaya
2b646369f3 Minor: fix warning 2015-11-19 12:06:54 +03:00
Natalia Ukhorskaya
6e638bd30a Debugger: show line content instead of method content for breakpoint at line in drop-donw list 2015-11-19 12:06:54 +03:00
Natalia Ukhorskaya
35d7d7b789 Minor: rename class 2015-11-19 12:06:53 +03:00
Natalia Ukhorskaya
7e5e749735 Debugger: remove while loop
#KT-10043 Fixed
2015-11-19 12:06:52 +03:00
Dmitry Petrov
9a736bf874 Use platform-dependent filter for callable package members
before checking for overloads:
filter deserialized callable package members by implementation class files
for callable package members from source.

 #KT-10051 Fixed
2015-11-19 09:51:21 +03:00
Alexander Udalov
6367e5e133 Fix deadlock on static initializers of KProperty implementations
#KT-10041 Fixed
2015-11-19 02:57:27 +03:00
Yan Zhulanow
39e6c6e500 Android Extensions: fix cli tests 2015-11-19 01:35:58 +03:00
Yan Zhulanow
148ec829a3 Minor: simplify SimpleNameReferenceExtension a bit 2015-11-19 01:35:58 +03:00
Yan Zhulanow
c9c740c66b Android Extensions: IDEA versions replication is not needed anymore 2015-11-19 01:35:58 +03:00
Yan Zhulanow
ba8e3785cf Android Extensions: Update Android JPS plugin 2015-11-19 01:35:58 +03:00
Yan Zhulanow
6caaa305bc Android extensions: Do not cache ViewStub widgets, do not cast it automatically 2015-11-19 01:35:58 +03:00
Yan Zhulanow
3f97b384ef Autoimport items from kotlinx.android.synthetic on completion 2015-11-19 01:35:58 +03:00
Yan Zhulanow
0dada9d13a Android extensions: Fix onDestroy in Fragments 2015-11-19 01:35:58 +03:00
Yan Zhulanow
10b7b069b4 Pack Android extensions inside the Kotlin IDEA plugin 2015-11-19 01:35:58 +03:00
Yan Zhulanow
422e11ea9a Fix Android Extensions tests (descriptors) 2015-11-19 01:35:58 +03:00
Yan Zhulanow
c7f1fd74a1 Create descriptors directly in Android Extensions (IDEA plugin) 2015-11-19 01:35:58 +03:00
Yan Zhulanow
d88c2249b8 Create descriptors directly in Android Extensions (compiler plugin) 2015-11-19 01:35:58 +03:00
Yan Zhulanow
3d8df88ab2 Fix some misc tests (Android variants) 2015-11-19 01:35:58 +03:00
Yan Zhulanow
9112dd632a Support Android variants in IDE 2015-11-19 01:35:58 +03:00
Yan Zhulanow
161d8b105f Support variants in Android Extensions (compiler plugin) 2015-11-19 01:35:58 +03:00
Yan Zhulanow
a6e9ee9323 Cleanup Android Extensions code 2015-11-19 01:35:58 +03:00
Michael Nedzelsky
dc7171e953 improve check for access to internal from tests for projects compiled via gradle 2015-11-18 22:57:59 +03:00
Dmitry Jemerov
5d92d3128d support for configuring Kotlin when creating new Gradle project
#KT-7978 Fixed
2015-11-18 20:19:43 +01:00
Michael Nedzelsky
e92ac6cba3 fix access to internal from tests for android projects which compiled via gradle 2015-11-18 20:19:31 +03:00
Dmitry Jemerov
084727c991 action to invoke a manual update check for the Kotlin plugin 2015-11-18 16:44:14 +01:00
Mikhail Glukhikh
7decca9df4 Get rid of unnecessary insideSafeCallChain in various contexts 2015-11-18 18:04:30 +03:00
Mikhail Glukhikh
3a4f6d8226 Smart cast impossible on when subject is no more recorded #KT-10061 Fixed 2015-11-18 18:02:59 +03:00
Alexander Udalov
58dc88dd2c Remove ConstraintSystem.Builder.addSupertypeConstraint
Use addSubtypeConstraint everywhere to reduce confusion
2015-11-18 16:40:51 +03:00
Alexander Udalov
3337b5298b Minor refactoring in ConstraintSystemImpl
Inline getUsedInBounds, get rid of another usage of freshTypeParameter
2015-11-18 16:40:49 +03:00
Alexander Udalov
3e27fdb964 Inline and move out utilities from ConstraintSystem 2015-11-18 16:40:49 +03:00
Alexander Udalov
d4664af4e5 Get rid of originalToVariableSubstitutor and descriptorToVariable
Move the composite substitutor to GenericCandidateResolver where it was used,
other places don't need it since they know the exact call (or NO_CALL), the
substitutor for which should be used
2015-11-18 16:40:48 +03:00
Alexander Udalov
cb05a8d58d Don't use originalToVariableSubstitutor in supertype constraints 2015-11-18 16:40:48 +03:00
Alexander Udalov
178ca3daae Add call to type variable and mapping descriptor -> variable
Since type parameter descriptor represents a single declaration of a type
parameter, multiple variables in one system may correspond to one type
parameter (e.g. in case of nested calls). Hence it's not possible to map type
parameters uniquely onto type variables and additional information is required
2015-11-18 16:40:47 +03:00
Alexander Udalov
fc73e8c620 Move original descriptor to TypeVariable, minimize usages of freshTypeParameter 2015-11-18 16:40:46 +03:00
Alexander Udalov
c1bd430b27 Introduce TypeVariable to abstract the system from descriptors
Store cached type and isExternal in type variable instead of sets in the
constraint system
2015-11-18 16:40:46 +03:00
Alexander Udalov
27ce61a3be Always alpha-convert non-external type parameters before registering in system 2015-11-18 16:40:45 +03:00
Alexander Udalov
4d5d24a503 Minor, move out check against no expected type 2015-11-18 16:40:45 +03:00
Alexander Udalov
e50eb50299 Make getNestedTypeVariables() an utility 2015-11-18 16:40:44 +03:00
Alexander Udalov
dd4a7ac6a9 Make ConstraintSystem work with variables, provide API to map to descriptors 2015-11-18 16:40:43 +03:00
Alexander Udalov
13abc265ad First steps to make distinction between variables and descriptors in ConstraintSystem
A type variable is an entity, the value of which should be solved by the
system; a descriptor is an actual TypeParameterDescriptor declaration
2015-11-18 16:40:43 +03:00
Alexander Udalov
eeb925f127 Minor, sort out visibilities & move utilities in constraint system 2015-11-18 16:40:42 +03:00
Alexander Udalov
89dfd52363 Remove ConstraintSystem.partialSubstitutor, move logic to FuzzyType 2015-11-18 16:40:42 +03:00
Alexander Udalov
d72a4c8037 Cleanup constraint system, convert functions to properties, delete unused 2015-11-18 16:40:41 +03:00
Alexander Udalov
3484c049d1 Rename ConstraintSystemSnapshot -> ConstraintSystemImpl 2015-11-18 16:40:40 +03:00
Alexander Udalov
265c135e89 Rename ConstraintSystemImpl -> ConstraintSystemBuilderImpl 2015-11-18 16:40:40 +03:00
Alexander Udalov
bb918a2742 Move mutating methods of ConstraintSystem to Builder
Extract immutable ConstraintSystemSnapshot from ConstraintSystemImpl
2015-11-18 16:40:39 +03:00
Alexander Udalov
d320922e08 Add more methods to interface ConstraintSystem
To minimize usages of ConstraintSystemImpl
2015-11-18 16:40:38 +03:00
Alexander Udalov
9149668286 Add ConstraintSystem#copy to minimize usages of ConstraintSystemImpl 2015-11-18 16:40:38 +03:00
Alexander Udalov
393852bf70 Simplify signature of ConstraintSystem#registerTypeVariables
Drop unused variance from TypeBounds and ConstraintSystem, provide default
values, inline methods used only once
2015-11-18 16:40:37 +03:00
Alexander Udalov
8cc484bc25 Cleanup GenericCandidateResolver 2015-11-18 16:40:37 +03:00
Dmitry Petrov
99b411c8ca companionObjectType --> classValueType
(NB: it IS NOT a companion object in case of OBJECT or ENUM_ENTRY)
Unify related names.
2015-11-18 16:27:26 +03:00
Dmitry Petrov
7b432c878a Diagnostics improvements for corner cases
(class/package qualifier in non-qualifier position).
2015-11-18 16:27:21 +03:00
Dmitry Petrov
ba8372cc11 Fixes for IDE tests after qualifier modifications:
- CallType should look into QUALIFIER,
 so that completion works for (companion) object qualifiers.
- Record type and reference target for object qualifiers (not only for companions).
- "Create (function/...)" should understand ClassQualifier as possible receiver.
- Cleanup after rebase on master.
2015-11-18 14:35:54 +03:00
Dmitry Petrov
9856af48ca Drop createQualifier: testData update 2015-11-18 14:35:53 +03:00
Dmitry Petrov
28d15e776a Drop createQualifier.
NB: some regression in diagnostics for special cases,
such as class or package used in expression position or in safe access;
see next commit.
2015-11-18 14:35:53 +03:00
Dmitry Petrov
b532fa2bbf Properly resolve values in 1st qualifier part (see implicitReceiverProperty test).
Look into QUALIFIER for left-most "unrolled" qualified expression
    in CallExpressionResolver#getQualifiedExpressionTypeInfo.
Drop some unused functions.
2015-11-18 14:35:53 +03:00
Dmitry Petrov
49570ba1ea Drop QualifierReceiver::resultingDescriptor. Use REFERENCE_TARGET. 2015-11-18 14:35:53 +03:00
Dmitry Petrov
eef8c7ae09 Move auxiliary methods for QualifierReceiver resolution to a separate file
(to be refactored later).
Get rid of duplicate type usage validation.
2015-11-18 14:35:53 +03:00
Dmitry Petrov
3556f9751e Reuse package/class qualifier prefix resolution for qualified expression resolution. 2015-11-18 14:35:52 +03:00
Dmitry Petrov
5ff2ffbccc Move resolve* methods from Qualifier.kt to QualifiedExpressionResolver.
Further differentiate various qualifiers.
2015-11-18 14:35:52 +03:00
Dmitry Petrov
16dcc0b288 Introduce Receiver as a common superclass of QualifierReceiver and ReceiverValue.
QualifierRecevier is no longer a subclass of ReceiverValue.
2015-11-18 14:35:52 +03:00
Nikolay Krasko
2ff0b13808 Run psi check on light classes from compiled Kotlin 2015-11-18 13:34:25 +03:00
Dmitry Jemerov
9e0ec80c6a Merge branch 'KT-1396' of https://github.com/mcgee/kotlin into mcgee-KT-1396 2015-11-17 18:49:44 +01:00
Dmitry Jemerov
0e1dff1c29 optimize PackageIndexUtil.packageExists() by using in-memory hash table instead of stub index lookup 2015-11-17 18:47:01 +01:00
Dmitry Jemerov
bf35099e0c use "destructuring declarations" term instead of "multi-declarations" 2015-11-17 18:43:26 +01:00
Anton Sukhonosenko
bec6621654 #KT-1396 Fixed 2015-11-17 19:33:18 +03:00
Michael Nedzelsky
ba47bfa752 Fix some weird cases when 'from' descriptor sourceElement is not a KotlinSourceElement 2015-11-17 18:23:12 +03:00
Mikhail Glukhikh
fe13f39de9 Use of uninitialized variables in lambdas / object literals / local functions is forbidden now #KT-4475 Fixed
Local declarations CFA: variable initialization information before them is now taken into account
2015-11-17 18:21:09 +03:00
Zalim Bashorov
89791dc85c Batch recording lookups in daemon 2015-11-17 17:25:38 +03:00
Zalim Bashorov
6305bbda5d Fix tracking lookups when compile using daemon 2015-11-17 17:25:37 +03:00
Dmitry Jemerov
49db4e93c0 Merge branch 'KT-5115' of https://github.com/mcgee/kotlin into mcgee-KT-5115 2015-11-17 15:14:00 +01:00
Denis Zharkov
a2627431f8 Minor. Cleanup and refine naming 2015-11-17 16:27:02 +03:00
Denis Zharkov
fa99ea1e98 Generate type-safe barrier in method body
In cases when signature of special bridge is the same as current method,
but type is not 'Any?'.

Also there is tiny optimization:
only null check needed if value parameter type is mapped to Object,
but it's not nullable.

 #KT-9973 Fixed
2015-11-17 16:27:02 +03:00
Denis Zharkov
1f704e0c4d Minor. Split BytecodeText tests about special builtin bridges 2015-11-17 16:27:02 +03:00
Denis Zharkov
3b2719735e Setup default values for type-safe bridges
#KT-9973 In Progress
2015-11-17 16:27:01 +03:00
Denis Zharkov
34518c0ecc Extract common logic into generateIsCheck 2015-11-17 16:26:29 +03:00
Denis Zharkov
f5a086140e Refine special bridge generating rule
Generate special bridge even in case current class has Kotlin superclass implementing
this builtin method, but that super class was generated without special bridge
(e.g. because it would have the same signature)

 #KT-9901 Fixed
2015-11-17 15:41:49 +03:00
Denis Zharkov
abf7ae547e Minor. Move tests 2015-11-17 15:41:48 +03:00
Dmitry Jemerov
83bf5daf7f do not package kotlin-runtime and kotlin-reflect into Kotlin Android extensions zip 2015-11-17 12:24:15 +01:00
Mikhail Glukhikh
7e5558c8a2 More receiver refactoring 2015-11-17 13:02:25 +03:00
Mikhail Glukhikh
657052e1d2 Rename: ClassReceiver ---> ImplicitClassReceiver, CastClassReceiver ---> CastImplicitClassReceiver 2015-11-17 13:02:22 +03:00
Mikhail Glukhikh
04569dd4af Rename: ExpressionOrImplicitClassReceiver ---> ThisClassReceiver 2015-11-17 13:02:19 +03:00
Mikhail Glukhikh
59e54d1db1 Rename: ThisReceiver ---> ImplicitReceiver 2015-11-17 13:02:16 +03:00
Mikhail Glukhikh
7ba297db81 ThisReceiver converted to Kotlin 2015-11-17 13:02:12 +03:00
Mikhail Glukhikh
ffb67eb79e Code cleanup 2015-11-17 13:02:09 +03:00
Mikhail Glukhikh
f1034dbf19 Receiver refactoring in DataFlowValueFactory 2015-11-17 13:02:06 +03:00
Dmitry Jemerov
e56b898a53 Merge pull request #785 from belovrv/patch-1
Add Slack badge
2015-11-17 10:50:54 +01:00
belovrv
3c138aa01c Add Slack badge 2015-11-17 12:49:22 +03:00
Mikhail Glukhikh
96c303be60 Smart cast of value / implicit receiver: two different colors 2015-11-17 10:26:46 +03:00
Mikhail Glukhikh
811ba8110f Implicit receiver smart casts implementation and highlighting 2015-11-17 10:26:42 +03:00
Mikhail Glukhikh
03287d5d66 Diagnostics corrected for smart cast impossible 2015-11-17 10:26:26 +03:00
Stanislav Erokhin
b4fe62e53e Minor. rename getObjectType to getCompanionObjectType 2015-11-17 01:25:18 +03:00
Stanislav Erokhin
c7f7ba72b8 Moved logic for PRIVATE_TO_THIS visibility from ExpressionTypingUtils.normalizeReceiverValueForVisibility to ExpressionReceiver.create 2015-11-17 01:25:18 +03:00
Stanislav Erokhin
6b7bf63814 Minor. Split ExpressionReceiver to interface & implementation 2015-11-17 01:25:17 +03:00
Stanislav Erokhin
5a7e879c0c Convert ExpressionReceiver to kotlin. 2015-11-17 01:25:17 +03:00
Stanislav Erokhin
512bcbe7b9 Minor. Removed usage of ExpressionReceiver constructor from Qualifier.kt 2015-11-17 01:25:16 +03:00
Stanislav Erokhin
1c9136a8cd Minor. introduce method ExpressionReceiver.create and replace almost all usages of constructor ExpressionReceiver. 2015-11-17 01:25:15 +03:00
Stanislav Erokhin
e606c0cdf5 Minor. Introduce ExpressionOrImplicitThisClassReceiver. 2015-11-17 01:25:14 +03:00
Michael Nedzelsky
e5e4f9e775 Hack for checking access to internal declarations during incremental compilation 2015-11-17 00:26:43 +03:00
Valentin Kipyatkov
40bc30aee2 Fixed compilation after rebase 2015-11-16 18:29:55 +03:00
Valentin Kipyatkov
927df1c4cd KT-5072 Values of extension function type are not seen in completion
#KT-5072 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov
2e2dfcb4a0 "invoke" from function types do not have any meaningful parameter names 2015-11-16 18:24:37 +03:00
Valentin Kipyatkov
5b668cb6a6 KT-9970 Regression: completion doesn't see private extension functions with parametrized receiver
#KT-9970 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov
6a26e2fd82 Sorting overloads in completion 2015-11-16 18:24:37 +03:00
Alexey Sedunov
ac8532ffce Quick Fixes: Implement 'Initialize with constructor parameter' quick-fix
#KT-6604 Fixed
2015-11-16 11:30:03 +03:00
Alexey Sedunov
138370ce5b Quick Fixes: Implement 'Move to constructor parameters' quick-fix
#KT-6604 In Progress
2015-11-16 11:30:02 +03:00
Alexey Sedunov
f66af7bdd4 Quick Fixes: Implement 'Initialize property' quick-fix 2015-11-16 11:30:00 +03:00
Alexey Sedunov
aeee8bafe6 Name Suggester: Suggest parameter name for the corresponding argument expression
#KT-8111 Fixed
2015-11-16 11:29:59 +03:00
Mikhail Glukhikh
f21603daf2 Source code fix according to KT-4475 2015-11-16 10:55:15 +03:00
Mikhail Glukhikh
fdd9eee849 DataClassAnnotationChecker --> DataClassDeclarationChecker 2015-11-16 10:45:58 +03:00
Mikhail Glukhikh
dd43674426 Data class must have at least one argument is reported on constructor parameter list now, if any #KT-9999 Fixed 2015-11-16 10:45:54 +03:00
Mikhail Glukhikh
86c37deaee Overriden setter now cannot weaken visibility #KT-3369 Fixed 2015-11-16 10:45:21 +03:00
Mikhail Glukhikh
02fb19c3ea Inner classes are no more allowed inside enum entries #KT-9750 Fixed
Forbidden use-case deleted from codegen tests
2015-11-16 10:44:20 +03:00
Ilya Gorbunov
3f4430087e Do not call deprecated public getProgressionFinalElement, call internal getProgressionLastElement instead.
ProgressionIterators do not compute final element by themselves, but use one computed by Progression.
Update testdata for LoadBuiltinsTest
2015-11-13 21:38:22 +03:00
Ilya Gorbunov
96f301fdec Support only integer primitive ranges and progressions in optimized for loop codegen.
Do not call getProgressionFinalElement, use new progression properties 'first' and 'last' instead.
2015-11-13 20:58:18 +03:00
Ilya Gorbunov
5d4e72ed7f Correct deprecation replacement for Progression constructors.
Update testdata for LoadBuiltinsTest
2015-11-13 18:59:38 +03:00
Denis Zharkov
e920ce709b Render captured type parameters in verbose mode 2015-11-13 14:59:04 +03:00
Denis Zharkov
6ae653e5a1 Implement stub building for inner types 2015-11-13 14:59:04 +03:00
Denis Zharkov
7500447e72 Implement serialization of inner types 2015-11-13 14:59:03 +03:00
Denis Zharkov
8cb85759c7 Fix written generic signature in case of inner types 2015-11-13 14:59:03 +03:00
Denis Zharkov
eea898abb5 Introduce PossiblyInnerType class
Use it when rendering inner types, similar logic will be used in different subsystems
2015-11-13 14:58:58 +03:00
Denis Zharkov
9c8ad9e442 Fix AbstractWriteSignatureTest
It didn't check anything in tests with class signatures
2015-11-13 14:47:29 +03:00
Denis Zharkov
7ee50e043c Use type constructor when finding findStaticallyKnownSubtype
See InnerClasses.testBareTypes
2015-11-13 14:47:29 +03:00
Denis Zharkov
daed74f9b2 Fix supertypes consistency check
See testKt5508:
`inner class B<S> : A<B<S>>()` is effectively the same as
`A<T>.B<S> : A<A<T>.B<S>>` or `B<S, T> : A<B<S, T>>`.
The latter is because we add outer class parameters to inner type constructor.

The problem is that we treat type constructors of first TP of 'A'
and of second type parameter (copy) of 'B' just the same and report INCONSISTENT_TYPE_PARAMETER_VALUES.

So we supposse it's more correct to compare type parameter descriptors instead
2015-11-13 14:47:29 +03:00
Denis Zharkov
188bcf0a03 Introduce TypeConstructorSubstitution.create
After latest changes type constructors of inner classes contains
additional type parameters that are copies of ones from outer class.

Their indices are correct, but they used only for subtyping check,
all entries within inner classes are still refers to original
descriptors having different indices.

Example:
class Outer<E> {
   inner class Inner<F> { // Inner's type constructor looks like Inner<F, E>
      fun foo(): E // refers to E in outer having index 0
   }
}

Indexed substitution does not work here because of intersecting indices,
so we replace it with common map substituion in such cases.
2015-11-13 14:47:29 +03:00
Denis Zharkov
c57dbcc602 Fix substition of inner classes constructors
It should have substituted class as containing declaration
2015-11-13 14:47:28 +03:00
Denis Zharkov
c5103f9ac4 Fix JavaClassifierType.getTypeArguments impls
Make them return arguments both for current classifier and for the outer one
2015-11-13 14:47:28 +03:00
Denis Zharkov
910718ff45 Weaken JvmRuntimeDescriptorLoaderTest assumptions
Sometimes descriptors in reflection may differ from compiled ones.
There is already SKIP_IN_RUNTIME_TEST but sometimes
it would be nice to record specific behaviour.

Solution is to add '.runtime.txt' near '.txt' files for tests containing
expected rendered descriptors in reflection.
2015-11-13 14:47:28 +03:00
Denis Zharkov
deea0643ad Refine type arguments resolution and rendering
In case of type constructors captured parameters from outer classes

 #KT-5510 Fixed
 #KT-3112 Fixed
 #KT-6325 Fixed
 #KT-408  Fixed
 #KT-6337 Fixed
2015-11-13 14:47:28 +03:00
Denis Zharkov
990bd7e71d Correct parameters of inner's class type constructor
Now it contains copies of outer's class constructor parameters
They are appended just after real type parameters
2015-11-13 14:47:28 +03:00
Denis Zharkov
7b4c0fb83a Use original type parameters for SAM adapter to constructor
It makes SAM descriptors more consistent with real ones
2015-11-13 14:47:28 +03:00
Denis Zharkov
d614adcd2a Obtain type parameters of constructor from containing class
Effectively this commit is just inlining of 'typeParameters' parameter
2015-11-13 14:47:28 +03:00
Denis Zharkov
c9aa75259b Introduce ClassDescriptor.declaredTypeParameters
Should be a subset of type constructor's parameters
2015-11-13 14:47:28 +03:00
Denis Zharkov
57094954a3 Minor. Simplify control-flow blocks 2015-11-13 14:47:28 +03:00
Denis Zharkov
b4b1d16134 Extract and cleanup 'resolveTypeForClass' and 'resolveTypeForTypeParameter' 2015-11-13 14:47:27 +03:00
Valentin Kipyatkov
e66f1c2d70 KT-9981 Code cleanup replace usages of !in incorrectly
#KT-9981 Fixed
2015-11-13 14:32:33 +03:00
Mikhail Glukhikh
2f4dbd2084 Code cleanup: get rid of unnecessary !! / ?. / as 2015-11-13 13:13:55 +03:00
Michael Bogdanov
7e8e4e9e1b Fix for KT-2789: NoSuchMethodError when calling trait function with default arguments that returns generic type, KT-9428 Abstract method with one parameter and one default parameter produces NoSuchMethodError, KT-9924 NoSuchMethod when replacing generic with specific type
#KT-2789 Fixed
 #KT-9428 Fixed
 #KT-9924 Fixed
2015-11-13 10:14:01 +03:00
Michael Bogdanov
3f995935d3 Fix for KT-9022: Wrong result when use break in if condition
#KT-9022 Fixed
2015-11-13 10:14:00 +03:00
Ilya Chernikov
20ca8cd435 Additional fix to the previous one: Disabling parallel builds without daemon again and undoing apprpriate fix to broken tests problem, since it effectively cancelled fix for parallel building itself and was causing exceptions on heavy builds
(cherry picked from commit bb66776)
2015-11-12 19:15:14 +01:00
Nikolay Krasko
0b01c8a4cf Minor: remove warnings in KotlinCliJavaFileManagerImpl 2015-11-12 19:19:44 +03:00
Nikolay Krasko
bd4ffb9ced Announce we are going to invalidate file to collect invalidatation trace
See DebugUtil.currentInvalidationTrace()
2015-11-12 19:19:43 +03:00
Nikolay Krasko
33fd247bde Test that fails with package prefixes but works good without them 2015-11-12 19:19:42 +03:00
Nikolay Krasko
03310491d0 Update to idea 143.747.5 2015-11-12 19:19:41 +03:00
Ilya Chernikov
4643d7fc4d Disabling parallel builds without daemon again and undoing apprpriate fix to broken tests problem, since it effectively cancelled fix for parallel building itself and was causing exceptions on heavy builds
(cherry picked from commit 0610452)
2015-11-12 17:15:14 +01:00
Zalim Bashorov
b7772f32ce Minor: add more logging to KotlinBuilder 2015-11-12 18:39:43 +03:00
Dmitry Jemerov
c734cad429 fix typo: 'a' before uuid 2015-11-12 14:22:58 +01:00
Michael Bogdanov
de6731cb4b Additional diagnostic for KT-9980: KotlinFrontEndException: Exception while analyzing expression 2015-11-12 14:38:09 +03:00
Zalim Bashorov
ca71f929f9 Add new tests for incremental compilation and disable the one for current IC 2015-11-12 13:43:25 +03:00
Zalim Bashorov
e1ad942804 Add separate build logs for tests which result is different in the new incremental compilation 2015-11-12 13:43:24 +03:00
Zalim Bashorov
5a6c04357b Add the ability to have separate log file for experimental incremental compilation tests 2015-11-12 13:43:23 +03:00
Zalim Bashorov
5ca7ce2b50 Make accessingFunctionsViaRenamedFileClass test more sensible 2015-11-12 13:43:22 +03:00
Zalim Bashorov
f144bb38da ChangesInfo -> CompilationResult 2015-11-12 13:43:21 +03:00
Zalim Bashorov
d4a18a3ef2 Integrate components of the new incremental compilation 2015-11-12 13:43:20 +03:00
Zalim Bashorov
4caf1b54f7 Minor: re-sort statements in KotlinBuilder::doBuild 2015-11-12 13:43:19 +03:00
Zalim Bashorov
3ce84d04e6 Minor: get rid of KotlinBuilder.ChangesProcessor 2015-11-12 13:43:19 +03:00
Zalim Bashorov
2944e998f7 Minor: don't trim file content in KotlinTestUtils#doLoadFile 2015-11-12 13:43:18 +03:00
Zalim Bashorov
28366a0bf4 Fix refer to classes from default package in SMAP 2015-11-11 22:59:05 +03:00
Dmitry Jemerov
45ef9b02c4 remove some leftovers of old package facades in IDE code 2015-11-11 19:25:11 +01:00
Michael Nedzelsky
5b59fc74bc fix access from tests to internal elements in production code in case of circular dependency 2015-11-11 19:16:21 +03:00
Ilya Gorbunov
a8b11ff07b Make MutableMap.set return Unit
#KT-7853 Fixed
2015-11-11 19:00:10 +03:00
Ilya Gorbunov
7844030ba4 Restore correct sorting order (after cleanup in 17fc1d95) 2015-11-11 19:00:09 +03:00
Ilya Gorbunov
a793a63b73 Simplify message expression from lambda argument when converting assert to if. 2015-11-11 19:00:08 +03:00
Ilya Gorbunov
3639afafce Deprecated with ERROR preconditions with eager message. 2015-11-11 19:00:03 +03:00
Ilya Gorbunov
07c570f35d Replace getStackTrace usages in j2k and testData. 2015-11-11 18:59:56 +03:00
Ilya Gorbunov
0579f6c8bf Replace Regex.match and matchAll usages 2015-11-11 18:59:55 +03:00
Ilya Gorbunov
f06d521bfe Refactor intention test files enumerating, do not use deprecated filter method, which would get another behavior after dropping deprecated one. 2015-11-11 18:59:54 +03:00
Ilya Gorbunov
be9b14545f Drop deprecations and tighten up left ones. 2015-11-11 18:59:53 +03:00
Ilya Gorbunov
5b484f1e05 Make emptyMap upperbound to be Any? rather than Any.
#KT-9963
2015-11-11 17:14:41 +03:00
Dmitry Jemerov
6f2fb3f9aa don't analyze class repeatedly if we already found an annotated member there
#KT-8557 Fixed
2015-11-11 15:09:18 +01:00
Valentin Kipyatkov
de11d571ef KT-9928 Replacement not offered for a usage of symbol deprecated with DeprecationLevel.ERROR
#KT-9928 Fixed
2015-11-11 16:49:52 +03:00
Ilya Gorbunov
75f5cec190 Minor: remove inapplicable operator modifiers. 2015-11-11 16:41:40 +03:00
Ilya Gorbunov
f7135dfe50 Do not override default AbstractList iterator() implementation for primitiveArray.asList wrappers.
#KT-9927 Fixed
2015-11-11 16:41:39 +03:00
Michael Bogdanov
3651ec9294 Support access to protected members within inline functions 2015-11-11 14:34:48 +03:00
Michael Bogdanov
5a8ead0092 Fix for KT-8204: java.lang.VerifyError for super method invocation in inline function
#KT-8204 Fixed
2015-11-11 14:34:47 +03:00
Mikhail Glukhikh
04f7805d52 Minor comment to CastClassReceiver 2015-11-11 13:30:19 +03:00
Ilya Gorbunov
f105329fb4 Fix test dependent on exact documentation wording in stdlib. 2015-11-11 04:05:07 +03:00
Ilya Gorbunov
0fb8419bd1 Update testdata for LoadBuiltinsTest 2015-11-11 03:53:54 +03:00
Ilya Gorbunov
0786027271 Deprecate Range<T> in generated code.
Provide hidden overloads of downTo and until with byte and short parameters for binary compatibility.
2015-11-11 03:53:52 +03:00
Ilya Gorbunov
af9020a010 Update Range and Progression built-in implementations in js library.
No need to define special method mapping for js ranges/progressions.
Support progression companion objects' function fromClosedRange as intrinsic
2015-11-11 03:53:51 +03:00
Ilya Gorbunov
55d4d17dc3 Fix dropped DoubleRange and FloatRange usages in tests 2015-11-11 03:53:49 +03:00
Ilya Gorbunov
6bac3e1986 Drop Ranges, Progressions, ProgressionIterators for Double and Float.
Undeprecate generic Comparable.rangeTo, but return private implementation instead.
Undeprecate contains and coerceIn for generic ranges.
2015-11-11 03:53:47 +03:00
Ilya Gorbunov
4d2f9b82da reversed() behavior changed for progressions. Stepped progression behavior changes: 'end' property is now deprecated, use 'last' instead. 2015-11-11 03:53:45 +03:00
Ilya Gorbunov
ead333531c Update resolve test, since IntRange inherits iterator() from IntProgression and doesn't reimplement it itself. 2015-11-11 03:53:43 +03:00
Ilya Gorbunov
5f675c55ed Fix deprecated ranges and range member usages in tests. 2015-11-11 03:53:42 +03:00
Ilya Gorbunov
5ebb3d20e8 Change internal implementation of progression: use first, last instead of start, end
Keep the end value as it was passed to progression constructor.
Deprecate primary progression constructor and introduce factory method in companion object.
2015-11-11 03:53:40 +03:00
Ilya Gorbunov
2887338f01 Rename InclusiveRange to ClosedRange 2015-11-11 03:53:38 +03:00
Ilya Gorbunov
25da037868 Update range iteration tests and regenerate test data. 2015-11-11 03:53:37 +03:00
Ilya Gorbunov
8a6821d53a Throw correct exception for zero increment.
Deprecate public functions in progression utils.
2015-11-11 03:53:35 +03:00
Ilya Gorbunov
ffa8faab80 Make progression iterators internal. 2015-11-11 03:53:32 +03:00
Ilya Gorbunov
5e6d16103e Remove deprecated ranges from tests and take into account that Byte and Short rangeTo now returns IntRange. 2015-11-11 03:53:31 +03:00
Ilya Gorbunov
854d376988 Eliminate byte and short ranges and progressions from range construction functions' return type. 2015-11-11 03:53:29 +03:00
Ilya Gorbunov
9eb5ba910c Do not reimplement Iterable until Progression is dropped. 2015-11-11 03:53:28 +03:00
Ilya Gorbunov
6ac0ac01b3 Deprecate Byte and Short ranges and progressions.
Inherit TRange from TProgression.
Remove InclusiveRangeProgression and leave generic Progression deprecated.
2015-11-11 03:53:26 +03:00
Ilya Gorbunov
e699ce9e95 Introduce InclusiveRange and InclusiveRangeProgression and deprecate Range and Progression interfaces. 2015-11-11 03:53:25 +03:00
Ilya Gorbunov
cea27dd716 Disable check for "Access to tree elements not allowed in tests" in completion tests. 2015-11-11 03:53:23 +03:00
Ilya Gorbunov
84492fd311 Apply hack to restore mapping between PsiFiles and VirtualFiles, otherwise built-ins psi elements will become invalid in next test. 2015-11-11 03:53:21 +03:00
Ilya Gorbunov
16d56355c3 Special crafting of ClassId when implClassName is nested DefaultImpls 2015-11-11 03:53:20 +03:00
Ilya Gorbunov
2a7a6688d0 Remove obsolete condition from isKotlinJvmCompiledFile() 2015-11-11 03:53:18 +03:00
Ilya Gorbunov
8bdd1e3246 Sorting optimizations: do not make excessive copies, introduce methods to sort the whole array.
#KT-9904 Fixed
2015-11-11 03:29:40 +03:00
Ilya Gorbunov
3e81cdfc5d Deprecate mapIndexedTo for Maps. 2015-11-11 03:12:19 +03:00
Ilya Gorbunov
9323f61eaf Introduce T.addTo(MutableCollection<T>), mapNotNull and mapIndexedNotNull extensions.
#KT-4410 Fixed
2015-11-11 03:12:17 +03:00
Ilya Gorbunov
008a8059cf Introduce filterIndexed
#KT-9502 Fixed
2015-11-11 02:42:52 +03:00
Ilya Gorbunov
ee759c10c8 Minor: regenerate docs. 2015-11-11 02:42:50 +03:00
Valentin Kipyatkov
d829f585f7 Changes on code review 2015-11-11 01:26:20 +03:00
Valentin Kipyatkov
4f9866f62f Created quickfix for KT-9805 2015-11-11 01:26:20 +03:00
Valentin Kipyatkov
80a788cf53 Code transformation 2015-11-11 01:26:20 +03:00
Stanislav Erokhin
a3b11f4214 Created warning for KT-9805
#KT-9805 In Progress
2015-11-11 01:26:20 +03:00
Valentin Kipyatkov
8664d778ad Merged 2 files 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov
f391d194de Presentation for extension property to include receiver type 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov
6a52cc76d0 Code simplifications 2015-11-10 22:24:46 +03:00
Valentin Kipyatkov
6006969ab9 Converted to Kotlin 2015-11-10 22:24:46 +03:00
Nikolay Krasko
774b3269d6 Remove paragraph char - it ruins builds sometimes 2015-11-10 20:46:17 +03:00
Nikolay Krasko
2dd2a8dd65 Forgotten rename for in *.flex files after jet->kt rename 2015-11-10 20:46:17 +03:00
Mikhail Glukhikh
0d35033106 Introduction of CastedClassReceiver and its handling in codegen #KT-6744 Fixed
ClassReceiver converted to Kotlin
Also #KT-7617 Fixed
2015-11-10 20:20:51 +03:00
Natalia Ukhorskaya
e1134b278c Minor: minimize number of parameters 2015-11-10 18:38:21 +03:00
Natalia Ukhorskaya
ea50d8af02 Debugger: initial support for member extension functions in evaluate expression 2015-11-10 18:38:19 +03:00
Natalia Ukhorskaya
ba9e06d25b Make parameter MultiMap 2015-11-10 18:38:15 +03:00
Natalia Ukhorskaya
12c05fc602 Minor: extract functions to separate file 2015-11-10 18:38:13 +03:00
Natalia Ukhorskaya
5fcd5396b6 Add option to extract function for wrapping member extension function with with { } 2015-11-10 18:38:11 +03:00
Natalia Ukhorskaya
1e0b70247b Add debug log for evaluate expression 2015-11-10 18:38:08 +03:00
Natalia Ukhorskaya
6c61d437f1 Insert imports in codeFragment correctly. Add test 2015-11-10 18:37:56 +03:00
Valentin Kipyatkov
fd1ff51233 Minor changes on code review 2015-11-10 17:26:20 +03:00
Valentin Kipyatkov
8942780640 KtCodeFragement to implement getImportDirectives() correctly 2015-11-10 17:26:19 +03:00
Valentin Kipyatkov
afc968fe83 Minor 2015-11-10 17:23:11 +03:00
Valentin Kipyatkov
bba960f1a5 Moved enum to top level 2015-11-10 17:23:11 +03:00
Valentin Kipyatkov
fe7f79428d Intention to import members with '*' 2015-11-10 17:23:11 +03:00
Valentin Kipyatkov
d3f04c6310 Fixed for companion object members 2015-11-10 17:23:11 +03:00
Valentin Kipyatkov
d599b77ece Works also for top level fun - why not? 2015-11-10 17:23:11 +03:00
Valentin Kipyatkov
870fc9284b KT-4945 Intention "Introduce static import" (for single symbol)
#KT-4945 Fixed
2015-11-10 17:23:10 +03:00
Valentin Kipyatkov
394b4f7cd4 Removed todo 2015-11-10 17:20:01 +03:00
Valentin Kipyatkov
8946e5f353 Code completion for string templates after simple name + dot 2015-11-10 17:20:01 +03:00
Alexey Sedunov
8389b8e8da Introduce Property: Fix rename of primary occurrence
#KT-9404 Fixed
2015-11-10 16:47:52 +03:00
Alexey Sedunov
29b1c169d5 Refactoring: Get rid of "Jet" in the names of refactoring/quick fixes-related classes 2015-11-10 16:47:50 +03:00
Alexey Sedunov
6ff955b66c Change Signature: Implement improved call processing algorithm
#KT-8953 Fixed
 #KT-9525 Fixed
2015-11-10 16:47:48 +03:00
Alexey Sedunov
b334f92748 J2K: JetFunctionCallUsage 2015-11-10 16:47:46 +03:00
Alexey Sedunov
ff86042f58 J2K: Rename JetFunctionCallUsage (.java to .kt) 2015-11-10 16:47:45 +03:00
Alexey Sedunov
a7e4f73c82 J2K: JetCallableDefinitionUsage 2015-11-10 16:47:44 +03:00
Alexey Sedunov
b1ec5c0672 J2K: Rename JetCallableDefinitionUsage (.java to .kt) 2015-11-10 16:47:43 +03:00
Alexey Sedunov
2476393754 Change Signature: Do not move lambda out of parentheses if it neither wasn't out
before nor corresponds to the last parameter after the refactoring
 #KT-9763 Fixed
2015-11-10 16:47:42 +03:00
Alexey Sedunov
f5e9d3e58f Refactoring: Simplify JetChangeSignature test 2015-11-10 16:47:41 +03:00
Alexey Sedunov
e28a70235a Refactoring: Simplify JetChangeSignature test 2015-11-10 16:47:39 +03:00
Alexey Sedunov
f8b8f9e9f9 J2K: JetChangeSignatureTest 2015-11-10 16:47:38 +03:00
Alexey Sedunov
26f81002d0 J2K: Rename JetChangeSignatureTest (.kt to .java) 2015-11-10 16:47:37 +03:00
Alexey Sedunov
cae7fc7cf4 Change Signature: Fix file comparison in tests 2015-11-10 16:47:35 +03:00
Dmitry Jemerov
de24e70389 update KotlinCoverageExtension according to removal of package facades 2015-11-10 14:45:30 +01:00
Dmitry Jemerov
bb5f47fe95 fixed coverage: correctly apply extensions to run command line
#KT-9464 Fixed
2015-11-10 14:45:30 +01:00
Dmitry Jemerov
ffccef753d one more place where we missed the search scope when highlighting usages
#KT-8904 Fixed
2015-11-10 14:45:29 +01:00
Dmitry Jemerov
1c05750a48 rename JetBundle references in UI Designer forms to KotlinBundle 2015-11-10 14:45:28 +01:00
Dmitry Jemerov
6ced597a73 scope all notifications to a specific project
#KT-9680 Fixed
2015-11-10 14:45:28 +01:00
Dmitry Jemerov
e3f5045343 AddModifierFix is not available when the element is in library code
#KT-9647 Fixed
2015-11-10 14:45:27 +01:00
Dmitry Jemerov
3e3c457326 remove checking for class that no longer exists 2015-11-10 14:45:27 +01:00
Dmitry Jemerov
1d01565262 fix duplicate plugin update notifications: don't queue the next plugin update while the network request from the previous update is still running 2015-11-10 14:45:26 +01:00
Michael Bogdanov
a5771c6c1c Fix for KT-9939: java.lang.VerifyError: Bad type on operand stack for Boolean convenience accessor
#KT-9939 Fixed
2015-11-10 16:17:52 +03:00
Pavel V. Talanov
de4ea45f20 Do not compute stubs when building DefaultImpls light classes
Do not build stubs when computing inner classes of a light class
This should implicitly fix a deadlock reported in KT-9907 and KT-9811
2015-11-10 14:31:14 +03:00
Pavel V. Talanov
bff7ff0c5d Improve heuristic to decide whether we will generate DefaultImpls for interface
This is not accurate, there are some cases when we will generate DefaultImpls class that are not covered:
- Inherited default implementations
- Annotated members

In these cases IDE will report an error when in fact code compiles
What is critical though is to be able to decide whether to build DefaultImpls light classes solely based on psi without triggering stubs calculation
2015-11-10 14:31:11 +03:00
Pavel V. Talanov
ad87ec12cd Fast implementation for KtLightClassForExplicitDeclaration#getContainingClass()
Prevent computing stubs for light classes for nested/inner classes when calling completion from java
2015-11-10 14:31:08 +03:00
Pavel V. Talanov
73cb94a3b2 FakeFileForLightClass: implement API correctly 2015-11-10 14:30:59 +03:00
Pavel V. Talanov
39dacbf3c8 Minor: better toString() 2015-11-10 14:30:58 +03:00
Pavel V. Talanov
1dd7e0edba Minor: do not pass psiManager redundantly 2015-11-10 14:30:57 +03:00
Pavel V. Talanov
6dbe8e8a1b Minor: KtLightClassForFacade remove old todos and fix toString 2015-11-10 14:30:55 +03:00
Pavel V. Talanov
2596197fd9 Test data: add package statements to some of the files in KotlinSourceInJavaCompletionTest test data
Since having package statement trigger additional checks that could potentially lead to stub computation
Tests FakeFileForLightClass
2015-11-10 14:30:54 +03:00
Pavel V. Talanov
085d95a5b8 Tests: Introduce LightClassComputationControl to track when stubs for light classes are built
Use it to track when light classes are built in KotlinSourceInJavaCompletionTest
2015-11-10 14:30:53 +03:00
Pavel V. Talanov
ec48b54032 Rename KotlinJavaFileStubProvider and remove StubGenerationStrategy class 2015-11-10 14:30:51 +03:00
Pavel V. Talanov
f5c4f82971 Fix exception from backend in light classes mode for null passed as annotation argument 2015-11-10 14:30:50 +03:00
Pavel V. Talanov
7e091d0df4 J2K KotlinJavaFileStubProvider: refactor code 2015-11-10 14:30:48 +03:00
Pavel V. Talanov
75b8985468 J2K KotlinJavaFileStubProvider: autoconvert and minor changes 2015-11-10 14:26:29 +03:00
Pavel V. Talanov
6f02c0593b J2K KotlinJavaFileStubProvider: rename file 2015-11-10 14:25:19 +03:00
Nikolay Krasko
23e35ab112 Teach index working with source roots with package prefix
#KT-9167 Fixed
2015-11-10 01:50:09 +03:00
Nikolay Krasko
c0739ef53c Add prefix information for Java source root (KT-9167 in progress)
#KT-9167 In Progress
2015-11-10 01:50:08 +03:00
Anton Sukhonosenko
c442eb89e3 #KT-5115 Fixed 2015-11-09 22:25:14 +03:00
Alexander Udalov
77138ecdb7 Add intrinsic functions to check availability of classes at runtime
Will be used whenever we add a new class to the runtime and use it in the
generated code: we'll now generate a call to one of these functions in <clinit>
of each class file which references the newly added class
2015-11-09 22:24:42 +03:00
Alexander Udalov
596a74d288 Code cleanup in reflection.jvm, generator scripts 2015-11-09 22:24:41 +03:00
Alexander Udalov
75bb15a9fc Do not wrap callable references when a special option is enabled 2015-11-09 22:24:41 +03:00
Alexander Udalov
1576160390 Improve implementation of callable reference superclasses
Previously to use reflection on them, you had to wrap an already created object
with a "Reflection.function" or "Reflection.propertyN" call, which the JVM
back-end was doing. This was not optimal in several senses and current solution
fixes that
2015-11-09 22:24:40 +03:00
Alexander Udalov
7d32524754 Do not fail with type cast when not needed in reflection.jvm 2015-11-09 22:24:40 +03:00
Alexander Udalov
1c889c4e67 Support equals, hashCode, toString for ::-references without reflection 2015-11-09 22:24:39 +03:00
Alexander Udalov
baa28de865 Add factory methods to create class references with internal names
Will be used in future versions to support references to mapped mutable
collections
2015-11-09 22:24:39 +03:00
Dmitry Jemerov
e64a270d1a more renames to get rid of "Jet" in class and method names 2015-11-09 19:07:11 +01:00
Michael Nedzelsky
a3241637ce #fix KT-9881 Incorrect error re: internal visibility
#KT-9881 Fixed
2015-11-09 17:41:00 +03:00
Mikhail Glukhikh
b468d5b0c6 No smart casts to Nothing? 2015-11-09 16:36:37 +03:00
Mikhail Glukhikh
2d9fbf5696 Always null detection 2015-11-09 16:36:34 +03:00
Dmitry Jemerov
ed1c94d0f9 remove incorrect and unnecessary TextConsoleBuilder initialization 2015-11-09 14:16:31 +01:00
Michael Bogdanov
7147c84396 Fix for KT-9897: Cannot pop operand off an empty stack" with -= on ArrayList element
#KT-9897 Fixed
2015-11-09 16:17:24 +03:00
Valentin Kipyatkov
4943a9fb35 Minor changes on code review 2015-11-09 15:45:38 +03:00
Valentin Kipyatkov
9968345845 Renames 2015-11-09 15:37:48 +03:00
Valentin Kipyatkov
d44b1eeb7e KT-9884 Completion in Evaluate Expression crashes
#KT-9884 Fixed
2015-11-09 15:37:48 +03:00
Valentin Kipyatkov
ac4cf540a4 Removed wrong TODO 2015-11-09 15:37:48 +03:00
Valentin Kipyatkov
80a1d94515 Non-imported top-level functions completion does not require second press 2015-11-09 15:37:48 +03:00
Valentin Kipyatkov
4c5d5ed18f Do not show "assertFailsWith" in any smart completion 2015-11-09 15:37:47 +03:00
Valentin Kipyatkov
63b5966212 Top-level callables are added one by one 2015-11-09 15:37:47 +03:00
Valentin Kipyatkov
5d56339aba More efficient getting of top-level callables 2015-11-09 15:37:47 +03:00
Valentin Kipyatkov
ae9482a36c Add static members into the list one by one 2015-11-09 15:37:47 +03:00
Valentin Kipyatkov
c38039144f Added checkCanceled 2015-11-09 15:37:47 +03:00
Valentin Kipyatkov
10e8455279 More safe 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
4da6a3cd50 No members from anonymous objects etc 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
97ca5f0389 Refactored 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
0ac60701fc Reused code 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
0c93ff5f1d Moved method 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
55612757cf More correct API 2015-11-09 15:37:46 +03:00
Valentin Kipyatkov
3cda866af0 Static members completion works in smart completion + fixed incorrect finding of java method descriptor that caused duplicated items 2015-11-09 15:37:45 +03:00
Valentin Kipyatkov
1283f5f4e1 Refactoring in smart completion 2015-11-09 15:37:45 +03:00
Valentin Kipyatkov
576b79de0a Removed unused parameter 2015-11-09 15:37:45 +03:00
Valentin Kipyatkov
4a182ac6e2 Fixing class names after rebase 2015-11-09 15:37:45 +03:00
Valentin Kipyatkov
7198b897ab Ordering of static members in completion 2015-11-09 15:37:45 +03:00
Valentin Kipyatkov
3bd508ca84 Static members completion includes SAM-adapters 2015-11-09 15:37:44 +03:00
Valentin Kipyatkov
ea804ed76e Makes no sense to return method names from PsiShortNamesCache if methods by name are not returned 2015-11-09 15:37:44 +03:00
Valentin Kipyatkov
06812aed11 Better completion for static members: special behavior in case of imports from same class exist 2015-11-09 15:37:44 +03:00
Valentin Kipyatkov
ca437e51c4 Initial implementation of KT-8209 Support static member completion without writing the class name 2015-11-09 15:37:44 +03:00
Nikolay Krasko
7be9699263 Make it possible to generate getTestsRoot() method with the test directory
Method can be used in setUp()
2015-11-07 01:27:35 +03:00
Nikolay Krasko
178aba54dd Test it's safe to call PsiElement methods on Kotlin light elements 2015-11-07 01:27:34 +03:00
Alexey Tsvetkov
7c752c1463 Minor: generate tests 2015-11-06 20:29:31 +03:00
Alexey Tsvetkov
8f43714c49 Fix minor issues after review 2015-11-06 16:46:40 +03:00
Alexey Tsvetkov
7d104d02dd Generate tests 2015-11-06 16:44:52 +03:00
Alexey Tsvetkov
ce7d1eb8e2 Add incremental compilation tests with lookup cache enabled 2015-11-06 16:44:52 +03:00
Alexey Tsvetkov
a3aa91551c Extract LookupStorage from LookupTrackerImpl 2015-11-06 16:44:52 +03:00
Alexey Tsvetkov
8b4d0ea077 Minor: rename file LookupTrackerImpl.kt -> LookupStorage.kt 2015-11-06 16:44:52 +03:00
Alexey Tsvetkov
322815c7de Fix minor naming/formatting issues after review 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
67878fe13a Use new lookup tracker only when experimental incremental compilation is enabled 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
7ebc58c690 Hash files without collisions 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
7572fb47d3 Remove entries when files are removed 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
87d836cd67 Hash file names 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
2160948980 Move BasicMapsOwner 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
dae5b8e39e Move all incremental cache value/externalizing types to corresponding files 2015-11-06 16:44:51 +03:00
Alexey Tsvetkov
9564a7a828 Extract BasicMapsOwner 2015-11-06 16:44:34 +03:00
Alexey Tsvetkov
f6f300d903 Move LookupMap 2015-11-06 16:43:32 +03:00
Alexey Tsvetkov
c9663340c9 Save lookups to incremental cache 2015-11-06 16:43:32 +03:00
Mikhail Glukhikh
873550b0bb lateinit setter now must have the same visibility as its property visibility 2015-11-06 13:34:00 +03:00
Michael Bogdanov
9d3fa7da80 Test for obsolete KT-8189: java.lang.UnsupportedOperationException: Don't know how to generate
#KT-8189 Obsolete
2015-11-06 12:17:07 +03:00
Michael Bogdanov
0619ef47ac Fix for KT-9877: CompilationError: Cannot pop operand of empty stack
#KT-9877 Fixed
2015-11-06 11:46:13 +03:00
Michael Bogdanov
4d77181692 Fix for KT-9855: java.lang.IllegalAccessError when using private package level operator method
#KT-9855 Fixed
2015-11-06 11:46:12 +03:00
Michael Bogdanov
bd2b01ac1c Fix for KT-5150: Accessors for private methods are not generated for get/set conventions
#KT-5150 Fixed
2015-11-06 11:46:12 +03:00
Michael Bogdanov
0fcaaa80df Fix for KT-9140: Default parameters are passed as nulls when using indexing [ ] invocation
#KT-9140 Fixed
2015-11-06 11:46:11 +03:00
Mikhail Glukhikh
b556037915 Smart casts to nothing after comparison with null 2015-11-06 10:57:06 +03:00
Michael Nedzelsky
981d471ebe fix KT-9843 Bug in incremental compilation: module is not recompiled when optional parameter added
and KT-8434 Removing parameter with default value from function in different module breaks incremental compilation

#KT-9843 Fixed

#KT-8434 Fixed
2015-11-06 07:45:46 +03:00
Michael Nedzelsky
3dbb117598 fix KT-7042 Providing return type for property setter is not reported as error
#KT-7042 Fixed
2015-11-06 06:32:20 +03:00
Michael Nedzelsky
e6a2bd05d4 fix KT-9652 Warning to specify expected type as Any? when it is already Any?
#KT-9652 Fixed
2015-11-06 06:32:07 +03:00
Michael Nedzelsky
c318a13e6c Error on using extension function type as an upper bound 2015-11-06 06:31:52 +03:00
Ilya Gorbunov
ee46ec1126 Drop deprecated threading extensions. 2015-11-06 01:12:11 +03:00
Ilya Gorbunov
850c1518c8 Fix Delegates.lazy usages in testData 2015-11-06 01:12:09 +03:00
Ilya Gorbunov
70fdc379ef Drop deprecated Delegates.lazy and blockingLazy and ObservableProperty constructor-like function 2015-11-06 01:12:07 +03:00
Ilya Gorbunov
219e69be22 Drop deprecated join function.
#KT-6909 Fixed
2015-11-06 01:12:05 +03:00
Ilya Gorbunov
de77ee6d63 Replace deprecated join with joinToString in idl2k 2015-11-06 01:12:04 +03:00
Ilya Gorbunov
62b532ec66 Replace deprecated join with joinToString in testData 2015-11-06 01:12:02 +03:00
Ilya Gorbunov
f3ff2e2e76 Replace deprecated join with joinToString 2015-11-06 01:12:00 +03:00
Ilya Gorbunov
183523cf24 Refactoring: move engine related classes to subdirectory. 2015-11-06 00:48:13 +03:00
Ilya Gorbunov
f9bfeb0f32 Doc templating: name things properly 2015-11-06 00:46:05 +03:00
Ilya Gorbunov
cb79aadb9d Accept out-projections of arrays for unzip. 2015-11-06 00:37:01 +03:00
Stanislav Erokhin
55157df3eb Removed MemberScope.ownerDescriptor 2015-11-06 00:01:35 +03:00
Stanislav Erokhin
22f78b148c Removed usages of MemberScope.ownerDescriptor property. 2015-11-06 00:01:34 +03:00
Stanislav Erokhin
b8e828e040 Minor. Changed signature of SamConversionResolver.resolveSamConstructor 2015-11-06 00:01:33 +03:00
Stanislav Erokhin
c73d091c52 Minor. Fix compilation(KT-9898 Impossible implement kotlin interface in java) 2015-11-06 00:01:31 +03:00
Stanislav Erokhin
b3e69a5f5d Created common supertype for HierarchicalScope and MemberScope-- ResolutionScope 2015-11-06 00:01:30 +03:00
Stanislav Erokhin
c4582d0e0c Replace function MemberScope.getContainingDeclaration() to property ownerDescriptor 2015-11-06 00:01:30 +03:00
Valentin Kipyatkov
52dc23012f Changed parsing of object and enum entries to drop "KtObjectDeclarationName" 2015-11-05 23:21:22 +03:00
Natalia Ukhorskaya
03cda7f4d1 Access javaTask.classpath property only in doFirst because otherwise it doesn't contain classes added after apply of kotlin plugin
#KT-7277 Fixed
 #KT-9899 Fixed
2015-11-05 19:19:15 +03:00
Natalia Ukhorskaya
b54afdf144 Minor: rename methods 2015-11-05 19:19:15 +03:00
Natalia Ukhorskaya
05dbb875a9 Minor: fix warnings 2015-11-05 19:19:14 +03:00
Valentin Kipyatkov
cacc50dc32 Minor 2015-11-05 17:47:56 +03:00
Valentin Kipyatkov
25be00d9d9 Added TODOs 2015-11-05 17:47:56 +03:00
Valentin Kipyatkov
58fc0b6ec8 Fixed special item after "super." not working for fake override super 2015-11-05 17:47:55 +03:00
Valentin Kipyatkov
bec6c29cb4 Fixing class names after rebase 2015-11-05 17:47:55 +03:00
Valentin Kipyatkov
e33e1ef8d7 KT-8968 Special completion after "super."
#KT-8968 Fixed
2015-11-05 17:47:55 +03:00
Valentin Kipyatkov
99b35257c6 Preference of right member after "super." and not only 2015-11-05 17:47:55 +03:00
Valentin Kipyatkov
731f19ee36 Changed behavior 2015-11-05 17:47:54 +03:00
Valentin Kipyatkov
b73c574d19 Correct completion after "super."
#KT-8406 Fixed
2015-11-05 17:47:54 +03:00
Valentin Kipyatkov
218c0cfff7 KT-9875 False unused import in kotlinSpacingRules.kt
#KT-9875 Fixed
2015-11-05 17:47:54 +03:00
Mikhail Glukhikh
5e9aa38950 More precise type handling for equality #KT-2311 Fixed 2015-11-05 17:29:34 +03:00
Sergey Mashkov
137a20e0ed JS: better diagnostics for missing test files 2015-11-05 14:41:30 +01:00
Sergey Mashkov
703367c5c7 Update tests due to removed DOM utilities 2015-11-05 14:41:30 +01:00
Sergey Mashkov
20aff28266 JS: update webdemo canvas examples 2015-11-05 14:41:29 +01:00
Sergey Mashkov
3b68aaa84c JS: fix rhino 64k issue 2015-11-05 14:41:29 +01:00
Sergey Mashkov
29973d714e Remove DOM utilities, put temporary to JS to keep compatibility 2015-11-05 14:41:28 +01:00
Sergey Mashkov
e9fbebaea2 JS: drop deprecated declarations 2015-11-05 14:41:28 +01:00
Sergey Mashkov
77d3db635b Remove browser.document 2015-11-05 14:17:44 +01:00
Alexander Udalov
dce64c974f Don't output error for "kotlinc -version"
#KT-9676 Fixed
2015-11-05 15:13:19 +03:00
Alexander Udalov
5335a81f7d Minor, add JvmField to a constant 2015-11-05 15:11:33 +03:00
Stanislav Erokhin
2c3f58eeb7 Renamed methods in MemberScope from getSmth to getContributedSmth 2015-11-05 14:34:00 +03:00
Stanislav Erokhin
6f9d9759ce Renamed KtScope to MemberScope 2015-11-05 14:34:00 +03:00
Alexander Udalov
748c0e7149 Don't assert that annotation class has constructor in AnnotationDeserializer
#KT-9758 Fixed
2015-11-05 13:42:31 +03:00
Ilya Gorbunov
1a0c2e2cf6 In-place sorting.
#KT-9034
2015-11-05 09:04:31 +03:00
Ilya Gorbunov
5e9b7b9e60 Collections.sort without comparator now uses natural order.
#KT-9771 Fixed
2015-11-05 09:03:30 +03:00
Ilya Gorbunov
d5edbfd005 Refactoring: do not use own classes for nullsFirst and nullsLast wrappers of natural order. 2015-11-05 09:03:29 +03:00
Ilya Gorbunov
fa261a7697 Add override for default method of Comparator from JDK8 2015-11-05 09:03:07 +03:00
Ilya Gorbunov
2b676e08bc Introduce naturalOrder<T> and reverseOrder<T> comparators. 2015-11-05 09:03:05 +03:00
Ilya Gorbunov
83fef68876 Add more cases to array in-place reversing test.
Add array of objects case to all reversing tests.
2015-11-05 09:03:03 +03:00
Ilya Gorbunov
4fc54a12b8 In-place reversing.
#KT-9034
2015-11-05 09:02:58 +03:00
Ilya Gorbunov
1400bdc09a Do not allow removeSurrounding remove overlapping prefix and suffix. 2015-11-04 22:19:59 +03:00
Ilya Gorbunov
05fd2b012a Provide overloads both for Strings and CharSequences of filter, filterNot, reversed and partition 2015-11-04 22:19:57 +03:00
Ilya Gorbunov
62d6bcaa6d Provide overloads both for Strings and CharSequences of removePrefix, removeSuffix, removeSurronding, trim* and pad*, replaceRange & removeRange 2015-11-04 22:19:55 +03:00
Ilya Gorbunov
2ed611e2c5 Docs corrections. 2015-11-04 22:19:52 +03:00
Ilya Gorbunov
0dd7e398c7 Use reverse indexed iteration in last and lastOrNull with predicate for CharSequences and Strings. 2015-11-04 22:19:50 +03:00
Ilya Gorbunov
8c16fad8b1 Make more string tests cross-platform. 2015-11-04 22:19:48 +03:00
Ilya Gorbunov
5373c380ac Remove obsolete extensions conflicting with stdlib 2015-11-04 22:19:46 +03:00
Ilya Gorbunov
f20bfa7fb8 Fix test expectation failures caused by changed signatures. 2015-11-04 22:19:45 +03:00
Ilya Gorbunov
d021a324aa Test CharSequence extension methods both for String and StringBuilder 2015-11-04 22:19:43 +03:00
Ilya Gorbunov
64338e896d Use CharSequence in split, splitToSequence, lines 2015-11-04 22:19:41 +03:00
Ilya Gorbunov
8c5ac26613 Use CharSequence in repeat and joinToString. 2015-11-04 22:19:39 +03:00
Ilya Gorbunov
b4b84a38d5 Use templating in the docs for generated code to name things properly. 2015-11-04 22:19:37 +03:00
Ilya Gorbunov
5b055ac663 Preserve type of subsequence in drop* and take* operations.
Validate argument of drop (required in JS, more meaningful exception in JVM)
2015-11-04 22:19:35 +03:00
Daniel Rothmaler
67229401c6 Add set operator to make the work with StringBuilder more list-like.
Make StringBuilder.set jvm-only.
Move jvm-specific test.
2015-11-04 22:19:33 +03:00
Ilya Gorbunov
e155e426c2 Implement CharSequence.regionMatches and generalize depending String extensions to take CharSequence.
Add hidden declarations for replaced overloads with String receiver in hand-written code.
2015-11-04 22:19:31 +03:00
Ilya Gorbunov
47560d3db1 Add hidden declarations for replaced overloads with String receiver in hand-written code. 2015-11-04 22:19:29 +03:00
Ilya Gorbunov
59b67b32c4 Add hidden declarations for replaced overloads with String receiver in generated code. 2015-11-04 22:19:27 +03:00
Ilya Gorbunov
935e606b64 Generalize String extensions to take CharSequence as receiver and parameters where applicable: generated code.
Exclude Strings family from default families.
2015-11-04 22:19:26 +03:00
Ilya Gorbunov
4a621cbb5f Generalize String extensions to take CharSequence as receiver and parameters where applicable. 2015-11-04 22:19:24 +03:00
Ilya Gorbunov
05615dd48b Introduce String.toByte()
#KT-8833 Fixed
2015-11-04 22:19:22 +03:00
Ilya Gorbunov
9bbe0d67ff Do not treat directory with copied test sources for js library as source root, as it confuses debugger under certain circumstances.
Remove duplicated test.
2015-11-04 22:19:20 +03:00
Zalim Bashorov
c456ab0f74 Minor: refactoring ExpressionTypingUtils#checkVariableShadowing -- inline the search older descriptor 2015-11-04 22:15:39 +03:00
Zalim Bashorov
1eb9bf2592 Minor: remove accidentally forgotten Deprecated annotation 2015-11-04 22:15:37 +03:00
Zalim Bashorov
04fed203e4 Add tests for lookups to enum static scope and to companion object scope 2015-11-04 22:15:37 +03:00
Zalim Bashorov
1e51e333ab Minor: add comments to LazyJavaStaticClassScope, LazyJavaPackageScope and StaticScopeForKotlinClass 2015-11-04 22:11:34 +03:00
Zalim Bashorov
a6855116b8 Track lookups for nested/inner Java classes 2015-11-04 22:09:55 +03:00
Stanislav Erokhin
87f32ef07b Minor. fix testdata 2015-11-04 14:28:29 +03:00
Stanislav Erokhin
a90ca14033 Removed KtScope.Empty and created util function emptyScope 2015-11-04 14:28:28 +03:00
Stanislav Erokhin
4e891a3f98 Minor. moved util method to Companion of LexicalScope 2015-11-04 14:28:27 +03:00
Stanislav Erokhin
2c7746cafd Minor. Simplified code. 2015-11-04 14:28:27 +03:00
Stanislav Erokhin
b02da0dc2f Created custom LexicalScope wrapper for resolving callable reference. 2015-11-04 14:28:26 +03:00
Stanislav Erokhin
f7629b0c84 Removed getAllDescriptors() and getOwnDeclaredDescriptors() from KtScope 2015-11-04 14:28:25 +03:00
Stanislav Erokhin
0b5de434fa Removed usages KtScope.getAllDescriptors 2015-11-04 12:41:34 +03:00
Stanislav Erokhin
21fdd2ffc3 Created common supertype for LexicalScope & ImportingScope -- HierarchicalScope 2015-11-04 12:41:33 +03:00
Stanislav Erokhin
4c36e20242 Moved FilteringScope to frontend module 2015-11-04 12:41:32 +03:00
Stanislav Erokhin
6412df2e0b Change return type of KtScope.getProperties() 2015-11-04 12:41:32 +03:00
Stanislav Erokhin
7cd667c0e3 Removed unused methods from KtScope. 2015-11-04 12:41:31 +03:00
Stanislav Erokhin
cc56cf6292 Removed several hacks from ScopeUtils.kt 2015-11-04 12:41:30 +03:00
Stanislav Erokhin
711daa459a Minor. Removed util method LexicalScope.asKtScope() 2015-11-04 12:41:30 +03:00
Stanislav Erokhin
40146a0df8 Minor. Make WritableScopeStorage abstract class 2015-11-04 12:41:29 +03:00
Stanislav Erokhin
5c6134af81 Minor. Removed WritableScopeImpl. 2015-11-04 12:41:28 +03:00
Stanislav Erokhin
a5c9f4d353 Minor. removed usage WritableScopeImpl from tests 2015-11-04 12:41:27 +03:00
Stanislav Erokhin
c8d9cfcd7b Minor. removed usage WritableScopeImpl from JetTypeCheckerTest 2015-11-04 12:41:27 +03:00
Stanislav Erokhin
6ad23f23c5 Minor. removed useless call 2015-11-04 12:41:26 +03:00
Stanislav Erokhin
e0bacb2680 Minor. remove usage of WritableScopeImpl 2015-11-04 12:41:25 +03:00
Stanislav Erokhin
c1fa973324 Minor. remove usage of WritableScope 2015-11-04 12:41:25 +03:00
Stanislav Erokhin
71620d2ed1 Minor. Move LockLevel to LexicalWritableScope 2015-11-04 12:41:24 +03:00
Stanislav Erokhin
fe61f41a94 Minor. remove unused import 2015-11-04 12:41:23 +03:00
Nikolay Krasko
a614dfd90c Fix build 2015-11-04 11:50:25 +03:00
Nikolay Krasko
e10f7fb464 Don't report missing getValue/setValue method error when it's was impossible to finish resolve
#KT-9803 Fixed
2015-11-04 02:31:15 +03:00
Nikolay Krasko
f518f5fb9f Extension operator function should be automatically imported for java function with the same name (KT-9406)
There's no need to import extension for Java operators anymore. Import for Kotlin functions.

 #KT-9406 Fixed
2015-11-04 02:31:12 +03:00
Nikolay Krasko
4ce87665c3 Don't store diagnostics in actions as they might contain descriptors and this will prevent them from GC 2015-11-04 02:31:10 +03:00
Ilya Gorbunov
05c2edf60c Drop deprecated merge functions. 2015-11-04 00:05:47 +03:00
Ilya Gorbunov
65a98d6968 Temporary drop mapNotNull and mapNotNullTo.
Disable mapNotNull tests

#KT-4410
2015-11-04 00:05:45 +03:00
Ilya Chernikov
b71fec985f Adding possibility to skip params inheritance on daemon jvm options creation, refactoring appropriate api, using it to fix tests 2015-11-03 21:56:31 +01:00
Ilya Gorbunov
3a82225201 Deprecate toGenerator and toLinkedList extensions. 2015-11-03 22:41:06 +03:00
Dmitry Jemerov
0997f78764 fix CodeConformanceTest redux 2015-11-03 18:32:06 +01:00
Dmitry Jemerov
fd2c75f03b fix CodeConformanceTest 2015-11-03 17:34:56 +01:00
Ilya Chernikov
10036d7ef3 Enabling parallel builds in JPS without daemon, enabling application environment disposing in tests, introducing keepalive property constant 2015-11-03 14:18:22 +01:00
Ilya Chernikov
63e1fa4cc0 Simplifying cleanup in gradle plugin after introducing ZipHandle.clearFileAccessorCache method in the platform, minor refactoring 2015-11-03 14:18:21 +01:00
Ilya Chernikov
90bb8b2be9 Generalizing daemon process shutdown mechanism 2015-11-03 14:18:21 +01:00
Ilya Chernikov
6a1c82d101 hiding compiler digest management inside the compiler service, implement simple lazy checking mechanism, using it from clients 2015-11-03 14:18:20 +01:00
Ilya Chernikov
2fa7b53d2c Implementing utilities to detect OS type and apprpriate location of runtime data files, using it to determine daemon run dir. Fixes KT-9696 2015-11-03 14:18:19 +01:00
Ilya Chernikov
bf16efb8cc Adding test for parallel compilation with daemon 2015-11-03 14:18:18 +01:00
Ilya Chernikov
2dfca72f38 Passing port through daemon client API to allow port reusing for client-side components, introducing operations tracer interface for testing purposes 2015-11-03 14:18:17 +01:00
Dmitry Jemerov
3f46a13a56 regenerate tests 2015-11-03 14:08:59 +01:00
Dmitry Jemerov
19af88738b remove Jet from names of classes in tests: phase 2 2015-11-03 14:06:04 +01:00
Dmitry Jemerov
c604f98a1c remove Jet from names of classes in tests: phase 1 2015-11-03 14:06:03 +01:00
Michael Bogdanov
86f8845c00 Fix for KT-8928: NoSuchMethodError on private property setter in companion object
#KT-8928 Fixed
2015-11-03 15:41:22 +03:00
Michael Bogdanov
559b85caa8 Test for obsolete KT-6382: Incorrect bridge method calls are generated for member extension functions with default parameters
#KT-6382 Obsolete
2015-11-03 15:40:16 +03:00
Michael Bogdanov
9daa44566b Fix for KT-5589: VerifyError when default value for parameter of local function is obtained from closure
#KT-5589 Fixed
2015-11-03 15:40:16 +03:00
Anton Sukhonosenko
141ffa27dc val / var are now forbidden on a loop multi declaration parameter #KT-6274 Fixed
VAL_OR_VAR_ON_LOOP_MULTI_PARAMETER error added
KtValVarKeywordOwner interface added for PSIs that have getValOrVarKeyword method
2015-11-03 15:30:50 +03:00
Zalim Bashorov
54cb575819 Minor: fix generating LookupTracker tests 2015-11-03 14:01:47 +03:00
Valentin Kipyatkov
7a47e53398 Added a test 2015-11-03 13:43:28 +03:00
Mikhail Glukhikh
41ebfd025e More precise diagnostics of smart cast impossible #KT-7240 Fixed 2015-11-03 13:38:51 +03:00
Dmitry Jemerov
16a8e8f6f0 test fixed 2015-11-03 11:18:14 +01:00
Mikhail Glukhikh
03aaddd379 More correct handling of possible type set during assignment #KT-8229 Fixed 2015-11-03 12:49:21 +03:00
Valentin Kipyatkov
bbea70a005 Minor changes on code review 2015-11-03 11:46:19 +03:00
Valentin Kipyatkov
c11bf32594 More correct shadowed declarations filtering in completion 2015-11-03 11:46:19 +03:00
Valentin Kipyatkov
67cf9f9510 More correct & quick check of descriptor being from library 2015-11-03 11:46:19 +03:00
Valentin Kipyatkov
b05d490eeb Performance optimization in completion: search context variables of functional types later 2015-11-03 11:46:18 +03:00
Mikhail Glukhikh
0a5a5a2e36 More precise diagnostics is added for smart cast impossible #KT-8810 Fixed 2015-11-03 11:15:58 +03:00
Michael Bogdanov
15eaa15b65 Fix for KT-7421: Unable to inherit from inner class
Fix for KT-6708: Compiler Error when extending open inner class: "java.lang.RuntimeException: Error generating primary constructor of class InnerB with kind IMPLEMENTATION"

  #KT-7421 Fixed
  #KT-6708 Fixed
2015-11-03 10:14:57 +03:00
Michael Bogdanov
65b85711e3 Fix for KT-3335: Creating imported super class' inner class fails in codegen
#KT-3335 Fixed
2015-11-03 10:14:56 +03:00
Dmitry Jemerov
3bd7f87d2b rename "Jet" from names of IDE classes; consistently use Kt prefix for PSI elements and classes directly related to specific PSI elements 2015-11-02 18:49:35 +01:00
Pavel V. Talanov
fff404780c Add capabilities to moduleDescriptor as a way to put user data into module
Add OriginCapability to ide modules
2015-11-02 20:38:10 +03:00
Dmitry Jemerov
736b496f6a drop deprecated @platformName and @platformStatic annotations 2015-11-02 17:00:44 +01:00
Pavel V. Talanov
15370244dc Minor in JavaAgainstKotlinCheckerTest: improve test data for EnumAutoGeneratedMethods case 2015-11-02 18:39:03 +03:00
Pavel V. Talanov
ce4a950697 AbstractSearcherTest: check member kind in test data not the psi implementation class
It is not what should be tested in this test
2015-11-02 18:39:01 +03:00
Pavel V. Talanov
78bb44850d Minor: KotlinAnnotationLightMethod -> KotlinLightAnnotationMethod 2015-11-02 18:39:00 +03:00
Pavel V. Talanov
9f5c0741bd KotlinLightField: create KotlinLightEnumConstant based on delegate psi, not whether could find original declaration
This was not true for decompiled classes and led to enum entries from kotlin compiled files being unresolved in java
2015-11-02 18:38:58 +03:00
Pavel V. Talanov
226c2e3b5c Implement getParent for KotlinLightClassForDecompiledDeclaration
Fixes a bug where java resolve would be unable to resolve return types of CompiledKotlinEnum.values()/valueOf() methods
Tested by EnumAutoGeneratedMethods java against kotlin checker test
2015-11-02 18:38:56 +03:00
Pavel V. Talanov
8c4db9bd35 Fix test data so that it can be compiled 2015-11-02 18:38:55 +03:00
Pavel V. Talanov
f6e6ead907 Add java checker test to test loading inner/nested classes 2015-11-02 18:38:53 +03:00
Pavel V. Talanov
e5f075c7f6 Refactor light fields: move all implementation into one file and prettify code 2015-11-02 18:38:52 +03:00
Pavel V. Talanov
e6b498f943 J2K KotlinLightField: convert and fix compilation 2015-11-02 18:38:50 +03:00
Pavel V. Talanov
d7519225a0 J2K KotlinLightField: rename file 2015-11-02 18:38:49 +03:00
Pavel V. Talanov
f8efdacefd Refactor light methods: drop KotlinLightMethodForTraitFake and KotlinNoOriginLightMethod
Move two remaining meaningful implementation into one place
Move code that choose which implementation to use out of KotlinWrappingLightClass
2015-11-02 18:38:47 +03:00
Pavel V. Talanov
bca516bac3 KtClassBody: get parent by stub is possible 2015-11-02 18:38:43 +03:00
Pavel V. Talanov
be668fc4f5 Introduce JavaAgainstKotlinBinariesTest 2015-11-02 18:38:42 +03:00
Pavel V. Talanov
506b5509f3 KotlinAndJavaCheckerTest -> JavaAgainstKotlinSourceTest and make it generated 2015-11-02 18:38:38 +03:00
Pavel V. Talanov
6b391d6ed2 Make sure constant values for primary constructor parameters default values are written to trace when building light classes for annotation classes 2015-11-02 18:38:37 +03:00
Pavel V. Talanov
03d57e91ec J2K ValueParameterDescriptorImpl: convert and prettify 2015-11-02 18:38:33 +03:00
Pavel V. Talanov
bbd047f932 J2K ValueParameterDescriptorImpl: rename file 2015-11-02 18:38:32 +03:00
Pavel V. Talanov
dc1fbe89ec J2K ValueParameterDescriptor inteface in one go 2015-11-02 18:38:30 +03:00
Pavel V. Talanov
4a3632f70e Backend: generate default values for annotation parameters in light classes mode 2015-11-02 18:38:26 +03:00
Pavel V. Talanov
0b11dc1d7f KotlinAndJavaCheckerTest: Add test for annotating java code with kotlin annotations 2015-11-02 18:38:25 +03:00
Pavel V. Talanov
6a7ecbfd02 Add completion test for annotation parameter 2015-11-02 18:38:23 +03:00
Pavel V. Talanov
5f4bb4e941 Add test for annotation parameter reference 2015-11-02 18:38:22 +03:00
Pavel V. Talanov
69b3e5e21e Add light class test for annotation class 2015-11-02 18:38:20 +03:00
Pavel V. Talanov
37c17ba71e Light classes: correct wrappers for annotation methods 2015-11-02 18:38:19 +03:00
Nikolay Krasko
cde6388e26 getValue and setValue are now operators 2015-11-02 18:23:42 +03:00
Zalim Bashorov
5d72629b0b Add test for lookups in generic constraints; Add cases with lookup to companion and nested object; 2015-11-02 18:18:37 +03:00
Zalim Bashorov
1cf0ca9287 Minor: add new entries to NoLookupLocation and remove UNSORTED 2015-11-02 18:18:36 +03:00
Zalim Bashorov
d5bccd8cdc Minor: remove the no longer needed function KtScope::getClassifier(Name) 2015-11-02 18:18:36 +03:00
Zalim Bashorov
16d585e204 Don't track lookups:
* when find local variables
  we don't need them for incremental compilation;
* when check overrides
  we going to track inheritance separatly;
* when get companion object descriptor;
* when find Descriptor by fqname
  isn't interesting now because used from light-classes and and java-loder;
* when create qualifier
  we already looked up names in this context before.
2015-11-02 18:18:35 +03:00
Zalim Bashorov
2741215ed2 Don't track lookups from deserializer & java loader 2015-11-02 18:18:35 +03:00
Zalim Bashorov
d78d96a856 Don't track lookups to EnumEntryScope and when check names in constraints 2015-11-02 18:18:34 +03:00
Zalim Bashorov
5a6bcea826 Introduce location in SamConversionResolver::resolveSamConstructor and provide right location in usages 2015-11-02 18:18:33 +03:00
Zalim Bashorov
4cb5398c04 Add tests for lookups to declarations form Java 2015-11-02 18:18:32 +03:00
Zalim Bashorov
519172f182 Add tests for lookups to deserialized and java scopes 2015-11-02 18:18:32 +03:00
Zalim Bashorov
3484c43c8c Minor: fix testdata 2015-11-02 18:18:31 +03:00
Zalim Bashorov
24037c8bf4 Added "touch" command to incremental tests and implemented; Implemented more accurate checking lookups after modifications 2015-11-02 18:18:31 +03:00
Zalim Bashorov
c6aa94d30a Track lookups in LazyJavaScope ans LazyJavaPackageScope 2015-11-02 18:18:30 +03:00
Zalim Bashorov
47f1975879 Track lookups in DeserializedMemberScope 2015-11-02 18:18:29 +03:00
Zalim Bashorov
a5d8b47083 Refactoring: introduced val location: LocationInfo? in LookupLocation and use it in LookupTracker::record 2015-11-02 18:18:29 +03:00
Zalim Bashorov
81a288b42c Add LookupTracker to DeserializationComponents 2015-11-02 18:18:28 +03:00
Zalim Bashorov
f1638bf6fd Minor: simplify code 2015-11-02 18:18:27 +03:00
Alexey Sedunov
520e90acf1 Minor: Use kotlin.lazy instead of kotlin.Delegates.lazy in KtPsiFactory.CallableBuilder 2015-11-02 15:15:44 +03:00
Alexey Sedunov
5e223927ea Change Signature: Match calls of different overloads generated due to @JvmOverloads annotation
#KT-9020 Fixed
2015-11-02 15:15:43 +03:00
Alexey Sedunov
6b346d9e77 Change Signature: Drop light method filtering as old-style package facades are not supported anymore 2015-11-02 15:15:41 +03:00
Alexey Sedunov
7ce6f58c27 Change Signature: Constraint indices of parameters generated for overloaded versions of function with @JvmOverloads annotation
#KT-9762 Fixed
2015-11-02 15:15:40 +03:00
Alexey Sedunov
6a72b51677 Change Signature: Run tests with Kotlin stdlib 2015-11-02 15:15:39 +03:00
Alexey Sedunov
4f09bdfe70 Change Signature: Placed kotlin processor after the java one. Fix processUsage() to pass non-Kotlin usages to further processors (if any)
#KT-9219 Fixed
2015-11-02 15:15:38 +03:00
Alexey Sedunov
307778ba79 J2K: JetChangeSignatureUsageProcessor 2015-11-02 15:15:36 +03:00
Alexey Sedunov
dc3a799acb J2K: Rename JetChangeSignatureUsageProcessor.java to .kt 2015-11-02 15:15:35 +03:00
Alexey Sedunov
1de3faf3f5 Codegen: Fix origin of overloaded methods generated for constructors with @JvmOverloads
Find Usages: Add tests for declarations annotated with @JvmOverloads
 #KT-8534 Fixed
2015-11-02 15:15:34 +03:00
Alexey Sedunov
b9ed3b91be Change Signature: Fix descriptor comparison when receiver type is changed
#KT-9201 Fixed
2015-11-02 15:15:33 +03:00
Alexey Sedunov
937b8725c6 Change Signature/Rename: Fix processing of named arguments when renaming parameter of extension function
#KT-8605 Fixed
2015-11-02 15:15:32 +03:00
Alexey Sedunov
18ed3055ee Introduce Variable: Allow introduction of variables with 'dynamic' type
#KT-8483 Fixed
2015-11-02 15:15:31 +03:00
Alexey Sedunov
6dd58ad197 Inline: Fix inlining of if-expressions into qualified expressions
#KT-8008 Fixed
2015-11-02 15:15:29 +03:00
Alexey Sedunov
89132b3f66 Generate Secondary Constructor: Forbid inside of class with explicit primary constructor 2015-11-02 15:15:28 +03:00
Alexey Sedunov
22393d4cd2 Formatter: Use formatter to automatically insert semicolons after the last enum entry when needed 2015-11-02 15:15:26 +03:00
Dmitry Petrov
d060687775 Package vs class conflict in qualifier resolution:
- add test for unresolved 'a.a' after 'import a.a';
- added TODO in copy-paste test for 'a.a'
2015-11-02 10:22:50 +03:00
Dmitry Petrov
e1cb13bd90 Qualifier no longer defers "(nested) class vs package" resolution.
Consider FQN 'a.b.c'.
If 'a' is a classifier in the current scope,
    resolve rest in the corresponding class scope.
Otherwise (if 'a' is a package),
    find the maximum possible prefix 'a.b' resolving to a package,
    resolve rest in the corresponding package scope.
2015-11-02 10:22:50 +03:00
Alexander Udalov
a950f36fd7 Minor, fix test data 2015-10-31 13:52:04 +03:00
Stanislav Erokhin
25a168d2a4 Minor. Fix potential deadlock 2015-10-31 10:01:08 +03:00
Stanislav Erokhin
77411b2181 Allowed call value with extension function type as simple function type. 2015-10-31 10:01:07 +03:00
Denis Zharkov
b6f724cf58 Disconnect loops between upper bounds of type parameters
#KT-9759 Fixed
2015-10-31 09:33:46 +03:00
Denis Zharkov
9b4ad1466a Minor. Extract 'getAllUpperBounds' 2015-10-31 09:33:46 +03:00
Denis Zharkov
18097c0ab7 Introduce 'SupertypeLoopsResolver' and inject it's impls 2015-10-31 09:33:46 +03:00
Denis Zharkov
0bc5043c75 Extract and convert 'findLoopsInSupertypesAndDisconnect' 2015-10-31 09:33:45 +03:00
Denis Zharkov
8ba2dc5530 Simplify detecting loops in classes supertypes 2015-10-31 09:33:45 +03:00
Yan Zhulanow
33d67a3bf4 Fix JvmField applicability test data
(Annotation is not applied both to field & getter now)
2015-10-31 04:30:24 +03:00
Alexander Udalov
b5f89100f6 Remove obsolete SCRIPT markers 2015-10-30 23:41:32 +03:00
Alexander Udalov
c75d96b82c Add testcase for fixed issue
#KT-9850 Fixed
2015-10-30 23:41:10 +03:00
Michael Nedzelsky
48929f3edf Test for obsolete KT-9277
#KT-9277 Obsolete
2015-10-30 18:57:48 +03:00
Michael Nedzelsky
dbc00baa48 Test for obsolete KT-5508
#KT-5508 Obsolete
2015-10-30 18:57:45 +03:00
Michael Nedzelsky
947b4d4ce8 Test for obsolete KT-3343
#KT-3343 Obsolete
2015-10-30 18:57:42 +03:00
Valentin Kipyatkov
d38b3146db More correct completion of overrides in constructor parameters - '$' character confuses parser 2015-10-30 17:43:28 +03:00
Valentin Kipyatkov
c2cf95bcd4 KT-9787 Auto-popup parameter info on typing '['
#KT-9787 Fixed
2015-10-30 17:43:28 +03:00
Valentin Kipyatkov
def0e01e8d KT-9684 Add kotlinx.android.synthetic package to default imports with '*'
#KT-9684 Fixed
2015-10-30 17:43:27 +03:00
Valentin Kipyatkov
ebe3efe710 Minor 2015-10-30 17:43:26 +03:00
Valentin Kipyatkov
7e2b37bb0f KT-9813 Parameter name&type completion gets in the way of typing
#KT-9813 Fixed
2015-10-30 17:43:26 +03:00
Valentin Kipyatkov
752cdd5f83 KT-9815 Import insertion (on Alt-Enter) does not work in Evaluate Expression
#KT-9815 Fixed
2015-10-30 17:43:25 +03:00
Valentin Kipyatkov
61fc3e7705 Added test for auto-import fix in code fragment 2015-10-30 17:37:24 +03:00
Valentin Kipyatkov
ce50a27af0 KT-9729 Invert If Condition intention should run Simplify Negated Expression when applicable
#KT-9729 Fixed
2015-10-30 17:25:36 +03:00
Valentin Kipyatkov
87f68f3332 KT-9688 Completion of methods to override: prefer those that need to be implemented
#KT-9688 Fixed
2015-10-30 17:25:36 +03:00
Valentin Kipyatkov
acc451bc54 KT-9723 Completion of override property in constructor produces bad formatting
#KT-9723 Fixed
2015-10-30 17:25:36 +03:00
Valentin Kipyatkov
c643eb14a1 No i18n 2015-10-30 17:25:36 +03:00
Valentin Kipyatkov
3c1538997e Fixed "Make class open" in case of primary constructor
#KT-9767 Fixed
2015-10-30 17:25:36 +03:00
Valentin Kipyatkov
fc924d1c9f Not operator 2015-10-30 17:25:35 +03:00
Valentin Kipyatkov
d289ebd874 Cannot make any object 'abstract' 2015-10-30 17:25:35 +03:00
Valentin Kipyatkov
2b97a1034f Converted to Kotlin 2015-10-30 17:25:35 +03:00
Valentin Kipyatkov
2b3694a77e Do not drop use of SAM-constructor when it's required for labeled return 2015-10-30 17:25:35 +03:00
Valentin Kipyatkov
34298190b3 Use unaryPlus() and unaryMinus() instead of plus() and minus() + no identityEquals() 2015-10-30 17:25:35 +03:00
Valentin Kipyatkov
c5e13ebc68 Minor corrections on code review 2015-10-30 17:25:34 +03:00
Michael Bogdanov
7ee42ab18d Fix for KT-9828: DX error on MutableMap.MutableEntry<String, Int> deconstruction: attempt to set or access a value of type java.lang.Object using a local variable of type int.
#KT-9828 Fixed
2015-10-30 16:47:21 +03:00
Michael Nedzelsky
9a8b73c5a5 fix texts in error messages for Fintite Bound Restriction & Non-Expansive Inheritance Restriction 2015-10-30 16:39:19 +03:00
Mikhail Glukhikh
182cde1e02 Standard data flow analysis results are taken into account during condition analysis #KT-7933 Fixed 2015-10-30 16:14:34 +03:00
Mikhail Glukhikh
dd1196ae6b Condition analysis: left part of and (true condition) / or (false condition) is used for right part analysis #KT-8780 Fixed 2015-10-30 16:14:33 +03:00
Mikhail Glukhikh
12103d19d2 Smart casts inside property chains like a?.b?.c.foo(a, b) are now handled correctly #KT-7290 Fixed 2015-10-30 16:14:32 +03:00
Natalia Ukhorskaya
8be9be336f Fix NPE on stepping
#KT-9821 Fixed
2015-10-30 14:53:06 +03:00
Natalia Ukhorskaya
e1e845cef1 Fix conditional breakpoints 2015-10-30 14:53:06 +03:00
Michael Nedzelsky
3c855547e5 improve tests for access from tests to internal for maven and gradle (add override for internal function) 2015-10-30 14:42:44 +03:00
Michael Nedzelsky
6ebe0c30ec fix KT-9299 In a project with circular dependencies between modules, IDE reports error on use of internal class from another module, but the corresponding code still compiles and runs.
#KT-9299 Fixed
2015-10-30 14:40:46 +03:00
Mikhail Glukhikh
17b275af23 Preliminary declaration visitor: create for top-most declaration which is not class 2015-10-30 13:44:33 +03:00
Mikhail Glukhikh
932985f0c1 Preliminary declaration visitor: do not create if already exists 2015-10-30 13:34:01 +03:00
Valentin Kipyatkov
44e56c4b93 Correct scope declarations in completion for code fragments 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
5a69a17ab0 Minor 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
40d3f71e1a Temporary fix for completion of Android synthetic extensions 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
129f6f8532 Big refactoring of BasicCompletionSession 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
8b38d8d7b9 No top-level packages after "::" 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
46b9879c47 Added test 2015-10-30 12:03:53 +03:00
Valentin Kipyatkov
f44bbc375c Code refactoring + put named arguments completion into more reasonable order 2015-10-30 12:03:52 +03:00
Valentin Kipyatkov
4c6f6c2a2e Minor refactoring: excludeNonInitializedVariable() moved into ReferenceVariantsHelper 2015-10-30 12:03:52 +03:00
Valentin Kipyatkov
2e80a7194c Minor performance optimization 2015-10-30 12:03:52 +03:00
Valentin Kipyatkov
4ab2019da4 Competion in debugger for runtime receiver type should not show members grayed 2015-10-30 12:03:52 +03:00
Valentin Kipyatkov
af441d32b1 Minor corrections to "compareDescriptors" but still lot of question to its implementation and semantics 2015-10-30 12:03:52 +03:00
Valentin Kipyatkov
582443ea7b More efficient filtering of runtime receiver type variants in debugger 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov
3e3d86aebb A little bit more correct filtering 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov
0ee2b512ff Completion of non-imported extensions in debugger for runtime receiver type 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov
c9048266c8 Fixed extensions completion for runtime receiver type in debugger (broken by previos changes in extensions completion) 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov
a26f6da12d Do not filter out synthetic extensions (if they will ever exist in future) 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov
9feed9c3ef Fixed filtering of shadowed declarations after changes in extensions treatment 2015-10-30 12:03:50 +03:00
Valentin Kipyatkov
be5569d31a Performance optimization in completion: do not analyze all extensions available from imports - use index 2015-10-30 12:03:50 +03:00
Michael Bogdanov
9f9217b9c3 Test for obsolete KT-9642
#KT-9642 Obsolete
2015-10-30 09:39:11 +03:00
Michael Bogdanov
f3092bf390 Fix for KT-9637: Runtime crash when using class literal in inline functions with reified type parameters
#KT-9637 Fixed
2015-10-30 09:39:10 +03:00
Michael Bogdanov
34fccc6dae Fix for KT-6990: inline reified doesn't inline call in some cases
#KT-6990 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov
33bf314518 Fix for KT-6552 IllegalAccessError in inline function with "when" over enum across modules
#KT-6552 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov
9e5af43ce1 Fix for KT-9788: AssertionError from back-end when we read field from inline function
#KT-9788 Fixed
2015-10-30 09:39:08 +03:00
Alexander Udalov
7046f63511 Move/inline stuff from TypeUtils to other modules 2015-10-29 21:16:07 +03:00
Alexander Udalov
5677ff60e7 Move/inline stuff from DescriptorUtils to other modules 2015-10-29 21:16:06 +03:00
Alexander Udalov
2c64848826 Don't swallow exception in KotlinBuiltIns, assert instead
See 16b6bcc

 #KT-9820 Open
2015-10-29 21:16:05 +03:00
Alexander Udalov
4d909d9012 Move LexicalScope to frontend 2015-10-29 21:16:05 +03:00
Alexander Udalov
09a36acee4 Minor, remove HTML from kdoc 2015-10-29 21:16:04 +03:00
Denis Zharkov
9b29181878 Minor. Add Kotlin overrides to test
#KT-6733 Obsolete
2015-10-29 21:05:52 +03:00
Denis Zharkov
7eed041a7a Use original descriptor when obtaining source 2015-10-29 21:05:52 +03:00
Denis Zharkov
5755af6b27 Remove wrong condition part: there could be irrelevant overrides from Kotlin 2015-10-29 21:05:52 +03:00
Denis Zharkov
291f0e57d1 Introduce FunctionDescriptor.initialSignatureDescriptor
Mostly it's needed for backend to extract descriptor with initial signature

For example:
class A implements CharSequence {
        char charAt(int index) {}
}

We see `charAt` this method as `fun get(index: Int): Char`, but in backend it
matters what signature had this descriptor before.
2015-10-29 21:05:51 +03:00
Denis Zharkov
95d12260c1 Fix project sources after latter changes
ResolveSession is inherited from two interfaces:
1. The one written in Java with 'getModuleDescriptor'
2. And the second one in Kotlin with property 'moduleDescriptor'

Now we treat such declarations from supertypes like they are just plain
property accessor overrides, and 'getModuleDescripton' and it's friends
becomes invisible via ResolveSession
2015-10-29 21:05:51 +03:00
Denis Zharkov
94803ce1c4 Collect overrides of special builtin members in super types
#KT-9695 Fixed
2015-10-29 21:05:26 +03:00
Denis Zharkov
060178e53f Minor. Convert extension to common function 2015-10-29 18:41:51 +03:00
Denis Zharkov
50125f612e Unify creation of special builtin functions
Create all of them --- both renamed and with de-erased signature ---
within 'computeNonDeclaredFunctions'.

This helps to get rid of open 'resolveMethodToFunctionDescriptor'
and guarantees that method inside 'isVisibleAsFunction'
is always without any magic.
2015-10-29 18:41:51 +03:00
Denis Zharkov
c855d3fad9 Minor. Extract searchMethodsByNameWithoutBuiltinMagic and weaken return types 2015-10-29 18:41:51 +03:00
Denis Zharkov
80bf7316c7 Add 'preserveSource' parameter to methods making substitution copies 2015-10-29 18:41:51 +03:00
Denis Zharkov
dd46056784 Introduce SimpleFunctionDescriptor.createCopyWithNewValueParameters 2015-10-29 18:41:51 +03:00
Denis Zharkov
4e7731f41f Refactor 'isVisibleAsFunction' to make it work with SimpleFunctionDescriptor
Also inline 'resolveMethodToFunctionDescriptorWithName'
2015-10-29 18:41:50 +03:00
Denis Zharkov
ce34550c42 Introduce and implement SimpleFunctionDescriptor.createRenamedCopy 2015-10-29 18:41:50 +03:00
Stanislav Erokhin
69038063a6 Mark callable reference candidate as error when there is error type. 2015-10-29 15:30:32 +03:00
Stanislav Erokhin
d019445493 Minor. Add tracing strategy to MutableResolvedCall 2015-10-29 15:30:32 +03:00
Stanislav Erokhin
97f6213873 Minor. Introduce public constructor ResolvedCallImpl for future use 2015-10-29 15:30:32 +03:00
Stanislav Erokhin
5e6a86fa70 Minor. Make public util function stripCallArguments in CallTransformer 2015-10-29 15:30:31 +03:00
Stanislav Erokhin
cccc4fccd1 Minor. change several signatures 2015-10-29 15:30:31 +03:00
Stanislav Erokhin
1737c7251a Minor. Extract createLookupLocation for call 2015-10-29 15:30:30 +03:00
Stanislav Erokhin
0120139f9c Fix for EA-74904. 2015-10-29 15:30:30 +03:00
Stanislav Erokhin
98379d64e8 Minor. Workaround for KT-9788 AssertionError from backand when we read field from inline function 2015-10-29 15:30:29 +03:00
Nikolay Krasko
41cbc12d7f Don't propose to make objects abstract (KT-9795)
#KT-9795 Fixed
2015-10-29 14:37:15 +03:00
Nikolay Krasko
8bef335b71 Don't propose to generate Any methods in interface to avoid METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACE error (KT-9796)
#KT-9796 Fixed
2015-10-29 14:37:14 +03:00
Nikolay Krasko
625907e49d Refactoring: move check for Any member into builtins 2015-10-29 14:37:13 +03:00
Alexander Udalov
925b0e567e Minor, delete leftovers from package part refactorings 2015-10-28 21:51:19 +03:00
Alexander Udalov
c5ec3b0f6f Minor, drop HTML and improve language in ConstraintSystem kdoc 2015-10-28 21:45:51 +03:00
Alexander Udalov
5fc14e0224 Move constraint system, type intersection, common supertypes to compiler 2015-10-28 19:17:58 +03:00
Alexander Udalov
302cd3ca2f Minor, move some utilities closer to their usages 2015-10-28 19:17:56 +03:00
Alexander Udalov
d6e87c50ab Don't use TypeIntersector when loading generic Java constructors
This is not entirely type-safe but this case is so rare that hardly anyone will
be able to spot the change
2015-10-28 19:17:56 +03:00
Alexander Udalov
86bc21da30 Make getUpperBoundsAsType an utility, remove from TypeParameterDescriptor 2015-10-28 19:17:53 +03:00
Alexander Udalov
12d6b6e7e4 Use "Any?" as out-type for type parameters instead of intersection of bounds
Also refactor checkSubtypeForTheSameConstructor to compute everything in the
best order
2015-10-28 19:12:26 +03:00
Alexander Udalov
bed75e8af2 Remove some unjustified usages of TypeParameterDescriptor#getUpperBoundsAsType 2015-10-28 19:12:24 +03:00
Alexander Udalov
426bddb54e Move OverridingUtil#getUpperBound to OverloadUtil, add tests on overloads 2015-10-28 19:12:05 +03:00
Alexander Udalov
477823b093 Change override rules when type parameters have multiple bounds
Instead of constructing the magic intersection type, compare sets of upper
bounds instead as javac does, modulo the substitution
2015-10-28 19:12:02 +03:00
Alexander Udalov
a59ca2ea9f Simplify obsolete code in OverridingUtil 2015-10-28 19:12:00 +03:00
Alexander Udalov
996c14d071 Use representative upper bound in JetTypeMapper instead of just the first 2015-10-28 19:11:59 +03:00
Alexander Udalov
3918005364 Minor, improve compileJavaAgainstKotlin test
Render human-readable output when there are errors
2015-10-28 19:11:58 +03:00
Alexander Udalov
d29757d927 Make upper bounds of type parameter a list instead of a set
The same for lower bounds, also refactor type parameter implementations
2015-10-28 19:11:56 +03:00
Alexander Udalov
1ce5f8458c Extract ClassMapperLite, add enlightening comment 2015-10-28 19:11:55 +03:00
Alexander Udalov
0302b9504f Minor, inline some other FQ name methods 2015-10-28 19:11:54 +03:00
Alexander Udalov
05f9f5a661 Drop path() from FQ names, remove weird code from FqNameUnsafe 2015-10-28 19:11:53 +03:00
Alexander Udalov
8a89662ea5 Remove FqNameBase, simplify FqName and FqNameUnsafe 2015-10-28 19:11:53 +03:00
Alexander Udalov
894a97a549 Rename field for property metadata cache to prevent problems in inline 2015-10-28 19:11:51 +03:00
Mikhail Glukhikh
6e3eef2d6f JetTypeInfo renamed to KotlinTypeInfo 2015-10-28 17:36:34 +03:00
Dmitry Petrov
4eb7458143 box test for KT-9712: tests were generated in different order. 2015-10-28 17:15:05 +03:00
Michael Nedzelsky
c123af75fd issue warning instead of error in case of finite bound or non-expansive inheritance violation in java code 2015-10-28 17:02:02 +03:00
Mikhail Glukhikh
d2c65a5336 Iterative call chain handling to get rid of JetTypeInfoInsideCallChain and other nasty things #KT-9754 Fixed 2015-10-28 16:00:30 +03:00
Sergey Mashkov
16b6bccd1e Eliminate IllegalArgumentException caused by possible negative sized ArrayList creation 2015-10-28 15:45:25 +03:00
Michael Bogdanov
63f7f90521 Test for obsolete KT-8047
#KT-8047 Obsolete
2015-10-28 14:43:05 +03:00
Mikhail Glukhikh
f8a70302ac Cleanup: get rid of effective visibility warnings 2015-10-28 14:31:51 +03:00
Natalia Ukhorskaya
932542891b Stepping for inline functions: add test for last statement in for 2015-10-28 14:23:52 +03:00
Natalia Ukhorskaya
de5c3733e9 Do not use visitor for counting lambda ordinal for debugger 2015-10-28 14:23:52 +03:00
Natalia Ukhorskaya
eac6fdbaa0 Fix linenumbers in tests 2015-10-28 14:23:51 +03:00
Natalia Ukhorskaya
a8008dfa26 Do not use resove in catPutAt for breakpoints 2015-10-28 14:23:50 +03:00
Natalia Ukhorskaya
67e66f74bc Minor: fix warnings 2015-10-28 14:23:49 +03:00
Natalia Ukhorskaya
e534636f03 Support multiple breakpoints at one line (especially for lambdas) 2015-10-28 14:23:49 +03:00
Natalia Ukhorskaya
c071bf5c63 Fix lines for FieldBreakpoints in tests 2015-10-28 14:23:48 +03:00
Natalia Ukhorskaya
17a564495d Stepping for inline function: filter out inline function body lines from step over
#KT-9665 Fixed
2015-10-28 14:23:47 +03:00
Natalia Ukhorskaya
b8e649e843 Minor: rename test 2015-10-28 14:23:46 +03:00
Natalia Ukhorskaya
66a5351cd0 Do not show fake local variables for inline function/argument in Variables View for Debugger 2015-10-28 14:23:45 +03:00
Natalia Ukhorskaya
cdcafb8199 Fix stepping for inline function inside while statement 2015-10-28 14:23:45 +03:00
Natalia Ukhorskaya
258790cc2f Minor: refactor tests 2015-10-28 14:23:44 +03:00
Natalia Ukhorskaya
e2411f8e46 Debugger tests: catch exceptions correctly 2015-10-28 14:23:43 +03:00
Natalia Ukhorskaya
4f1af224d1 Rewrite CheckLocalVariableTableTest using assertEqualsToFile 2015-10-28 14:23:43 +03:00
Natalia Ukhorskaya
dd30462fd1 Support smart step into for inline function arguments 2015-10-28 14:23:42 +03:00
Natalia Ukhorskaya
c98ebffbcf Debugger: evaluate Ref$element to element value 2015-10-28 14:23:41 +03:00
Natalia Ukhorskaya
77f1a3a7f3 Minor: change test directives 2015-10-28 14:23:40 +03:00
Natalia Ukhorskaya
e68700190d Use fake local variable for inline argument in debugger 2015-10-28 14:23:39 +03:00
Natalia Ukhorskaya
dfbafc7173 Extract isInlineArgument for debugger 2015-10-28 14:23:39 +03:00
Michael Bogdanov
7c7cff3d6e Updated diagnostic message for INVISIBLE_MEMBER_FROM_INLINE
#KT-7323 Fixed
2015-10-28 14:10:27 +03:00
Nikolay Krasko
0fcb51f0a2 KT-1478 Quick fix for using nullable collection in "for in" expression
#KT-1478 Fixed
2015-10-28 13:39:49 +03:00
Nikolay Krasko
911432c99c Use default render to check are all errors mentioned in tests. It's far more easier to read. 2015-10-28 13:39:46 +03:00
Nikolay Krasko
b8c72ec4e9 Suggest to add !! as a quick-fix for type mistmach 2015-10-28 13:39:44 +03:00
Michael Bogdanov
f3e6fab68e Fix for KT-4250: IllegalAccessError when using protected java member from lambda function
#KT-4250 Fixed
2015-10-28 11:57:21 +03:00
Michael Bogdanov
0a70c80af3 Substitute superClassExpression with superCallClass in synthetic accessors 2015-10-28 11:57:20 +03:00
Dmitry Petrov
21d927b7a4 Test for KT-9712 (fixed along with KT-9717)
#KT-9712 Fixed
2015-10-28 10:39:03 +03:00
Michael Nedzelsky
190bab099c fix KT-9441 Unable to Access Internal Classes from Test Code within Same Module
#KT-9441 Fixed
2015-10-28 01:58:54 +03:00
Alexander Udalov
395c0f12b1 Fix confusing behavior in test when assertion fails 2015-10-27 23:31:29 +03:00
Ilya Gorbunov
e2c9267305 Fix compiler tests with incompatible types in assertEquals arguments. 2015-10-27 21:48:29 +03:00
Ilya Gorbunov
579ce8091c Cleanup tests, specify type where it's ambiguous. 2015-10-27 21:48:27 +03:00
Ilya Gorbunov
0b74698c16 @OnlyInputTypes for assertEquals and expect 2015-10-27 21:48:24 +03:00
Ilya Gorbunov
551e0181dc Require explicit type parameter specification for filterIsInstance. 2015-10-27 21:47:50 +03:00
Zalim Bashorov
a5708c9c0d Track lookups in JavaSyntheticPropertiesScope 2015-10-27 19:38:32 +03:00
Zalim Bashorov
412e078a6b Allow to fail on initial build in incremental tests if testdata contains "init-build.log" file 2015-10-27 19:37:10 +03:00
Zalim Bashorov
cc3c76ae67 Add the support checking lookups after modifications 2015-10-27 19:37:09 +03:00
Zalim Bashorov
2d859d6191 Minor: print "<root>" for root package instead empty string in Lookup tests.
Additionally fixed warnings.
2015-10-27 19:37:09 +03:00
Pavel V. Talanov
289b1a5883 LibraryModificationTracker: check whether project is already disposed 2015-10-27 18:51:50 +03:00
Mikhail Glukhikh
55c1addb93 Workaround for a part of KT-9700: top-level Java classes with private visibility are considered package private 2015-10-27 18:27:41 +03:00
Valentin Kipyatkov
78f0de3de5 Removed hack for Repl 2015-10-27 18:24:56 +03:00
Valentin Kipyatkov
91ff27f78c Rename 2015-10-27 18:24:56 +03:00
Valentin Kipyatkov
79825fc1e6 More efficient LexicalScope.addImportScopes 2015-10-27 18:24:56 +03:00
Valentin Kipyatkov
55c2b71829 Removed asLexicalScope from ScopeUtils.kt 2015-10-27 18:24:55 +03:00
Valentin Kipyatkov
74d14d30b0 No use of "by ..Scope.Empty" 2015-10-27 18:24:55 +03:00
Valentin Kipyatkov
3aa2a60dc1 Repl injects scope via own FileScopeProvider implementation instead of AdditionalScopes 2015-10-27 18:24:55 +03:00
Valentin Kipyatkov
47f938d7fc Minor 2015-10-27 18:24:55 +03:00
Valentin Kipyatkov
67a0cc3c49 Dropped searching synthetic extensions in imports 2015-10-27 18:24:55 +03:00
Valentin Kipyatkov
59fa639ab4 Refactored ReferenceVariantsHelper to not require KtSimpleNameExpression 2015-10-27 18:24:55 +03:00
Pavel V. Talanov
dc791941d7 JvmAnalyzerFacade: Do not fail when java resolve api behaves in an unexpected way
Fixes a problem when java type from a library can be resolved to a class in source root
2015-10-27 18:07:17 +03:00
Pavel V. Talanov
4c70700943 Introduce api to get nullable ResolverForModule by ModuleInfo 2015-10-27 18:07:16 +03:00
Stanislav Erokhin
ff00bde607 Removed dispatch receiver parameter for SyntheticFieldDescriptor 2015-10-27 15:36:38 +03:00
Stanislav Erokhin
553834fa9e KT-9371 Callable reference resolve should not prefer one of the overloads by some magic reasons
#KT-9371 Fixed
2015-10-27 15:36:37 +03:00
Valentin Kipyatkov
891e033d5b KT-9664 Add quickfix to convert a piece of code to pretty look SAM-style
#KT-9664 Fixed
2015-10-27 15:07:59 +03:00
Dmitry Petrov
ad030a2c03 KT-9721:
- Scripts should be included in files with callables.
2015-10-27 15:06:32 +03:00
Michael Bogdanov
b0efcec392 Fix for KT-9711: Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
#KT-9711 Fixed
2015-10-27 13:22:07 +03:00
Dmitry Petrov
882827bf04 KT-9717, KT-9603:
pass getter/setter-related flags to AccessorForPropertyDescriptor
2015-10-27 12:02:27 +03:00
Natalia Ukhorskaya
e83315f5bc Gradle plugin: do not store generated folder for android into sourceSets, because they are reused for different buildTypes and flavors
#KT-8202 Fixed #KT-9715 Fixed
2015-10-27 11:41:24 +03:00
Yan Zhulanow
10eed8f7cd Fix incremental test (DefaultImpls are not generated for an empty interface) 2015-10-27 02:46:57 +03:00
Michael Nedzelsky
63f84fc60e fix KT-9733 No error shown for 2 "main" functions in the same file
#KT-9733 Fixed
2015-10-26 21:30:24 +03:00
Dmitry Jemerov
31bff24c55 fix senseless action visibility checks 2015-10-26 19:27:01 +01:00
Pavel V. Talanov
55006872a1 LibraryModificationTracker
Do not track external annotations
Make use of BulkFileListener to avoid processing extra files
Defer library classes check for newly created files: fixes a problem of indices not being updated at the time
Correctly check if the file is a jar file root of a library
Ther latter 2 changes fix a problem where resolve caches were not recomputed in case of deleting and readding jar files of a library
2015-10-26 21:14:44 +03:00
Alexander Udalov
b8b98b4eaa Support get/set on KProperty objects for delegated properties 2015-10-26 21:02:35 +03:00
Alexander Udalov
f2a37b4150 Minor, move KProperty for property references to separate file 2015-10-26 21:02:35 +03:00
Alexander Udalov
a97567ea0c Optimize KProperty objects for delegated properties
Don't generate anonymous classes with a lot of methods because this hurts
Android. Add special classes to the runtime instead (also add
FunctionReferenceImpl, to be used later) and just create their instances in the
static initializer of each class
2015-10-26 21:02:34 +03:00
Yan Zhulanow
2d1a7163a3 Minor: changes on review 2015-10-26 20:38:41 +03:00
Yan Zhulanow
3475b4796f Do not generate DefaultImpls if empty 2015-10-26 20:37:31 +03:00
Yan Zhulanow
2a28baa154 Remove ACC_STATIC from DefaultImpls 2015-10-26 20:37:29 +03:00
Pavel V. Talanov
bf6464ddcd Repl: clearer separation of ide and console logic
Fix a bug with redundant new lines printed in console mode
2015-10-26 20:17:45 +03:00
Pavel V. Talanov
d0097c85d3 Repl: enhance test framework to wait for commands to be processed, not some text to appear 2015-10-26 20:17:45 +03:00
Pavel V. Talanov
03c3fd2c2b Repl: correctly handle readLine() 2015-10-26 20:17:44 +03:00
Pavel V. Talanov
6237e516d4 Repl: fix a problem where handling an incomplete message led to xml parsing exception 2015-10-26 20:17:43 +03:00
Pavel V. Talanov
e20bcbde53 Repl: keep track of command entries which were already processed
Fixes race condition
2015-10-26 20:17:43 +03:00
Pavel V. Talanov
0fe3ef7cf4 Repl: refactor ide code
More accurate class names
Move all shared state to KotlinConsoleRunner class
2015-10-26 20:17:42 +03:00
Pavel V. Talanov
e10df1a05d Repl: notify about successfully executing lines 2015-10-26 20:17:41 +03:00
Pavel V. Talanov
b5dfbcdde8 Repl, minor: extract function 2015-10-26 20:17:40 +03:00
Pavel V. Talanov
b07fb88a22 Repl, minor: more meaningful method names 2015-10-26 20:17:40 +03:00
Pavel V. Talanov
e08ce5545e Repl test: increase waiting time
Hoping to prevent failing on slow teamcity agents
2015-10-26 20:17:39 +03:00
Alexander Udalov
d021821db5 Minor, add constructors with messages and causes to KotlinReflectionNotSupportedError 2015-10-26 19:40:04 +03:00
Dmitry Petrov
09f0b3fe87 KT-9721:
- Kotlin/JS still uses package facades.
Handle them properly in StubClassBuilder parentStack.
- Generate backend-related diagnostics in IDE
using light class generation for file facades.
- Drop PackageFacadeStubCache.
2015-10-26 19:37:52 +03:00
Valentin Kipyatkov
4fcd35a5a9 Introduced LexicalScope for file top-level to obtain ownerDescriptor 2015-10-26 19:30:05 +03:00
Valentin Kipyatkov
7a33a16481 Removed one more usage of asKtScope() 2015-10-26 19:30:05 +03:00
Valentin Kipyatkov
c239e84aa0 Removed hack for package directive completion 2015-10-26 19:30:05 +03:00
Valentin Kipyatkov
a5982281af Temporary fix for problem with ownerDescriptor in ImportingScope 2015-10-26 19:30:05 +03:00
Valentin Kipyatkov
03f18e1ac1 Extraction refactorings tests: do not generate conflict files in case of any exception from code 2015-10-26 19:30:05 +03:00
Valentin Kipyatkov
c44dc41431 Fixed getting ownerDescriptor from ImportingScope 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov
95a0372b43 Using PsiElement.getResolutionScope instead of LEXICAL_SCOPE from BindingContext 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov
6af71caaa9 Moved PsiElement.getResolutionScope utliity into ide-common 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov
a6165f4690 Got rid of two getContributedDescriptors calling each other 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov
ed6f845377 Added utility functions for synthetic extensions in scope 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov
c09cf63424 Added utility functions for functions and variables in scope 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov
5f06f53bfd Renames 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov
e1b8b21abb Minor 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov
6b85bf24a0 One usage of asLexicalScope removed 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov
b4dbb666fc More usages of asKtScope() removed 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov
9a99559b12 No getFileKtScope 2015-10-26 19:30:02 +03:00
Valentin Kipyatkov
2ddaa15036 Removed more usages of asKtScope() 2015-10-26 19:30:02 +03:00
Valentin Kipyatkov
2b325327f4 Dropped one usage of asKtScope() 2015-10-26 19:30:02 +03:00
Valentin Kipyatkov
0b34fecf94 Fixed test data but template macro "kotlinSuggestVariableName()" must be completely rewritten 2015-10-26 19:30:02 +03:00
Valentin Kipyatkov
470e9ba776 Fixed 2015-10-26 19:30:01 +03:00
Valentin Kipyatkov
6ca6718271 Dropped BindingContext.RESOLUTION_SCOPE 2015-10-26 19:30:01 +03:00
Valentin Kipyatkov
44415cf321 Less use of RESOLUTUON_SCOPE from BindingContext 2015-10-26 19:30:01 +03:00
Valentin Kipyatkov
961ffee8ee Converted to Kotlin 2015-10-26 19:30:01 +03:00
Valentin Kipyatkov
3eb1cff36a Less use of KtScope 2015-10-26 19:30:00 +03:00
Valentin Kipyatkov
c93de93332 FileScopeProvider.AdditionalScopes return ImportingScope's 2015-10-26 19:30:00 +03:00
Valentin Kipyatkov
99aeb305db Less conversion between KtScope and ImportingScope 2015-10-26 19:30:00 +03:00
Valentin Kipyatkov
3471667aa0 Minor refactoring 2015-10-26 19:30:00 +03:00
Valentin Kipyatkov
6252fb04c4 Fixing replaceFileScope and other stuff 2015-10-26 19:29:59 +03:00
Valentin Kipyatkov
9eeb051bd4 Refactoring FileScope into a chain of ImportingScope's (all compiler tests pass) 2015-10-26 19:29:59 +03:00
Valentin Kipyatkov
712e294eac Renamed FileScope to ImportingScope and it now may have parent. But all implementations currently have parent == null 2015-10-26 19:29:59 +03:00
Alexey Tsvetkov
294559a94f Overridable val should not be treated as constant
#KT-9443 fixed
2015-10-26 19:23:09 +03:00
Alexey Tsvetkov
0a69cca066 Box primitive types in position of generic receiver
#KT-9469 fixed
2015-10-26 18:36:59 +03:00
Alexey Tsvetkov
7c54024a22 Fix private setter visibility for generic class
#KT-8888 fixed
2015-10-26 18:36:59 +03:00
Ilya Chernikov
7dbb0dff2c Placing forced shutdown timeout into daemon options, setting default to 10s, removing appropriate property as obsolete 2015-10-26 15:59:11 +01:00
Ilya Chernikov
80fb9b8473 Removing try/catch in the lock file acquiring algo, to avoid hanging like in case described here - https://devnet.jetbrains.com/message/5561306
it should now fail and fallback to in-process compilation
2015-10-26 15:59:10 +01:00
Ilya Chernikov
2fa0988c85 Increasing socket backlog size in attempt to solve problems like EA-74493 (connection refused) 2015-10-26 15:59:09 +01:00
Denis Zharkov
881fe640e7 Create non-default getter for Enum.values property
#KT-9687 Fixed
2015-10-26 17:32:15 +03:00
Nikolay Krasko
234360a471 Fix compilation in KotlinFrameExtractVariablesProvider
(cherry picked from commit ed06e05)
2015-10-26 17:16:52 +03:00
Natalia Ukhorskaya
15531d0bb7 Update since for plugin due to compilation error in KotlinFrameExtractVariablesProvider 2015-10-26 17:16:51 +03:00
Natalia Ukhorskaya
4f64661db0 Update to IDEA 143.379.11 2015-10-26 17:16:50 +03:00
Mikhail Glukhikh
4b6cb3ebce A new kind of synthetic accessors for backing fields, if accessed inside lambda / object literal / local class #KT-9657 Fixed
A set of tests provided
Also #KT-4867 Fixed
Also #KT-8750 Fixed
Slight codegen refactoring
2015-10-26 16:37:32 +03:00
Dmitry Petrov
ccad435850 KT-9644: override default behavior for non-local return in FixStackAnalyzer 2015-10-26 15:56:57 +03:00
Nikolay Krasko
5d1bcbf2be Try to cancel jar processing if some thread do it already 2015-10-26 15:08:54 +03:00
Mikhail Glukhikh
d0e01153ec Effective visibility: java package-private is now considered as equivalent to Kotlin internal #KT-9755 Fixed 2015-10-26 15:00:14 +03:00
Mikhail Glukhikh
994feafd6e Lookup fixed to search for SyntheticFieldDescriptor inside MethodContext 2015-10-26 13:36:34 +03:00
Mikhail Glukhikh
98e0771ffa Abstract var setter visibilities: now only private setters are forbidden 2015-10-26 11:55:34 +03:00
Mikhail Glukhikh
5ebbdd9f58 Cleanup: implicit nothing return type is now an error 2015-10-26 11:55:30 +03:00
Alexander Udalov
9d7cc25228 Fix code style settings after language was renamed to Kotlin 2015-10-25 15:52:04 +03:00
Alexey Sedunov
3ba55914c1 Create Test: Postpone J2K conversion until smart mode (matters if the user decides to add library in the Create Test dialog) 2015-10-24 19:50:57 +03:00
Alexey Sedunov
b6c01c0f94 Minor: Move DumpService-related functions to dumbUtils.kt 2015-10-24 19:50:56 +03:00
Alexey Sedunov
8d3296e08d Change Signature: Search & process as-property usages of Java methods (This ixes some muted tests on Change Signature for properties).
Improve test data
2015-10-24 19:50:55 +03:00
Alexey Sedunov
ad0c12935b Find Usages: Include super declarations when highliting usages in the current file 2015-10-24 19:50:54 +03:00
Alexey Sedunov
9c360ef05a Find Usages: Look for as-property usages of Java methods 2015-10-24 19:50:53 +03:00
Alexey Sedunov
7e9222f70a Extraction Engine: Set default visibility to 'public' 2015-10-24 19:50:52 +03:00
Alexey Sedunov
3fd6864461 Extraction Engine: When extracting to enum class body, place new declaration after the last entry
#KT-9629 Fixed
2015-10-24 19:50:52 +03:00
Alexey Sedunov
40f2a983cc Formatter: Spacing before after semicolon in enum classes 2015-10-24 19:50:51 +03:00
Alexey Sedunov
98b3919824 J2K: KtClassBody 2015-10-24 19:50:50 +03:00
Alexey Sedunov
d8864544d2 J2K: Rename KtClassBody (.java -> .kt) 2015-10-24 19:50:49 +03:00
Alexey Sedunov
ca87e7933f Move: Drop Java on-demand static imports of facade class members when original facade is eliminated due to Move refactoring
#KT-9624 Fixed
2015-10-24 19:50:48 +03:00
Alexey Sedunov
5dc0e7f2d5 Extraction Engine: Use original topmost descriptors when validating extracted code (fixes 'mutablyFlexibleType' test which failed after migration to generic contains/remove/etc. members in collections) 2015-10-24 19:50:48 +03:00
Alexey Sedunov
07259fa090 Generate Secondary Constructor: Fix test data loading. Add test with non-generic Java superclass 2015-10-24 19:50:47 +03:00
Nikolay Krasko
3c07bc3df7 Import all components and delegates accessors if possible 2015-10-23 22:07:52 +03:00
Alexander Udalov
1517a099d0 Search for JvmName also among use-site targeted annotations
#KT-9699 Fixed
2015-10-23 19:03:50 +03:00
Alexander Udalov
ae4c7b5a61 Minor, rename codegen tests on platformName and platformStatic 2015-10-23 19:03:49 +03:00
Michael Bogdanov
18f3eb87e4 INSTANCE field deprecated in companion object
Fix for KT-9692: Deadlock between <clinit> of a class (KtSimpleNameExpressionImpl) and <clinit> of its companion object

 #KT-9692 Fixed
2015-10-23 17:39:27 +03:00
Nikolay Krasko
7927185cc7 More fixes in version regexp and move override-version call to the place where compiler is downloaded 2015-10-23 13:17:08 +03:00
Svetlana Isakova
c167a77c8a Filter annotations while substituting compound type 2015-10-22 21:55:17 +03:00
Svetlana Isakova
f00af72e0f Fixed 'OnlyInputTypes' working with platform types 2015-10-22 21:55:16 +03:00
Svetlana Isakova
b24cb2a326 Fixed 'OnlyInputTypes' working with number types 2015-10-22 21:55:14 +03:00
Svetlana Isakova
9877fe1a26 Fixed the call completer
to update the type of the argument expression correctly
2015-10-22 21:55:13 +03:00
Svetlana Isakova
06e90cf6a1 Annotated the return type of 'elvis' function with @Exact
fun <T> ELVIS(T?, T): @Exact T
2015-10-22 21:55:12 +03:00
Svetlana Isakova
7150be7c67 Minor: fixed error message 2015-10-22 19:09:46 +03:00
Valentin Kipyatkov
27ef6fab21 Accessor completion uses code style settings 2015-10-22 18:48:19 +03:00
Valentin Kipyatkov
74f2d60e19 No duplicate property accessor should be allowed 2015-10-22 18:48:19 +03:00
Valentin Kipyatkov
6eba45febd KT-9661 Code completion of "get" and "set" in property accessors
#KT-9661 Fixed
2015-10-22 18:48:19 +03:00
Valentin Kipyatkov
798223b0e4 Better presentation for use site targets in completion 2015-10-22 18:48:18 +03:00
Valentin Kipyatkov
b7809ed94a Functions to properties 2015-10-22 18:48:18 +03:00
Valentin Kipyatkov
6cfb30bb81 KT-9388 Code completion inserts use-site annotation target with superfluous chars
#KT-9388 Fixed
2015-10-22 18:48:18 +03:00
Valentin Kipyatkov
fabf3e5e84 More correct keyword completion after "@" 2015-10-22 18:48:18 +03:00
Valentin Kipyatkov
235399f784 KT-8036 Completion does not suggest file after @ in file header
#KT-8036 Fixed
2015-10-22 18:48:18 +03:00
Valentin Kipyatkov
33a0673f49 Minor 2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
5d3145c3c3 Fixed KT-7431 org.jetbrains.kotlin.idea.quickfix.AutoImportFix memory leak
#KT-7341 Fixed
2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
b26a590614 KT-7844 Completion for top level classes should propose the file name
#KT-7844 Fixed
2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
eb8fb80325 ScrollType.CENTER for create from usage 2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
0a520f8bdd More creation by pattern instead of text 2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
612f9b1041 Comments and formatting preseving added 2015-10-22 18:48:17 +03:00
Valentin Kipyatkov
7c8967ea4e Refactored to use creation of expression by pattern instead of plain text 2015-10-22 18:48:16 +03:00
Valentin Kipyatkov
311bd5f25d One more test added 2015-10-22 18:48:16 +03:00
Valentin Kipyatkov
a3d9085ddd Disabled "Convert to get/set call" intention where it did not work correctly anyway 2015-10-22 18:48:16 +03:00
Valentin Kipyatkov
c6978d6b69 KT-9450 «Replace overloaded operator with function call» breaks code for index access result saved to variable
#KT-9450 Fixed
2015-10-22 18:48:16 +03:00
Valentin Kipyatkov
6baef687ef Minor 2015-10-22 18:48:16 +03:00
Valentin Kipyatkov
ab04ae4956 KT-9365 Code completion does not suggest annotation names at type usage
#KT-9365 Fixed
2015-10-22 18:48:15 +03:00
Valentin Kipyatkov
197218a512 KT-9389 Code completion inserts annotation FQN into annotation list
#KT-9389 Fixed
2015-10-22 18:48:15 +03:00
Valentin Kipyatkov
66310806ca KT-9628 Intention&inspection to replace use of "set" operator function with []
#KT-9628 Fixed
2015-10-22 18:48:15 +03:00
Valentin Kipyatkov
852579e7f3 Renamed class 2015-10-22 18:48:15 +03:00
Valentin Kipyatkov
255373162d KT-9666 Inner classes do not appear in type completion
#KT-9666
2015-10-22 18:48:15 +03:00
Valentin Kipyatkov
375ecb4026 Refactored CompletionKind removing duplication with CallType 2015-10-22 18:48:14 +03:00
Valentin Kipyatkov
b4501a6b98 Fixed filtering of annotation classes in annotation completion broken recently 2015-10-22 18:48:14 +03:00
Michael Bogdanov
d5126213d3 Fix for KT-9364: M13 Wrong compiler error for "unable to inline function"
#KT-9364 Fixed
2015-10-22 17:20:57 +03:00
Michael Bogdanov
a7b3c70d21 Fix for KT-7017: Reified type referenced in object literal crashes at runtime
#KT-7017 Fixed
2015-10-22 16:06:13 +03:00
Michael Bogdanov
3e19514099 Test for obsolete KT-6988: java.lang.VerifyError: Bad return caused by inline reified
#KT-6988 Obsolete
2015-10-22 16:06:10 +03:00
Dmitry Petrov
1a58636ea9 KT-6165, KT-9547: fix testData for JPS plugin.
Test contains effectively single module (with circular dependencies),
and should not have conflicting declarations.
Rename the package in a library used in this test.

 #KT-9547 Fixed
2015-10-22 11:37:01 +03:00
Dmitry Petrov
829fc6938a KT-9547: private package member can conflict only with the members
declared in the same file.
Cleanup OverloadUtil stuff.
Update testData.
2015-10-22 10:45:49 +03:00
Dmitry Petrov
5170341624 OverloadResolver:
fix redeclaration diagnostics issue in incremental compilation (KT-6165)
J2K: OverloadUtil.kt
2015-10-22 10:45:49 +03:00
Dmitry Petrov
f3cc6fc170 J2K: rename OverloadUtil.java --> OverloadUtil.kt 2015-10-22 10:45:49 +03:00
Denis Zharkov
8c62e80d2b Minor. Use property instead of deprecated function in Operations map 2015-10-21 17:51:44 +03:00
Denis Zharkov
8db206e7ff Take into account irrelevant implementation of special builtins 2015-10-21 17:51:43 +03:00
Denis Zharkov
d674aa1427 Refine signature mapping for special overrrides from Java
They have special JVM descriptor only when they are not inherited from
Kotlin super class
2015-10-21 17:51:43 +03:00
Denis Zharkov
f3a652de2f Minor. Add assertion about same modality of accessors 2015-10-21 17:51:43 +03:00
Denis Zharkov
c46b766fea Load special property from Java in cases of J-K-J hierarchy 2015-10-21 17:51:43 +03:00
Denis Zharkov
e31f751830 Minor. Move hasRealKotlinSuperClassWithOverrideOf to descriptor.loader.java 2015-10-21 17:51:43 +03:00
Denis Zharkov
0b3118554b Extract hasRealKotlinSuperClassWithOverrideOf and simplify needGenerateSpecialBridge
Temporary don't mind that some element `reachableDeclarations` is
final in Java because it's anyway follows that function descriptor itself is final.
2015-10-21 17:51:43 +03:00
Michael Bogdanov
4dcf940756 Test for obsolete KT-4860
#KT-4860 Obsolete
2015-10-21 17:12:18 +03:00
Michael Bogdanov
55d2300860 Fix for KT-6722
#KT-6722 Fixed
2015-10-21 17:12:17 +03:00
Michael Bogdanov
f4d3ecf8e6 Generate public constructor for anonymous objects if it inside inline fun
#KT-9331 Fixed
2015-10-21 17:12:17 +03:00
Mikhail Glukhikh
3d56012184 Backing field access highlighting dropped 2015-10-21 16:37:12 +03:00
Mikhail Glukhikh
99943e3185 Backing field: three relevant quick-fixes dropped 2015-10-21 16:37:09 +03:00
Mikhail Glukhikh
03d944d2b3 Backing field: four more errors dropped 2015-10-21 16:37:06 +03:00
Mikhail Glukhikh
e8a5df364b Refactoring (JetFlowInformationProvider) 2015-10-21 16:37:04 +03:00
Mikhail Glukhikh
d6988ad69e Get rid of FIELD_IDENTIFIER at syntax level, two errors dropped, a set of tests fixed / deleted #KT-9539 Fixed 2015-10-21 16:36:55 +03:00
Mikhail Glukhikh
8ea0501a30 Get rid of FIELD_IDENTIFIER: stubs with '$' removed 2015-10-21 16:36:49 +03:00
Mikhail Glukhikh
ef23343844 Test regenerated 2015-10-21 16:36:46 +03:00
Nikolay Krasko
eb2feeeb16 Fixes after review in imports for additional expressions 2015-10-21 14:06:05 +03:00
Nikolay Krasko
2f26480e6b Auto-imports for index functions, += like operators, invoke, delegates and components
#KT-9482 Fixed
 #KT-9397 Fixed
 #KT-8060 Fixed
2015-10-21 14:06:04 +03:00
Nikolay Krasko
0f85d770dd Refactoring: continue extracting base class for auto-import fix 2015-10-21 14:06:03 +03:00
Nikolay Krasko
c84995f8dd Refactoring: prepare AutoImportFix for subclassing: count suggestions in virtual method. 2015-10-21 14:06:03 +03:00
Nikolay Krasko
a7519853cb Fixes after review in creating single action for fixing several problems 2015-10-21 14:06:02 +03:00
Nikolay Krasko
4bae99e8bd Allow to create single quickfix for several same-type diagnostics
This going to be used for multiple auto-import for components functions and get/set pair for delegated properties
2015-10-21 14:06:02 +03:00
Nikolay Krasko
43ae8bb1f3 Revert "Add script to do padding for teamcity version"
There is no need in verison padding now.

This reverts commit 8fce102212.
2015-10-21 14:06:01 +03:00
Nikolay Krasko
da2d3701f0 Updated test for new version format 2015-10-21 14:06:01 +03:00
Valentin Kipyatkov
36ea9cfbfc J2K: fixed conversion of Throwable.getMessage(), Throwable.getCause(), Map.Entry.getKey() and Map.Entry.getValue() 2015-10-21 13:46:57 +03:00
Alexander Udalov
8dde7497e0 Minor, drop outdated constructor from FunctionReference 2015-10-21 13:40:49 +03:00
Alexander Udalov
c204e8fc67 Add more intrinsic methods to be maybe used in the future 2015-10-21 13:40:48 +03:00
Alexander Udalov
a24ac86e1c Support exception messages for reified inline markers 2015-10-21 13:40:47 +03:00
Alexander Udalov
1f1b3660f7 Provide additional overloads of TypeIntrinsics methods for future use 2015-10-21 13:40:47 +03:00
Alexander Udalov
8f6f6f7807 Minor, simplify code in TypeIntrinsics 2015-10-21 13:40:46 +03:00
Alexander Udalov
121807654a Add generalized methods to InlineMarker
To be able to use them in the future compiler without breaking binary
compatibility
2015-10-21 13:40:45 +03:00
Alexander Udalov
3f9806d758 Add constructors with messages and causes to runtime exceptions 2015-10-21 13:40:44 +03:00
Alexander Udalov
1e9624901a Add NonVolatileRef to runtime 2015-10-21 13:40:02 +03:00
Michael Nedzelsky
f987feed6f fix compilation (KtType -> KotlinType) 2015-10-20 20:46:11 +03:00
Michael Nedzelsky
1c36090b6d check for violation of Finite Bound Restriction and Non-Expansive Inheritance Restriction 2015-10-20 20:06:07 +03:00
Denis Zharkov
1413cab1e6 Mixin kotlin.Number methods into j.l.Number member scope
#KT-9672 Fixed
2015-10-20 19:41:58 +03:00
Alexey Sedunov
b774373dbc Minor: Restore ant.xml deleted in a previous commit 2015-10-20 19:41:06 +03:00
Michael Bogdanov
926e3fd350 Test for obsolete KT-9560
#KT-9560 Obsolete
2015-10-20 19:19:43 +03:00
Michael Bogdanov
1d84103cce Test for obsolete KT-6453
#KT-6453 Obsolete
2015-10-20 19:19:43 +03:00
Michael Bogdanov
378233e1f5 Test for obsolete KT-8095
#KT-8095 Obsolete
2015-10-20 19:19:42 +03:00
Michael Bogdanov
32d51af5dd Test for obsolete KT-8094
#KT-8094 Obsolete
2015-10-20 19:19:42 +03:00
Michael Bogdanov
98b818203f Test data fixed 2015-10-20 19:19:41 +03:00
Michael Bogdanov
d977d29ec4 Support access to companion private members from nested classes
#KT-5363 Fixed
  #KT-6804 Fixed
2015-10-20 19:19:41 +03:00
Alexey Sedunov
3d88df73e0 Minor: Fix spelling of intention text
#KT-9639 Fixed
2015-10-20 18:39:48 +03:00
Alexey Sedunov
929d06c86f Create from Usage: Implement 'Create property as constructor parameter' quick-fix
#KT-8426 Fixed
2015-10-20 18:39:47 +03:00
Alexey Sedunov
bdd495460b Extraction Engine: Properly retrieve declaration for overriden/delegated Java synthetic properties
#KT-9554 Fixed
2015-10-20 18:39:43 +03:00
Alexey Sedunov
84aa4e7664 Create from Usage: Fix rendering of receiver type reference
#KT-9559 Fixed
2015-10-20 18:39:40 +03:00
Alexey Sedunov
c2c8eccc77 Pull Up: Do not suggest indirect superinterfaces in the Pull Up dialog. Prefer superclass over superinterface as pull-up target
#KT-9543 Fixed
2015-10-20 18:39:39 +03:00
Alexey Sedunov
93ab055d17 Change Signature: Do not fail on unresolved PsiMethod
#KT-9535 Fixed
2015-10-20 18:39:38 +03:00
Alexey Sedunov
21d27d9340 Change Signature: Show conflict dialog in silent mode 2015-10-20 18:39:36 +03:00
Ilya Gorbunov
9e8600e52f Cleanup in stdlib generators 2015-10-20 18:10:20 +03:00
Ilya Gorbunov
d3d239bc1b Add deprecated xxxValue() extensions to Number for migration. 2015-10-20 18:10:18 +03:00
Mikhail Glukhikh
c9d8a15965 Generate Tests target fixed (file facades) 2015-10-20 17:44:25 +03:00
Dmitry Jemerov
d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Andrey Breslav
9d7a8e7696 Create empty sources JAR for kotlin-osgi-bundle 2015-10-20 16:32:42 +03:00
Ilya Gorbunov
a439cce7d1 Correct deprecation message for StringBuilder { }. 2015-10-20 16:31:32 +03:00
Michael Bogdanov
d054c6bf6a Stable element order in redeclaration diagnostic 2015-10-20 13:25:27 +03:00
Mikhail Glukhikh
4501836b33 Java 8 tests fixed (txt only) 2015-10-20 11:18:38 +03:00
Mikhail Glukhikh
3151d4ca9d Check of type parameter bounds consistency #KT-9438 Fixed 2015-10-20 11:02:19 +03:00
Valentin Kipyatkov
73176fae17 Property with all accessors deprecated considered as deprecated 2015-10-20 10:12:34 +03:00
Valentin Kipyatkov
8e6b0a26bb Synthetic extensions to take all annotations from original declarations
#KT-9387 Fixed
2015-10-20 10:12:34 +03:00
Ilya Gorbunov
a0ccd36377 Fix legacy package facade name usage. 2015-10-20 04:37:19 +03:00
Ilya Gorbunov
8635eaae69 Alter regex in verify script for versions like 1.0.0-beta+1005 2015-10-20 04:37:05 +03:00
Nikolay Krasko
07f7f95fed Update pattern for bootstrap download 2015-10-20 04:14:57 +03:00
Nikolay Krasko
f3b5c7f36c Escape version pattern 2015-10-20 03:06:51 +03:00
Ilya Gorbunov
059bddf31c ReplaceWith for File.recurse 2015-10-20 02:32:08 +03:00
Ilya Gorbunov
6ac28facf1 Fix deprecations in tests 2015-10-20 02:31:51 +03:00
Ilya Gorbunov
fc7c008672 Provide deprecated unconstrained contains, indexOf, lastIndexOf methods for migration. 2015-10-20 02:31:18 +03:00
Ilya Gorbunov
95aac7ade6 Generate contains, indexOf, lastIndexOf with @NoInfer 2015-10-20 02:30:54 +03:00
Dmitry Jemerov
69a924a3ab fix main class name for builtin serializer 2015-10-20 00:49:03 +02:00
Ilya Gorbunov
100cba7d4f Fix legacy package facade names in maven plugin tests. 2015-10-19 23:04:02 +03:00
Ilya Gorbunov
59cd1cd14a Restore referential equality for AnnotatedClassDescriptor and AnnotatedConstructorDescriptor. 2015-10-19 23:03:59 +03:00
Svetlana Isakova
abf4030ef9 Don't exclude internal type annotations from decompiler renderers 2015-10-19 23:02:03 +03:00
Svetlana Isakova
667f6269e4 Filter internal annotations for resolve in type substitutor
to avoid having List<@NoInfer Int> as a result type
of function invocation (the function returns List<@NoInfer T>)
2015-10-19 23:02:03 +03:00
Andrey Breslav
fe057f781c Compilation fixed 2015-10-19 22:56:41 +03:00
Andrey Breslav
18524ea8ec Proper semantics for former data classes 2015-10-19 22:42:33 +03:00
Dmitry Jemerov
49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Dmitry Jemerov
660972b12d Merge remote-tracking branch 'origin/master' 2015-10-19 21:34:53 +02:00
Alexander Udalov
1c280c96b6 Set binary version to 1.0.0 2015-10-19 22:12:39 +03:00
Dmitry Jemerov
0dcd45daf0 Merge remote-tracking branch 'origin/master' 2015-10-19 21:01:38 +02:00
Svetlana Isakova
452637a946 Changed retention to 'binary' for annotations
used in resolve
2015-10-19 21:35:58 +03:00
Svetlana Isakova
6ced795db6 Fixed the problem with 'OnlyInputTypes' annotation 2015-10-19 21:35:57 +03:00
Alexey Tsvetkov
3476bed18a Drop @native from stdlib 2015-10-19 21:32:24 +03:00
Max Kammerer
715893446c Incremental compilation test data update after making package property backing field private 2015-10-19 21:21:02 +03:00
Nikolay Krasko
4c8384240b Check version in new format 2015-10-19 20:57:03 +03:00
Nikolay Krasko
8fce102212 Add script to do padding for teamcity version 2015-10-19 20:57:02 +03:00
Nikolay Krasko
4a9cd95d1d Update to 143.249.6 2015-10-19 20:57:01 +03:00
Alexey Tsvetkov
a1d4d099ba Increment jvm abi and stub versions 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov
e9e42b0251 Code cleanup 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov
6f96484e1f Fix tests 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov
5c23820605 Fix load builtins test 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
3cd85a25e4 Generate ACC_NATIVE for external 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
5e90bafe18 Build stubs for modifiers 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
c459e78a7d Prohibit inline modifier on property, getter or setter 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
7a1b6ed13f Fix supressing no body errors for external functions 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
1e2256207c Update test data 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
d86121863a Render external, inline, tailrec, crossinline, noinline modifiers 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
d87ce33458 Drop @inline from tests and incremental compilation 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
df8066b1e4 Drop annotations from stdlib and compiler 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
c50aab6a75 Add modifier flags to descriptors 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
ea40f8af92 Serialize flags 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
8d22aabd9f Add flags 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
dc27363452 Remove @annotation from test data 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
ae17c06f7a Render ANNOTATION_CLASS kind correctly 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
f2c69e56d2 Remove @annotation from stdlib and compiler 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
28ca2e8b84 Build stubs for data modifier 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
1973573a89 Remove @data from test data 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
106e2667d4 Render data modifier 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
ec57d3f144 Remove @data from stdlib and compiler 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
264bd5235b Add isData() to ClassDescriptor 2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
1414fe1699 Add IS_DATA flag 2015-10-19 20:44:59 +03:00
Dmitry Jemerov
ac55c9134c don't abort refactoring in case of exceptions in AutomaticVariableRenamer 2015-10-19 18:57:14 +02:00
Valentin Kipyatkov
30cbec3fc8 Refactoring 2015-10-19 19:22:26 +03:00
Valentin Kipyatkov
28c950ffbe Better replacement for annotations with parameters in ReplaceWIth pattern but still lot of safety pre-checks to be added 2015-10-19 19:22:26 +03:00
Valentin Kipyatkov
4290601807 VERY rough implementation of annotations with parameters in ReplaceWIth pattern 2015-10-19 19:22:26 +03:00
Michael Bogdanov
c8c3e88c82 Make top-level property backing field private in bytecode 2015-10-19 19:09:30 +03:00
Ilya Chernikov
376c188cf7 Setting property that controls application environment lifetime for daemon builds 2015-10-19 18:01:45 +02:00
Ilya Chernikov
25a128a8c6 Removing environment reuse diagnostics, because it breaks many tests
(cherry picked from commit 857488f)
2015-10-19 18:01:44 +02:00
Dmitry Jemerov
56735b3302 system property to keep application environment alive across multiple compilations
(cherry picked from commit a6b269c)
2015-10-19 18:01:43 +02:00
Natalia Ukhorskaya
f9399f0510 Skip MultiFileFacade classes as synthethic 2015-10-19 18:57:41 +03:00
Natalia Ukhorskaya
556e08b9eb Fix exception during Step Over 2015-10-19 18:57:40 +03:00
Valentin Kipyatkov
3a9beb719f Better test 2015-10-19 18:40:15 +03:00
Valentin Kipyatkov
a8d9c761c8 Correct detection of non-qualified references in ReplaceWith analyzer 2015-10-19 18:40:15 +03:00
Valentin Kipyatkov
7eaf00a34d Additional check to not corrupt PSI tree 2015-10-19 18:40:15 +03:00
Valentin Kipyatkov
66ea544a48 Fixed incorrect handling of this and super expressions in copy/paste processing and optimize imports 2015-10-19 18:40:15 +03:00
Valentin Kipyatkov
33d206ab22 Changed UI layout 2015-10-19 18:40:15 +03:00
Valentin Kipyatkov
872af51c99 Better wording in import settings UI 2015-10-19 18:40:14 +03:00
Valentin Kipyatkov
115d7a2eae Code style setting for importing Java statics and enums with '*'
#KT-9592 Fixed
2015-10-19 18:40:14 +03:00
Valentin Kipyatkov
27228c2fcc KT-9638 Optimize imports: don't create import for static methods from superclasses
#KT-9638 Fixed
2015-10-19 18:40:14 +03:00
Valentin Kipyatkov
edd2d853b1 KT-8961 Optimize Imports adds useless import for static Java method reference
#KT-8961 Fixed
2015-10-19 18:40:14 +03:00
Valentin Kipyatkov
b62260180f Changed semantics of ImportInsertHelper.importDescriptor() - it does not check if we allowed to import it on reference shortening 2015-10-19 18:40:14 +03:00
Valentin Kipyatkov
1730069d5e Corrected implementation of DeclarationDescriptor.canBeReferencedViaImport() to include object members 2015-10-19 18:40:13 +03:00
Nikolay Krasko
4a0eb3836f Diagnostic for EA-70732 (another try) 2015-10-19 18:38:46 +03:00
Valentin Kipyatkov
0cfccdefe4 "enum class" and "annotation class" are completed as single keywords 2015-10-19 18:36:06 +03:00
Valentin Kipyatkov
fa14b18f7f KT-8624 Don't complete "dynamic" keyword when targeting JVM
#KT-8624 Fixed
2015-10-19 18:36:06 +03:00
Valentin Kipyatkov
0a5255ee4e Dropped inspection for functions matching operator convention - only intention left 2015-10-19 18:36:06 +03:00
Mikhail Glukhikh
ff60a13228 libraries/tools fix (data classes migration) 2015-10-19 18:17:22 +03:00
Pavel V. Talanov
85c05b18f5 More compact and meaningful error reporting in ResolverForProject
No more enormous module lists
2015-10-19 18:03:08 +03:00
Pavel V. Talanov
668b36f684 Minor: meaningful message on failure to find nested class data when building cls stubs 2015-10-19 18:02:13 +03:00
Dmitry Petrov
dda508234f Drop package facades:
- update tests
- cleanup JetTyMapper after rebase
2015-10-19 16:03:22 +03:00
Dmitry Petrov
639300a89d Drop package facades: fix testData for IncrementalProjectPathCaseChangedTest 2015-10-19 16:03:21 +03:00
Dmitry Petrov
ac1f0efe7c Drop package facades: fix testData for IncrementalLazyCachesTestGenerated 2015-10-19 16:03:21 +03:00
Dmitry Petrov
621d26aeeb Drop package facades: fix incremental compilation tests & proto comparison tests
(package facades are no longer generated)
2015-10-19 16:03:21 +03:00
Pavel V. Talanov
300aeb83b0 Fix test data for j2k conversion
(cherry picked from commit e3bac5e)
2015-10-19 16:03:21 +03:00
Pavel V. Talanov
4f5f5fc3b9 Fix test data for completion in java of source/compiled kotlin
(cherry picked from commit 83f2625)
2015-10-19 16:03:21 +03:00
Dmitry Petrov
f227908151 Drop package facades:
- update incremental compilation tests
2015-10-19 16:03:21 +03:00
Dmitry Petrov
70c91b2e75 Drop package facades:
- getting rid of package facades in InlineCodegen & related stuff.
Provide binary source element to top-level package members.
2015-10-19 16:03:20 +03:00
Dmitry Petrov
989f761166 Drop package facades:
- fix KotlinJpsBuildTest
2015-10-19 16:03:20 +03:00
Dmitry Petrov
c55106a325 Drop package facades:
- incremental cache impl should not depend on package facades
- fix trivial incremental compilation tests
TODO: inlines DO NOT WORK with incremental compilation
2015-10-19 16:03:20 +03:00
Dmitry Petrov
8c64279419 Drop package facades: fix testData in duplicate JVM signature test
(declaration origins are now ordered alphabetically)
2015-10-19 16:03:20 +03:00
Dmitry Petrov
a76fb328cb Dropping package facades:
- fix testData for 'move' tests
(NB regression in **/onDemandStaticImport.java, see: https://youtrack.jetbrains.com/issue/KT-9624)
2015-10-19 16:03:20 +03:00
Dmitry Petrov
31a85132c6 Dropping package facades:
- use KotlinCodegenFacade to build light classes
(PackageCodegen is not enough to obtain proper diagnostics)
2015-10-19 16:03:19 +03:00
Dmitry Petrov
9de45f4c56 Dropping package facades:
- add @Deprecated kotlin.internal.InternalPackage to runtime
(for compatibility with older Kotlin code)
2015-10-19 16:03:19 +03:00
Dmitry Petrov
8ab55813fe Dropping package facades:
- clashing JVM signature diagnostics should be reported in stable order
- drop tests for clashes vs package facades
- introduce box test for class named as old package facade
- fix some testData
2015-10-19 16:03:19 +03:00
Dmitry Petrov
014bcfeb15 Dropping package facades: JetPositionManager should use file class 2015-10-19 16:03:19 +03:00
Dmitry Petrov
6b2b64e438 Drop package facades: fix evaluation tests 2015-10-19 16:03:19 +03:00
Dmitry Petrov
dc399ac46b Drop package facades: get rid of isPackageClassFqName 2015-10-19 16:03:18 +03:00
Pavel V. Talanov
12d5aca9d6 Fix test data for safe delete test
(cherry picked from commit 25f363d)
2015-10-19 16:03:18 +03:00
Pavel V. Talanov
50ff146865 Fix test data for reference resolve in java test
(cherry picked from commit fcfe51a)
2015-10-19 16:03:18 +03:00
Pavel V. Talanov
ba84214bd0 Fix test data for rename test
(cherry picked from commit aee4f25)
2015-10-19 16:03:18 +03:00
Pavel V. Talanov
e578caaed2 Fix test data for move test
Tests do not pass after this change
(cherry picked from commit d4437d7)
2015-10-19 16:03:18 +03:00
Pavel V. Talanov
2e1967eb84 Fix test data for change signature test
(cherry picked from commit 8d420f1)
2015-10-19 16:03:18 +03:00
Pavel V. Talanov
fd893ba499 Fix test data for reconcile package with directory test
(cherry picked from commit b926e02)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
abca7107a7 Fix test data for convert function/property to property/function test
(cherry picked from commit e78c26a)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
c2bc1280d3 Fix test data for call hierarchy test
(cherry picked from commit 0145cc4)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
5cf1417511 Fix test data for quick doc test
(cherry picked from commit 57589e3)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
9b7f22d2c7 Fix ClsStubConsistencyTest: it didn't do anything after some previous changes
(cherry picked from commit f5af9fc)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
bb77890a4e Drop DeprecatedFacadeUsageInspection
(cherry picked from commit f18b95d)
2015-10-19 16:03:17 +03:00
Pavel V. Talanov
93bb010875 Drop decompiledText/clsStub tests for package facades
(cherry picked from commit fbaa81c)
2015-10-19 16:03:16 +03:00
Pavel V. Talanov
3a34dc0efe minor: fixes in test data
(cherry picked from commit 6ea4fbd)
2015-10-19 16:03:16 +03:00
Dmitry Petrov
d19ce49606 Dropping package facades:
- do not depend on package facade in LazyJavaPackageFragment
2015-10-19 16:03:16 +03:00
Dmitry Petrov
149e70aa07 Dropping package facades:
- light classes: do not generate light class for package facade
- drop package facades as multifile classes compilation mode support
- get rid of some additional package facade fqName usages
- update tests for light classes
2015-10-19 16:03:16 +03:00
Dmitry Petrov
e7fb7483c5 Drop package facades: update compiler tests. 2015-10-19 16:03:16 +03:00
Dmitry Petrov
3502c393fc Drop package facades: JVM BE tests passed. 2015-10-19 16:03:16 +03:00
Ilya Gorbunov
a59cb22bc6 Update testdata for LoadBuiltinsTest 2015-10-19 15:37:44 +03:00
Ilya Gorbunov
078d904d41 Deprecated ranges: relax errors to warnings. 2015-10-19 15:37:42 +03:00
Ilya Gorbunov
69dc6701cc Deprecate Double, Float and Comparable range implementations. 2015-10-19 15:37:41 +03:00
Pavel V. Talanov
aeb4abe39d Fix decompiled text for named companion object
Fix stub/ast mismatch for compiled named companion objects
Add tests
2015-10-19 15:27:49 +03:00
Pavel V. Talanov
d74a989d93 Tweak light classes to avoid computing stubs on certain api calls
Should speed up completion from java for certain cases
2015-10-19 15:27:48 +03:00
Mikhail Glukhikh
8d88109c00 Underscore names are now forbidden 2015-10-19 15:24:45 +03:00
Mikhail Glukhikh
f61aa18a05 Code cleanup: get rid of _ (mostly renamed to arg) 2015-10-19 15:24:42 +03:00
Mikhail Glukhikh
059175560c No __ as lambda parameter 2015-10-19 15:24:39 +03:00
Mikhail Glukhikh
14e38ff6d4 data deprecations cleanup: reserved word tests fixed 2015-10-19 15:24:36 +03:00
Mikhail Glukhikh
a4af6a3076 data deprecations (empty constructors, non val/var arguments, vararg, superclasses) are now errors, relevant tests fixed 2015-10-19 15:24:28 +03:00
Mikhail Glukhikh
cae0388a57 Code cleanup: data deprecations and some effective visibility stuff 2015-10-19 15:24:22 +03:00
Alexander Udalov
a501878d60 Workaround circular dependency of KProperty1 and KClassImpl
This appeared after introduction of KProperty in delegated property convention
methods. If a KProperty1 instance is created while constructing a KClassImpl
instance before assigning the 'jClass' field, an NPE is thrown because the
constructor of that KProperty1 instance tries to lookup the declaring class of
the property, which in some case happens to be the exact KClassImpl we're
constructing. No test added because I was not able to reproduce the behavior in
an isolated environment
2015-10-19 15:20:20 +03:00
Valentin Kipyatkov
d0f318d7db Fixed bug in completion with double insertion of "::class.java" 2015-10-19 15:10:21 +03:00
Svetlana Isakova
499ca02615 Changed retention to 'binary' for LowPriorityInOverloadResolution 2015-10-19 14:58:02 +03:00
Ilya Chernikov
ab3cfc3454 Adding property to enforce daemon shutdown, dropping unnecessary inheritance of the CompilerServiceImpl from UnicastRemoteObject, because manual control is used
(cherry picked from commit 182a231)
(cherry picked from commit eecd953)
2015-10-19 13:32:20 +02:00
Ilya Chernikov
16817f47e9 Removing dependency of kotlin plugin from daemon client (kotlinr), it should only depend on rmi-interface
(cherry picked from commit 01309eb)
(cherry picked from commit ed91190)
(cherry picked from commit da54faf)
2015-10-19 13:32:19 +02:00
Svetlana Isakova
514a1dea57 Changed test for 'LowPriorityInOverloadResolution' annotation 2015-10-19 14:15:06 +03:00
Svetlana Isakova
cb34498278 Check nullability in initial constraints
except constraints for receiver type (it can be accessed via safe call)
2015-10-19 14:15:06 +03:00
Svetlana Isakova
bb9f7094e0 Report 'TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH'
on call element, not on callee expression
2015-10-19 14:15:05 +03:00
Svetlana Isakova
4c85b69c88 Report type inference error
when inference failed with 'NoInfer' annotation
2015-10-19 14:15:05 +03:00
Zalim Bashorov
5ab3dd1716 Minor: do simpler check first 2015-10-19 14:01:59 +03:00
Yan Zhulanow
b2470a6aad Report warning on unary plus()/minus() 2015-10-19 11:51:54 +03:00
Nikolay Krasko
58cbf09232 Refactoring: collect all annotation presentation data in one place 2015-10-19 11:30:50 +03:00
Nikolay Krasko
4adcf3f114 Refactoring: return not-null from doCreateActions() 2015-10-19 11:30:49 +03:00
Nikolay Krasko
9ef8370871 Allow to create quickfix multifile tests in single file
It simplifies creating new tests
2015-10-19 11:30:47 +03:00
Nikolay Krasko
573738c87e Refactoring: extract name highlighting to separate class 2015-10-19 11:30:44 +03:00
Valentin Kipyatkov
734d3f4fca Removed test which did not work by some reason 2015-10-19 09:43:13 +03:00
Valentin Kipyatkov
963a8992b1 Fixed availability of "Make abstract" and "Implement members" quickfixes 2015-10-19 09:43:13 +03:00
Valentin Kipyatkov
fc10fa66be J2K does not convert usages of java "get" methods into "[]" (explicit "operator" modifier is required) 2015-10-19 09:43:13 +03:00
Valentin Kipyatkov
e7fa2cb776 Replace with explicit "get" inspection enabled by default but is reported only for functions explicitly marked with "operator" 2015-10-19 09:43:13 +03:00
Valentin Kipyatkov
e3ff464109 Minor 2015-10-19 09:43:13 +03:00
Valentin Kipyatkov
55575b7f10 J2K adds "operator" modifier to methods that look like operator on conversion 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
563ad4bab2 Added test 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
5ce0ed37b1 Moved file to another package 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
d1de2f65c9 Rewritten AddOperatorModifierInspection to be based on an intention (shouldn't we drop the inspection at all?) 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
df9ad17ea2 Moved&renamed class 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
627b31f2f7 Minor 2015-10-19 09:43:12 +03:00
Valentin Kipyatkov
f89d41dcda OperatorModifierInspection: reused code from OperatorChecks 2015-10-19 09:43:11 +03:00
Valentin Kipyatkov
4e73fe0f39 Renamed test data folder 2015-10-19 09:43:11 +03:00
Valentin Kipyatkov
dc909ac166 J2K: coversion of specially mapped built-in methods + replacing "get" with "[]" where possible 2015-10-19 09:43:11 +03:00
Valentin Kipyatkov
50f559a1c8 ReplaceGetIntention should not be available for non-operator functions 2015-10-19 09:43:11 +03:00
Valentin Kipyatkov
45389c61b4 Made AddFunctionToSupertypeFix low priority 2015-10-19 09:43:11 +03:00
Valentin Kipyatkov
5e7fd78028 Don't cause tests to hang because of UnsupportedAbiVersion notification 2015-10-19 09:43:10 +03:00
Valentin Kipyatkov
e42bb1698d MoveAssignmentToInitializerIntention to select property type when it can be removed 2015-10-19 09:43:10 +03:00
Valentin Kipyatkov
fc89b1e766 ShortenReferences to use partial body resolve 2015-10-19 09:43:10 +03:00
Yan Zhulanow
3a89c2194a Fix Java 8 tests (annotation methods are not loaded as functions anymore) 2015-10-19 03:56:15 +03:00
Yan Zhulanow
e14c9645dc Error on 'if' without an 'else' branch when used as an expression 2015-10-19 03:56:15 +03:00
Zalim Bashorov
de5dc61820 Make NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION error 2015-10-18 22:49:08 +03:00
Michael Bogdanov
a16658a9e9 Temporary workaround for convention method invocation 2015-10-18 17:53:29 +03:00
Michael Bogdanov
01864801f3 Stable accessors names 2015-10-18 17:53:29 +03:00
Michael Bogdanov
7851abd535 Generate access to private members through synthetic accessors in inline functions 2015-10-18 17:53:28 +03:00
Michael Bogdanov
3b02498ca8 Tests for private members and accessors for them 2015-10-18 17:53:28 +03:00
Michael Bogdanov
8641dbf42a Fix couldUseDirectAccessToProperty for private top-level properties 2015-10-18 17:53:27 +03:00
Michael Bogdanov
e2eddac27d Workaround for KT-9603 2015-10-18 17:53:27 +03:00
Michael Bogdanov
7022d84ec1 Use package part context for class generation 2015-10-18 17:53:27 +03:00
Michael Bogdanov
3e64baad78 Support multifile facades in isCallInsideSameClassAsDeclared 2015-10-18 17:53:26 +03:00
Michael Bogdanov
c63d221da3 Skip private members in facades 2015-10-18 17:53:26 +03:00
Michael Bogdanov
5b3a7a473e Private visibility for top-level private members 2015-10-18 15:53:48 +03:00
Ilya Gorbunov
10784644a5 Throwable stackTrace property instead of getStackTrace() function. 2015-10-17 23:43:20 +03:00
Svetlana Isakova
7208efc784 Fix tests with type annotations 2015-10-17 19:07:25 +03:00
Denis Zharkov
fafca76ac5 Generate common bridges for final builtin declaration
#KT-9596 Fixed
2015-10-17 17:46:17 +03:00
Denis Zharkov
cc94acdabc Do not load common for special properties from Java
I.e. do not treat getName in Java enum as override of Enum.name
2015-10-17 17:46:17 +03:00
Denis Zharkov
28c46b73f1 Rename some of builtin parameters 2015-10-17 17:46:16 +03:00
Denis Zharkov
1c02231cda Regenerate rendered descriptors after transforming Enum.values to property 2015-10-17 17:46:16 +03:00
Denis Zharkov
d8ede6d03e Transform Enum.values to property 2015-10-17 17:46:16 +03:00
Mikhael Bogdanov
d985f56b8d Fix local variable shift for inline functions 2015-10-17 17:02:56 +03:00
Natalia Ukhorskaya
9168572b8c Write local variable for inline function and inline argument 2015-10-17 17:02:55 +03:00
Michael Bogdanov
3452fc8d02 Don't initialize const properties in constructor
#KT-9532 Fixed
2015-10-17 15:31:57 +03:00
Stanislav Erokhin
7d7d37719b Forbidden old invokeExtension convention. 2015-10-17 14:45:53 +03:00
Alexey Sedunov
fc4b0a8121 Minor: Rename test class 2015-10-17 00:24:40 +03:00
Alexey Sedunov
6f5d977728 Inspections: Add inspection on equals()/hashCode() 2015-10-17 00:24:39 +03:00
Alexey Sedunov
127cb36602 Minor: Allow running member generation actions without editor 2015-10-17 00:24:38 +03:00
Alexey Sedunov
915236a6ba Code Insight: "Generate equals/hashCode" action 2015-10-17 00:24:37 +03:00
Ilya Gorbunov
d1d0807229 Add a note about *Raw functions behavior. 2015-10-16 23:55:37 +03:00
Ilya Gorbunov
8fd5677fe0 Move map-related *Raw methods to Maps.kt and do some cleanup there.
Correct deprecation messages and replacements.
2015-10-16 23:38:40 +03:00
Ilya Gorbunov
e2cf8a919c Fix contains usages in stdlib tests 2015-10-16 23:38:30 +03:00
Ilya Gorbunov
683bc4bd01 Generate *Raw methods. 2015-10-16 23:38:29 +03:00
Ilya Gorbunov
8aed39d9bb Provide *Raw methods as a replacement. 2015-10-16 23:38:27 +03:00
Ilya Gorbunov
d1a007e902 Do not generate deprecated contains for ranges. 2015-10-16 23:38:25 +03:00
Ilya Gorbunov
c5cd599e30 Delegate indexOf and lastIndexOf to List if the Iterable is List. 2015-10-16 23:38:23 +03:00
Ilya Gorbunov
45d13fafc8 StdLib generator: Allow receiver star-projections to be specified per-family. 2015-10-16 23:38:22 +03:00
Ilya Gorbunov
efa285bc30 ExpressionDecomposer: non-nullable upper bound of R, since supertype expects R to be non-null. 2015-10-16 23:38:20 +03:00
Ilya Gorbunov
654a85368d Allow to evaluate FamilyProperty based on family value specified. 2015-10-16 23:38:18 +03:00
Yan Zhulanow
3bb1b1adfd Put property delegates -related warnings on 'by' 2015-10-16 22:20:06 +03:00
Yan Zhulanow
b42d913bd7 Unify 'lateinit' diagnostics 2015-10-16 22:19:33 +03:00
Yan Zhulanow
9699708fb8 Do not put inapplicable annotations on getter 2015-10-16 22:19:33 +03:00
Yan Zhulanow
9ae3b0fa9c Drop loading Java annotation methods as functions 2015-10-16 22:13:34 +03:00
Svetlana Isakova
25b40455ad Serialize/deserialize annotations on type parameters 2015-10-16 21:58:47 +03:00
Svetlana Isakova
b7e2604bf2 Rename DeserializedTypeParameterDescriptor .java -> .kt 2015-10-16 21:58:47 +03:00
Svetlana Isakova
ded62686a0 Added 'LowPriorityInOverloadResolution' annotation 2015-10-16 21:58:46 +03:00
Svetlana Isakova
1cfb7d8f57 Changed constraint system tests
after adding new error 'hasTypeParameterWithUnsatisfiedOnlyInputTypesError'
2015-10-16 21:58:46 +03:00
Svetlana Isakova
a6ec5cecc0 Added 'OnlyInputTypes' annotation 2015-10-16 21:58:46 +03:00
Svetlana Isakova
082469aee4 Resolve annotations on type parameters of functions and properties 2015-10-16 21:58:45 +03:00
Svetlana Isakova
9b440345a1 Do not render @NoInfer, @Exact annotations
For now they are always not rendered,
but later they should be rendered in descriptors, but omitted in error messages
2015-10-16 21:58:45 +03:00
Svetlana Isakova
566e27788f Moved @NoInfer, @Exact to internal package 2015-10-16 21:58:44 +03:00
Svetlana Isakova
b401d46ae4 Check annotations on type arguments 2015-10-16 21:58:44 +03:00
Svetlana Isakova
6c4771147a Added more tests on annotations for nullable types 2015-10-16 21:58:43 +03:00
Yan Zhulanow
8a5c59e6b7 Inline static fields from Java 2015-10-16 21:36:33 +03:00
Denis Zharkov
7cbab5816c Fix lost testData 2015-10-16 21:11:05 +03:00
Mikhail Glukhikh
4b35e3b135 Preliminary declaration visitor for estimating local variable's predictability for smart casts
Predictability estimation algorithm is completely new, but backward compatibility should present.
A large set of tests. Some updated tests.
Smart casts allowed for captured variables if they are not modified in closure #KT-9051 Fixed
Also #KT-8643 Fixed
Also #KT-7976 Fixed
Correct handling of lambda arguments in functions #KT-9143 Fixed
2015-10-16 20:47:47 +03:00
Stanislav Erokhin
de7d2978db Fix assertEquals usage in kotlin code after adding statics to scope. 2015-10-16 20:42:35 +03:00
Stanislav Erokhin
d5dbc9638d Added static methods, nested classes and companion object from superclasses. 2015-10-16 20:42:34 +03:00
Stanislav Erokhin
ace99f6c3f Don't use ForceResolveUtil.forceResolveAllContents in TypeResolver in order to avoid problems with cyclic hierarchy. 2015-10-16 20:42:33 +03:00
Ilya Gorbunov
e24af934dc Use the same implementation in Array.toArrayList as in arrayListOf. 2015-10-16 19:20:26 +03:00
Valentin Kipyatkov
55122cda9e Minor changes on code review 2015-10-16 19:06:35 +03:00
Valentin Kipyatkov
6cf7d92565 Checking that no quickfixes hold references to DeclarationDescriptor's 2015-10-16 19:06:35 +03:00
Valentin Kipyatkov
a6c4d29640 More correct 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
6dbfe11afc Dropped inheritance from HintAction when not needed, dropped JetHintAction 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
9c6e0293ed No i18n 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
8cc3763465 Inlined JetAddFunctionToClassifierAction class into AddFunctionToSupertypeFix 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
ff13bcce1f Code simplifications 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
1a13ec0b00 Converted to Kotlin 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
41775bf8a0 Code refactoring 2015-10-16 19:06:34 +03:00
Valentin Kipyatkov
7c4e9f1caf ChangeMemberFunctionSignatureFix to not hold DeclarationDescriptor's 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
8dcc0096a8 Code simplifications + no i18n 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
cd6450e1a1 Converted to Kotlin 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
714e97751d Not holding descriptor in SuperClassNotInitialized.AddParametersFix 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
412f4a30c4 Correctness check for wrapper action's priority 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
670b278891 MapPlatformClassToKotlinFix to not hold descriptors directly 2015-10-16 19:06:33 +03:00
Valentin Kipyatkov
9bb159d4bc Code simplifications 2015-10-16 19:06:32 +03:00
Valentin Kipyatkov
78ac41a676 Converted to Kotlin + no i18n 2015-10-16 19:06:32 +03:00
Valentin Kipyatkov
17123a3cf2 Renames 2015-10-16 19:06:32 +03:00
Valentin Kipyatkov
c849c029cc More refactoring 2015-10-16 19:06:32 +03:00
Valentin Kipyatkov
4cf440b801 Refactoring 2015-10-16 19:06:32 +03:00
Valentin Kipyatkov
f311d9febf Refactored change signature fixes to not hold DeclarationDescriptor's 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
b2a04a7b04 Code refactorings in QuickFixWithDelegateFactory 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
de52cae7be Moved and renamed CreateFromUsageFactory 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
79375fa5e1 No i18n 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
0542ef30e3 Converted to Kotlin 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
5d1d44dfd3 More correct way to map arguments to parameters 2015-10-16 19:06:31 +03:00
Valentin Kipyatkov
4df9a46b00 Moved method 2015-10-16 19:06:30 +03:00
Valentin Kipyatkov
bce9f26327 Code improvements 2015-10-16 19:06:30 +03:00
Valentin Kipyatkov
f67e05de72 No i18n 2015-10-16 19:06:30 +03:00
Valentin Kipyatkov
4816003efd Refactoring to not pass BindingContext 2015-10-16 19:06:30 +03:00
Valentin Kipyatkov
c79d93b46c Converted to Kotlin 2015-10-16 19:06:30 +03:00
Valentin Kipyatkov
23025b072e Renamed JetIntentionAction to KotlinQuickFixAction 2015-10-16 19:06:29 +03:00
Valentin Kipyatkov
ab87471177 Converted JetIntentionAction to Kotlin 2015-10-16 19:06:29 +03:00
Valentin Kipyatkov
800e629614 Changed code style settings to place 'else' on new line 2015-10-16 19:06:18 +03:00
Ilya Gorbunov
59f88cfb52 Ensure vararg copy behavior for specific case of arrayListOf in JS. 2015-10-16 18:43:41 +03:00
Ilya Gorbunov
446cdc087d Optimizations in listOf and arrayListOf constructor functions.
Remove linkedListOf() from JS.
#KT-5703 Fixed
#KT-8519 Fixed
2015-10-16 18:28:43 +03:00
Denis Zharkov
032ba44070 Minor. Add optimization for getOverriddenBuiltinWithDifferentJvmName 2015-10-16 18:16:03 +03:00
Denis Zharkov
155bbd40ae Do not generate not-null assertion for argument of Collection.contains
Of course not only for contains but for other methods having INSTANCEOF bar.rier
Otherwise using platform null values becomes for such methods becomes
dangerous in cases like `platformString in setOf("", "")`
2015-10-16 18:16:02 +03:00
Denis Zharkov
495780f5ab Generate INVOKEVIRTUAL 'contains(Object)' instead of 'contains(String)'
In cases when callee overrides Collection<String>.contains
2015-10-16 18:16:02 +03:00
Denis Zharkov
64da399b31 Do not generate builtin bridges with Kotlin signature as synthetic
They should be available in Java (at least for overridding)
2015-10-16 18:16:02 +03:00
Denis Zharkov
d335f71dfe Generate special bridges for builtins with same name but different JVM descriptor 2015-10-16 18:16:02 +03:00
Denis Zharkov
07d8754adb Minor. Add bytecode listing tests with contains* methods 2015-10-16 18:16:02 +03:00
Denis Zharkov
b5296104e9 Ignore fake overrides when generating stub methods for MutableCollections
Because it's redundant as we go through all mutable collection hierarchy anyway
It wasn't a problem because for fake override just `generatedBridges` is being called
and there were no special bridges for such methods.
2015-10-16 18:16:02 +03:00
Denis Zharkov
65551e1185 Print 'final' and 'abstract' in BytecodeListing tests and sort declarations
Latter is needed to make format stable
2015-10-16 18:16:02 +03:00
Denis Zharkov
978a4cfa3c Minor. Refine naming for SpecialBuiltinMembers 2015-10-16 18:16:02 +03:00
Denis Zharkov
b6df6d8ae0 Exclude runtime.jvm from source roots
It's needed not to broke whole project compilation
while transforming Array.size
2015-10-16 18:16:02 +03:00
Denis Zharkov
bd37a10677 Transform *Array.size to properties 2015-10-16 18:16:02 +03:00
Andrey Breslav
b050324869 Mark string prefixes and suffixes as unsupported 2015-10-16 18:03:53 +03:00
Andrey Breslav
267ec2724e Minor. Ant task renamed: JetLexer -> KotlinLexer 2015-10-16 17:55:12 +03:00
Andrey Breslav
d1a3a66e12 Minor. Comments removed 2015-10-16 17:55:11 +03:00
Nikolay Krasko
cf7f94a559 Process request for searching class with empty qualified name without errors 2015-10-16 16:28:02 +03:00
Yan Zhulanow
2a55894bec Update OperationsMapGenerated 2015-10-16 16:19:51 +03:00
Zalim Bashorov
e54e6a3f31 Minor: fix build 2015-10-16 16:14:34 +03:00
Zalim Bashorov
79d38a6c8f Report the error when a declaration in Kotlin accidentally overrides a static member from Java 2015-10-16 16:14:34 +03:00
Zalim Bashorov
72a686f9e0 Add tests for accessing to Java/Kotlin inner/nested classes 2015-10-16 16:09:35 +03:00
Zalim Bashorov
9acf3e40de Generic type with Nothing in arguments compiles to raw type 2015-10-16 15:30:41 +03:00
Michael Nedzelsky
8e9f1ac31a Extension function type is not allowed as supertype 2015-10-16 14:23:47 +03:00
Dmitry Petrov
d3e2dd5942 Dropping package facades: drop package facades not cleaned up automatically 2015-10-16 13:53:23 +03:00
Dmitry Petrov
670b49ec5e Dropping package facades: remove unused imports from package facades
(not cleaned up automatically)
2015-10-16 11:23:22 +03:00
Alexander Udalov
74cd449d86 Fix runtime copying for IDEA run configuration
- 'overwrite' is false by default, so now it's set to true explicitly
- copy the runtime to all other plugins as well because runtimes from those
  plugins sometimes appear before the Kotlin one
2015-10-15 22:36:23 +03:00
Alexander Udalov
f62128bdcd Fix protobuf extension API usages
"getExtension" returns default value when the requested extension is not
present, which is 0 for Int, which makes no sense for extensions like
methodImplClassName that are storing the number in the string table
2015-10-15 22:36:22 +03:00
Nikolay Krasko
4a361ebe60 Hide update plugin popup right after Intall was clicked to prevent multiple downloads 2015-10-15 19:37:22 +03:00
Michael Nedzelsky
114d19e6d9 use MainFunctionDetector in order to check for main function 2015-10-15 19:24:45 +03:00
Valentin Kipyatkov
e2c7ba7f40 Changed test data to not use deprecated api 2015-10-15 19:20:12 +03:00
Valentin Kipyatkov
36b3b16cb5 KT-5145 has been resolved but KT-9606 exists 2015-10-15 19:20:12 +03:00
Valentin Kipyatkov
a83539705e Fixed completion handler for annotations (because the parser does not parse "@ xxx" as annotation anymore) 2015-10-15 19:20:12 +03:00
Valentin Kipyatkov
dc83d5cf04 Fixed test data 2015-10-15 19:20:12 +03:00
Valentin Kipyatkov
f67bd8c13f Even more precise keyword completion for modifiers 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
15d507bf47 Removed obsolete comments 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
762900037e Minor 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
26768ad34b Renames 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
292ea7625c Removed obosolete modifier "ref" from tests 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
dfcf459bf6 Minor 2015-10-15 19:20:11 +03:00
Valentin Kipyatkov
87cfccc2d9 Removed all places in parser where obsolete annotation syntax was allowed 2015-10-15 19:20:10 +03:00
Valentin Kipyatkov
875eaa52e3 Removing unused code 2015-10-15 19:20:10 +03:00
Valentin Kipyatkov
58a9b34276 Minor 2015-10-15 19:20:10 +03:00
Valentin Kipyatkov
78f60503e3 More correct keyword completion after @ 2015-10-15 19:20:10 +03:00
Valentin Kipyatkov
e27528477f KT-9478 No override completion for second parameter in primary constructor
#KT-9478 Fixed
 #KT-9386 Fixed
2015-10-15 19:20:10 +03:00
Valentin Kipyatkov
434be3be21 Adapted keyword completion to changed parser + more precise completion for modifier keywords 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
f90ff31507 Adapting code completion to no annotations without "@" 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
ddcab047ce Added CallType.ANNOTATION 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
0030fb7155 Removed unused code 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
9e694523f8 Fixing conversion from Java on copy/paste after changes in parser 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
b519a8af08 Fixing live template context detection after changes in parser 2015-10-15 19:20:09 +03:00
Valentin Kipyatkov
988c934e78 Fixed Pull Up to generate correct annotation syntax 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov
c8135fe4f2 Removed obolete syntax for enum entries in test data 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov
090ea37a32 Fixed test data to use only annotation syntax with @ 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov
487501a7a4 Fixed test data after changes in parser 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov
d84020b1f3 Removed special support for parsing annotations for multi-declaration in for 2015-10-15 19:20:08 +03:00
Valentin Kipyatkov
98dc8f234e Drop suppport for annotation syntax without '@' from parser 2015-10-15 19:20:07 +03:00
Ilya Gorbunov
d8ba854036 Fixes and cleanup in stdlib generator after builtin renames. 2015-10-15 18:35:11 +03:00
Ilya Gorbunov
a5ccecfc3d StdLib generator: refactor deprecation DSL to be able to set deprecation level. 2015-10-15 18:30:19 +03:00
Alexander Udalov
66417ed329 Parse type arguments after callable reference as error
Is likely to be supported in the future
2015-10-15 18:25:42 +03:00
Alexander Udalov
32a9bddbf9 Increase ABI version after yet another change to binary format 2015-10-15 18:25:42 +03:00
Alexander Udalov
bf4a681589 Deduce receiver type of callable reference from LHS, not from descriptor 2015-10-15 18:25:42 +03:00
Alexander Udalov
2cf437c0e2 Fix type of callable reference to fake override 2015-10-15 18:25:41 +03:00
Alexander Udalov
9eb2e16b94 Support strings directly in JVM string table
For small strings it may be beneficial to store them as is in the proto at one
point instead of in a class annotation, because each annotation argument in the
classfile has a constant overhead which may be significant for small strings
2015-10-15 18:25:41 +03:00
Alexander Udalov
4c21142648 Store type parameter names sometimes instead of ids
This helps to reuse instances of types when TypeTable is enabled in cases when
a file or a class contains a lot of functions with type parameters with the
same name (like Maps.kt in the stdlib with "Map<K, V>")
2015-10-15 18:25:40 +03:00
Alexander Udalov
fb5d8de84b Use type table in DescriptorSerializer, add switch to enable/disable, test 2015-10-15 18:25:40 +03:00
Alexander Udalov
82d2e623d3 Support a more optimized way of storing types in metadata
Together with almost every type now there's also an id which references a type
from a separate table. Storing such ids instead of Type messages will allow to
reduce the size of the metadata for files where types are used many times over
and over again. Currently only deserialization of such types is supported,
along with the former mechanism
2015-10-15 18:25:39 +03:00
Yan Zhulanow
bff6639e2d Use stubs in checkParameterInFunctionType 2015-10-15 18:23:58 +03:00
Yan Zhulanow
d52f245cf7 Rename unary plus/minus in builtins and stdlib 2015-10-15 18:23:58 +03:00
Yan Zhulanow
f7ce0c2d20 Add new intrinsic methods: unaryPlus, unaryMinus 2015-10-15 18:23:58 +03:00
Ilya Gorbunov
2fba80168d Remove usages of Delegates.lazy 2015-10-15 18:20:41 +03:00
Ilya Gorbunov
c4ef4758d2 Remove last two usages of Delegates.blockingLazy 2015-10-15 18:20:39 +03:00
Pavel V. Talanov
053e61a226 file facade index: Fix indexing files without top level members by mistake 2015-10-15 15:49:46 +03:00
Pavel V. Talanov
d9ed79e781 Add test for not generating file facade light class for empty file 2015-10-15 15:49:46 +03:00
Pavel V. Talanov
123c55b6db IDELightClassGenerationSupport: fix not generating @JvmName annotation for file facade light classes
This was a minor inconsistency between compiler and ide light classes
2015-10-15 15:49:45 +03:00
Pavel V. Talanov
9e9f593a7f Generate tests for ide light classes from the same test data as for compiler light classes 2015-10-15 15:49:45 +03:00
Pavel V. Talanov
35e56993d3 Rename: KotlinLightClassTest -> CompilerLightClassTest
In fact we have very different code in compiler and ide but only one test
2015-10-15 15:49:44 +03:00
Pavel V. Talanov
225e5abc92 Test renaming empty file 2015-10-15 15:49:43 +03:00
Pavel V. Talanov
53b21061fd Don't use StubBasedPsiElementBase#getStubOrPsiParent
#KT-9579 Fixed
2015-10-15 15:49:42 +03:00
Pavel V. Talanov
bfcabad148 Don't override StubBasedPsiElementBase.getStub
#KT-9575 Fixed
2015-10-15 15:49:42 +03:00
Michael Nedzelsky
890ae3e914 Make single-file classes tolerant to having many main()'s 2015-10-15 15:46:26 +03:00
Dmitry Petrov
416dda95ce Drop package facades: build reflection in "regular" mode
(no multifile package facades).
2015-10-15 10:33:53 +03:00
Dmitry Petrov
8cd624a58a Drop package facades: code cleanup in Kotlin project. 2015-10-15 10:33:47 +03:00
Dmitry Petrov
57869d85e8 Spread should always copy arrays.
Introduce a special (package private) utility class ArraysUtilJVM
to fix Array<T>.asList() issues.
2015-10-15 09:16:21 +03:00
Alexander Udalov
97946feb9a Minor, rename and adapt test 2015-10-15 00:51:37 +03:00
Alexander Udalov
556a169a5d Update stdlib usages of PropertyMetadata to KProperty<*> 2015-10-15 00:05:31 +03:00
Ilya Gorbunov
43bb9347c6 Rename Regex.hasMatch to containsMatchIn, and add corresponding contains function to CharSequence. 2015-10-14 22:49:50 +03:00
Ilya Gorbunov
d1d865aa0f Rename methods in Regex. Add matchEntire method to match entire string against regex. 2015-10-14 22:49:48 +03:00
Ilya Gorbunov
d860f335a3 JS: Make StringBuilder implement CharSequence and introduce secondary constructors. 2015-10-14 22:49:47 +03:00
Ilya Gorbunov
935024db4e Fix with hack bridge codegen for indexOf and lastIndexOf methods. More sophisticated solution is required. 2015-10-14 22:49:40 +03:00
Alexander Udalov
5017e54022 Fix test broken during merge 2015-10-14 22:02:11 +03:00
Alexander Udalov
bd5f068454 Fix build after subtle change of Enum.name from function to property 2015-10-14 22:00:48 +03:00
Michael Nedzelsky
57205f5721 drop BASE_WITH_NULLABLE_UPPER_BOUND 2015-10-14 20:51:01 +03:00
Alexander Udalov
ced1edcf98 Prohibit callable references to object members
To be able to make them more useful in the future, i.e. bound to the object
instance
2015-10-14 20:45:56 +03:00
Alexander Udalov
63dfe13c43 Add some tests on KProperty usage from delegate methods 2015-10-14 20:45:55 +03:00
Alexander Udalov
6a965c9a06 Update IDE tests to use KProperty instead of PropertyMetadata 2015-10-14 20:45:55 +03:00
Alexander Udalov
51bf68ce27 Update compiler tests to use KProperty instead of PropertyMetadata 2015-10-14 20:45:54 +03:00
Alexander Udalov
a6846b3967 Insert KProperty<*> when creating property delegate methods in IDE 2015-10-14 20:45:26 +03:00
Alexander Udalov
ec1b4776fe Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead 2015-10-14 20:45:25 +03:00
Alexander Udalov
3c74f48f91 Pass KProperty instances to property delegates
Inherit KProperty from PropertyMetadata, cache corresponding KProperty objects
instead of PropertyMetadataImpl objects, add support for properties with 2
receivers
2015-10-14 20:45:24 +03:00
Mikhail Glukhikh
4614e74e3f isFromJavaOrBuiltins() is now public (compilation fix) 2015-10-14 20:40:34 +03:00
Mikhail Glukhikh
8b482a59d9 No inline for MutableMap extensions with JvmName (to prevent stub comparison breaking) 2015-10-14 20:40:31 +03:00
Mikhail Glukhikh
3461837c28 Temporary move std-lib deprecated back to MutableCollections (due to backward compatibility stuff) 2015-10-14 20:40:29 +03:00
Mikhail Glukhikh
4987e095e5 Move some methods to deprecated built-ins 2015-10-14 20:40:26 +03:00
Mikhail Glukhikh
37ecf5def5 Fix: bridges are now generated for non-final functions of Kotlin built-in classes 2015-10-14 20:40:23 +03:00
Mikhail Glukhikh
d4a1a469b7 Number rename: xxxValue() --> toXxx(), test 2015-10-14 20:40:21 +03:00
Mikhail Glukhikh
c6a1bd7df3 different enum property rename: name --> ... 2015-10-14 20:40:18 +03:00
Mikhail Glukhikh
7ee1e555bc DataFlowValue enum property rename: name --> str 2015-10-14 20:40:15 +03:00
Mikhail Glukhikh
f8a356747e Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated 2015-10-14 20:40:13 +03:00
Mikhail Glukhikh
78cfeb0d7d Stdlib rename: List.indexOf(T), List.lastIndexOf(T), MutableCollection.removeAll(Collection<T>), MutableCollection.retainAll(Collection<T>) 2015-10-14 20:40:09 +03:00
Denis Zharkov
ed5ba01e85 Temporary revert moving CharSequence.charAt because of markdown parser 2015-10-14 20:40:07 +03:00
Denis Zharkov
9e052372e6 Make SmartSet smarter 2015-10-14 20:40:04 +03:00
Denis Zharkov
6322198a11 Revert 'isEmpty' transformation 2015-10-14 20:40:01 +03:00
Denis Zharkov
17c906658d Transform Throwable members to properties 2015-10-14 20:39:59 +03:00
Denis Zharkov
9088bf67c7 Extract and clean deprecated builtin extensions 2015-10-14 20:39:56 +03:00
Denis Zharkov
0b9c9a6047 Support builtin properties in ConstantExpressionEvaluator 2015-10-14 20:39:53 +03:00
Denis Zharkov
e062e32f95 Do not load special builtin overrides from Java as synthesized
It has been done just to avoid clashes with real declarations that look
like our builtins: e.g. 'String removeAt(int index) {}' and 'String remove(int index) {}'in Java.

But synthesized members are even weaker than extensions.

Solution is just to ignore the latter declaration and treat first as effective override
of out builltin.
2015-10-14 20:39:51 +03:00
Denis Zharkov
cd589b7e6a Add workaround for KT-9571 2015-10-14 20:39:48 +03:00
Denis Zharkov
5c2fd75389 Minor. Clarified comments in test 2015-10-14 20:39:46 +03:00
Denis Zharkov
a6dfa53d77 Adjust JS stdlib maps to changes in builtins 2015-10-14 20:39:43 +03:00
Denis Zharkov
d71b0144d5 Adjust testData to *Map transformation 2015-10-14 20:39:40 +03:00
Denis Zharkov
6fa8083a70 Transform builtin Map declaration and adjust stdlib 2015-10-14 20:39:38 +03:00
Denis Zharkov
f0e3fd617d Adjust testData to CharSequence.length transformation 2015-10-14 20:39:35 +03:00
Denis Zharkov
cb562e7ea5 Adjust JS backend to CharSequence.length transformation 2015-10-14 20:39:32 +03:00
Denis Zharkov
1305d9755a Transform CharSequence.length to property 2015-10-14 20:39:29 +03:00
Denis Zharkov
6c0d55e4ed Minor. Rename kotlin file and package part: builtinsPropertiesUtil -> specialBuiltinMembers 2015-10-14 20:39:27 +03:00
Denis Zharkov
0a6bf31a2c Refactor util methods
Group semantically similar parts by objects
2015-10-14 20:39:24 +03:00
Alexey Tsvetkov
eae644c365 Remove isArrayOf reference from common JVM/JS test 2015-10-14 20:06:52 +03:00
Yan Zhulanow
528482f625 Deprecated conventions (get -> getValue, plus -> unaryPlus) quickfix 2015-10-14 19:10:36 +03:00
Yan Zhulanow
f9e89596fd Add 'operator' modifier to stdlib property Delegate functions 2015-10-14 19:10:36 +03:00
Mikhail Glukhikh
d2358c7fb4 Accidentally added code was rolled back 2015-10-14 18:55:26 +03:00
Alexey Tsvetkov
5449cea6b7 Make Array type parameter T non-reified 2015-10-14 18:36:53 +03:00
Alexey Tsvetkov
62c25c0370 Replace is Array<T> with .isArrayOf<T>() 2015-10-14 18:36:53 +03:00
Michael Nedzelsky
01cd277d63 fix maven build 2015-10-14 18:34:10 +03:00
Ilya Gorbunov
cac7bfc80b Clarify some type in tests. 2015-10-14 18:26:46 +03:00
Ilya Gorbunov
93c73500d7 Do not allow to delegate readonly property to a map with incompatible value type.
Infer type of delegated readonly property from the map value type.
2015-10-14 18:22:30 +03:00
Ilya Gorbunov
96b33a8bfd Minor reindent optimizations 2015-10-14 18:19:57 +03:00
Ilya Gorbunov
af0a59dd02 Deprecate StringBuilder { } function, and introduce buildString { } instead.
#KT-7295 Fixed
2015-10-14 18:19:57 +03:00
Ilya Gorbunov
6d7cc0671e Allow equals with ignoreCase parameter to take nullable Strings both as a receiver and a parameter.
#KT-9188
2015-10-14 18:19:56 +03:00
Mikhail Glukhikh
c0faf82f77 Initializer is now required for mutable properties with backing fields and open or custom setter #KT-9449 Fixed
Setters without body are not taken into account accordingly to KT-9449.
Old INITIALIZATION_USING_BACKING_FIELD_SETTER are both dropped.
2015-10-14 18:00:13 +03:00
Mikhail Glukhikh
9c9ab671b3 Effective visibility: local is now considered private, TYPE_DEPENDS_ON_LOCAL_CLASS diagnostics removed as repeated #KT-9542 Fixed #KT-9526 Fixed 2015-10-14 18:00:10 +03:00
Mikhail Glukhikh
3a902d6002 Effective visibility: fix for internal & protected vs protected comparison #KT-9582 Fixed 2015-10-14 18:00:07 +03:00
Mikhail Glukhikh
d1c7749103 Effective visibility: messages fix 2015-10-14 18:00:05 +03:00
Mikhail Glukhikh
c210ca5b4d Additional correctness check for noinline & crossinline #KT-9567 Fixed 2015-10-14 18:00:02 +03:00
Mikhail Glukhikh
96b567254d Deprecation fixes 2015-10-14 17:59:59 +03:00
Michael Nedzelsky
27b13dda65 improve diagnostic for KT-9484 Don't allow named arguments for inherited functions with parameter name conflicts
#KT-9484 Fixed
2015-10-14 16:58:19 +03:00
Michael Nedzelsky
d05a7224c7 add check for escaped identifiers 2015-10-14 16:57:06 +03:00
Michael Nedzelsky
1818e9f1bd fix parse `` 2015-10-14 16:57:03 +03:00
Michael Nedzelsky
7f0fbb4577 fix tests for quoted names 2015-10-14 16:57:00 +03:00
Michael Nedzelsky
2a97c28491 remove validation from FqName and FqNameUnsafe constructors 2015-10-14 16:56:58 +03:00
Michael Nedzelsky
cc2dfc4937 remove validation from Name.identifier 2015-10-14 16:56:55 +03:00
Mikhail Glukhikh
001b1269b9 IO deprecations: String.separatorsToSystem() --> File.separatorsToSystem() KT-9534, FileTreeWalk.filter --> FileTreeWalk.treeFilter KT-8517 2015-10-14 16:10:11 +03:00
Michael Bogdanov
d78b59eb73 Package private visibility for private top-level members 2015-10-14 16:03:54 +03:00
Pavel V. Talanov
d603142cc6 Provide inspection and quickfixes for usages of static fields which will be no longer accessible in future versions
For this inspection three kinds of fixes are potentially available:
- Add 'const' modifier to kotlin property
- Add '@JvmField' annotation to kotlin property
- Change field reference to getter invocation

In case user chooses to 'cleanup code', these fixes are prioritized in this order
2015-10-14 14:42:26 +03:00
Pavel V. Talanov
47cca7db1f Test data: adjust test data after prohibiting properties with typeparameters not used in receiver 2015-10-14 13:42:13 +03:00
Pavel V. Talanov
3468e83671 Drop ID property which would be unsupported 2015-10-14 13:42:11 +03:00
Pavel V. Talanov
2e75f7f103 Js stdlib: noImpl property has 'Nothing' type 2015-10-14 13:41:56 +03:00
Pavel V. Talanov
be15399313 Report errors for type parameters of properties that are not used in receiver types 2015-10-14 13:40:10 +03:00
Ilya Chernikov
b5537e7d42 Merge pull request #766 from JetBrains/rr/daemon-fixes
daemon fixes
2015-10-14 12:21:51 +02:00
Ilya Chernikov
3f83a2895f Code cleanup 2015-10-14 12:20:01 +02:00
Ilya Chernikov
029e823b06 Placing temp files to appropriate location in DaemonExecutionViaIntermediateProcess test 2015-10-14 12:20:01 +02:00
Ilya Chernikov
d9b0e4db48 Simplifying java binary selection: java.awt.headless property seems work on all platforms 2015-10-14 12:20:00 +02:00
Ilya Chernikov
21558fe1c6 Deriving callback server classes from UnicastRemoteObject instead of manual registration, magically solves the problems with parallel builds; modifying and refactoring usage places accordingly 2015-10-14 12:20:00 +02:00
Ilya Chernikov
5b5ec2cb04 Make getDaemonConnection synchronized to avoid racing conditions on connection 2015-10-14 12:19:59 +02:00
Michael Bogdanov
0209cd080e Deprecated flag for static non-JvmField and non-const properties 2015-10-14 13:13:49 +03:00
Yan Zhulanow
275f3f8954 'operator' checks 2015-10-14 01:29:10 +03:00
Yan Zhulanow
dc8e796e49 getValue()/setValue() should be marked with 'operator' 2015-10-14 01:29:09 +03:00
Yan Zhulanow
bc3d1ddda0 Remove old 'get' delegate convention in interfaces 2015-10-14 01:29:09 +03:00
Ilya Gorbunov
6d2f9cc669 Remove obsolete iterator tests 2015-10-13 22:31:15 +03:00
Ilya Gorbunov
c58d21a1e7 Remove obsolete test for KT-1131 2015-10-13 22:31:14 +03:00
Ilya Gorbunov
2cdd413590 StdLib generators: Add some infix extensions for DSL, remove unneeded import, simplify declarations. 2015-10-13 22:23:13 +03:00
Svetlana Isakova
075a8eaf39 Moved 'Exact' and 'NoInfer' annotations to stdlib 2015-10-13 21:42:54 +03:00
Alexey Sedunov
30d697109c Code Insight: "Generate secondary constructor" action
#KT-6970 Fixed
2015-10-13 20:56:52 +03:00
Alexander Udalov
78829b9e8f Minor, drop some obsolete usages of TRAIT in compiler 2015-10-13 20:29:39 +03:00
Alexander Udalov
baaa3ef50a Remove KotlinSignature annotations from project code 2015-10-13 20:29:16 +03:00
Alexander Udalov
b378969a0a Deprecate KotlinSignature, to be removed later 2015-10-13 20:29:15 +03:00
Alexander Udalov
f16f4e5541 Disable loading parameter names from KotlinSignature, update test data 2015-10-13 20:29:15 +03:00
Alexey Tsvetkov
c21534fea1 Fix annotation on parameter in function type test data 2015-10-13 20:11:34 +03:00
Valentin Kipyatkov
d728417f7f Fixed KT-9496 FQ-class name inserted in type argument on copy/paste
#KT-9496 Fixed
2015-10-13 19:13:22 +03:00
Mikhail Glukhikh
f4e1f53549 Error message fixed 2015-10-13 17:13:17 +03:00
Mikhail Glukhikh
5a16e43579 Synchronized is no more allowed on abstract functions 2015-10-13 16:37:34 +03:00
Mikhail Glukhikh
ccf0c363fa Volatile is no more allowed on values #KT-7670 Fixed 2015-10-13 16:37:24 +03:00
Mikhail Glukhikh
8473be357f Effective visibility: separate InternalProtected and InternalProtectedBound, messages, test change 2015-10-13 16:31:28 +03:00
Mikhail Glukhikh
4dbd7e7f69 Effective visibility: lower bounds introduced for all protected and for protected and internal #KT-9540 Fixed 2015-10-13 16:26:05 +03:00
Michael Bogdanov
bee0fb6283 Fix test data 2015-10-13 16:17:05 +03:00
Alexey Tsvetkov
a564724fa8 Fix issues with incremental cache version change
#KT-9360 fixed
2015-10-13 16:12:15 +03:00
Alexey Tsvetkov
af3f7dfafc Make test generated 2015-10-13 16:12:15 +03:00
Alexey Tsvetkov
0e606a3210 Prohibit named parameters in function types in supertype position 2015-10-13 16:07:55 +03:00
Alexey Tsvetkov
90849a67ae Prohibit annotations, modifiers and default values for parameters in function type
#KT-7619 fixed
2015-10-13 16:07:55 +03:00
Michael Bogdanov
27a1a17c09 Deprecate non-const properties copies in interface 2015-10-13 14:15:47 +03:00
Andrey Breslav
dbc0197a36 @HiddenDeclaration deprecated 2015-10-13 13:50:16 +03:00
Andrey Breslav
8e7f6f3c8c Migrated from @HiddenDeclaration to @Deprecated(..., level = DeprecationLevel.HIDDEN) 2015-10-13 13:50:16 +03:00
Dmitry Jemerov
7663afb7e0 send OS version to plugin update checker 2015-10-13 11:27:20 +02:00
Alexander Udalov
046722100c Minor, drop unused method 2015-10-13 11:59:46 +03:00
Alexander Udalov
571e5aea83 Minor, fix space in diagnostic message 2015-10-13 11:59:18 +03:00
Alexander Udalov
5f18cb8703 Rename files in reflection.jvm
Move KDeclarationContainer.functions to KClasses and make it accept only
KClass, since KPackage is deprecated anyway
2015-10-13 11:58:45 +03:00
Michael Bogdanov
a09c8105c4 Support reflection on top level properties 2015-10-13 11:14:33 +03:00
Michael Bogdanov
e8f9a9f3b8 Support reflection on @JvmField properties inside class companion 2015-10-13 11:14:32 +03:00
Michael Bogdanov
f4b7913dd3 sanitizeAsJavaIdentifier function moved to JvmAbi 2015-10-13 11:14:32 +03:00
Pavel V. Talanov
d8be99a378 Prohibit @JvmField for private properties 2015-10-13 11:14:31 +03:00
Michael Bogdanov
f7164c5bfd Don't rename class property with JvmField annotation, report clashing 2015-10-13 11:14:31 +03:00
Michael Bogdanov
b713328540 Fix reflection for internal properties without getter/setter 2015-10-13 10:50:10 +03:00
Michael Bogdanov
81f478c6fd JvmField retention changed to BINARY 2015-10-13 10:50:09 +03:00
Michael Bogdanov
22142ee44d Initial support of JvmField annotation 2015-10-13 10:50:09 +03:00
Pavel V. Talanov
6cf9bfdb70 publicField -> JvmField
Effectively drop publicField and introduce JvmField (which has the same effect for now)
Implement frontend checks for @JvmField
Replace publicField -> JvmField in test data
2015-10-13 10:50:08 +03:00
Pavel V. Talanov
bfaf806f47 Refactor: move various checkers from JvmPlatformConfigurator.kt 2015-10-13 10:50:07 +03:00
Michael Bogdanov
7ce770d97d Test data fix 2015-10-13 10:50:07 +03:00
Michael Bogdanov
ee6dbac381 Remove synthetic flag from internal members 2015-10-13 10:48:37 +03:00
Andrey Breslav
4f63d47f82 Intention action for hiddnen declarations fixed 2015-10-13 01:45:02 +03:00
Andrey Breslav
1c00b933a5 @Deprecated(..., level = HIDDEN) supported
isAnnotatedAsHidden() moved to front-end
2015-10-13 01:44:46 +03:00
Andrey Breslav
95240fc29f DEPRECATED_ERROR supported 2015-10-13 01:44:46 +03:00
Alexander Udalov
34267e436e Merge two deprecation diagnostics into one DEPRECATION
This also fixes weird suppressions in user code: instead of
«@Suppress("DEPRECATED_SYMBOL_WITH_MESSAGE")» you should now use
«@Suppress("DEPRECATION")»
2015-10-13 01:44:45 +03:00
Denis Zharkov
c817949221 Add services from descriptor.loader.java to resulting jars
#KT-9558 Fixed
2015-10-12 18:51:36 +03:00
Mikhail Glukhikh
92f031cc46 Warning "value of type parameter is predetermined" is no more generated for sealed bound #KT-9244 Fixed 2015-10-12 18:28:47 +03:00
Dmitry Petrov
b24623810e Java 8 and Any-related restrictions: fix commits clash in testData 2015-10-12 18:17:51 +03:00
Mikhail Glukhikh
e121ba549e Accessor visibilities are now forbidden for abstract properties 2015-10-12 18:12:39 +03:00
Svetlana Isakova
b709b431ea Parse annotations on nullable types 2015-10-12 16:28:48 +03:00
Svetlana Isakova
b49a3f8e00 Added test for annotations on nullable types 2015-10-12 16:28:48 +03:00
Svetlana Isakova
c531c5a0af KDoc. Don't ignore links in @see
Such link was totally ignored:
/**
 * @see <a href="http://kotl.in">http://kotl.in</a>
 */
2015-10-12 16:28:48 +03:00
Dmitry Petrov
818931ec06 Check for exposed local classes (or objects) in type signatures: fix IDE test 2015-10-12 15:35:39 +03:00
Dmitry Petrov
7e51fb8521 Check for exposed local classes (or objects) in type signatures 2015-10-12 15:24:54 +03:00
Valentin Kipyatkov
cbf4e4a973 Corrected order of modifier insertion 2015-10-12 15:10:39 +03:00
Valentin Kipyatkov
55cbe185f8 Do not offer to convert to infix call when calling non-infix function 2015-10-12 15:10:39 +03:00
Valentin Kipyatkov
ee7425c1de Checking "infix" modifier in completion and import popup 2015-10-12 15:10:39 +03:00
Valentin Kipyatkov
a7577ac722 Don't use JetSimpleNameExpression too much 2015-10-12 15:09:53 +03:00
Dmitry Jemerov
23e13d4043 fix type parameter migration for extension functions 2015-10-12 13:45:44 +02:00
Andrey Breslav
045df48588 Minor. TRAIT -> INTERFACE 2015-10-12 14:40:48 +03:00
Andrey Breslav
a2e5e60c68 TRAIT -> INTERFACE in diagnostics 2015-10-12 14:36:38 +03:00
Dmitry Petrov
ff1bf673ba Java 8 override restrictions: interface can't implement a method of 'Any'
- update Range and related classes
2015-10-12 14:12:31 +03:00
Dmitry Petrov
7e9e427d4c Java 8 rules for method overrides:
- report errors on implementing methods of Any in interfaces
- update testData

~~~

Java 8 override restrictions: interface can't implement a method of 'Any'
- update compiler sources
2015-10-12 14:12:31 +03:00
Dmitry Petrov
5d9ee7efee Java 8 rules for method overrides:
- base class method wins against a (default) interface method,
so an abstract base class method should always be implemented
in a derived class;

- interface methods clash regardless of abstract/default
with possibly undefined behavior at run-time,
so a class or interface should always define its own method
for methods inherited from multiple interfaces and not from base class;

- meaningful diagnostics for class inheriting conflicting JVM signatures.
Since no override will happen under Java 8 rules,
ACCIDENTAL_OVERRIDE is misleading for this case;

- update testData.
2015-10-12 14:12:31 +03:00
Mikhail Glukhikh
82c0265cb3 Quick fix for implicit nothing with a test 2015-10-12 13:30:22 +03:00
Mikhail Glukhikh
64543e3f52 Implicit Nothing return type is now deprecated 2015-10-12 13:30:16 +03:00
Mikhail Glukhikh
65f0f312ff Private setter is now forbidden for non-private late init variables 2015-10-12 13:30:13 +03:00
Dmitry Jemerov
2cab34bb3f drop hexadecimal double literals 2015-10-12 11:32:34 +02:00
Dmitry Jemerov
ead19076d7 stop calling propertyDelegated() method 2015-10-12 11:16:12 +02:00
Dmitry Jemerov
457e40a0b8 fix a few more tests 2015-10-12 11:11:31 +02:00
Dmitry Jemerov
02a242f15a parser tweaks to compensate for removal of static type assertions 2015-10-12 11:11:30 +02:00
Dmitry Jemerov
a63d3f5a0f fix more compilation errors and some tests 2015-10-12 11:11:29 +02:00
Dmitry Jemerov
f5aaf65ca9 remove usages of static type assertions from the compiler 2015-10-12 11:11:28 +02:00
Dmitry Jemerov
1523d5bcbf removing static type assertions work in progress 2015-10-12 11:11:23 +02:00
Nikolay Krasko
8f87efc0a2 Update to IDEA 143.116.4 2015-10-12 11:49:47 +03:00
Ilya Gorbunov
7ff0e140f0 Update MockJDK to include Pattern.class required in tests for #KT-7732 2015-10-12 00:13:37 +03:00
Ilya Gorbunov
4ae2491ab6 J2K: Special conversion for java.lang.String methods: String.join (cannot be tested with MockJDK)
#KT-7732
2015-10-12 00:13:23 +03:00
Ilya Gorbunov
5914625b53 J2K: Special conversion for java.lang.String methods: more accurate parameter count matching for String.format
#KT-7732
2015-10-12 00:13:09 +03:00
Ilya Gorbunov
77a46cab92 J2K: Special conversion for java.lang.String methods: tests for lastIndexOf
#KT-7732
2015-10-12 00:12:55 +03:00
Ilya Gorbunov
7a0a23366c Use PsiExpressionEvaluator to evaluate constant limit value. 2015-10-12 00:12:41 +03:00
Denis Zharkov
3bb8cf1bff Temporary restore CharSequence.get extension 2015-10-11 19:59:31 +03:00
Denis Zharkov
a76a8fcc3f Adjust various testData to remove/charAt transformation 2015-10-11 19:59:31 +03:00
Denis Zharkov
6d864e0854 Adjust collection stubs generating to 'remove' transformation
See substitutedList* tests in Backend
2015-10-11 19:59:30 +03:00
Denis Zharkov
1c7fa42b86 Adjust js codegen and lib to 'charAt' -> 'get' transformation 2015-10-11 19:59:30 +03:00
Denis Zharkov
6f4579213c Adjust rendered descriptors after remove/charAt transformations 2015-10-11 19:59:30 +03:00
Denis Zharkov
3733d0e84f Adjust stdlib to remove/charAt transformation 2015-10-11 19:59:25 +03:00
Denis Zharkov
89ded4ab1d Implement hack to support both remove() and removeAt() in MutableList<Int>
Also add couple of tests about CharSequence.get
2015-10-11 19:57:22 +03:00
Denis Zharkov
742a538aed Support loading builtin methods from Java with different names 2015-10-11 19:57:22 +03:00
Denis Zharkov
3f5498e9f5 Transform some builtin methods
1. CharSequence.charAt -> get
2. ML.remove(Int) -> removeAt,
3. MC.remove(Any?) -> MC.remove(E)
2015-10-11 19:57:21 +03:00
Denis Zharkov
a98d1e1e55 Minor. Convert some properties to functions 2015-10-11 19:57:08 +03:00
Alexander Udalov
c78410855d Refactor CallableClsStubBuilder, separate functions and properties 2015-10-11 17:10:41 +03:00
Alexander Udalov
9d626ef1d9 Rename KotlinCallable annotation to KotlinFunction 2015-10-11 17:10:40 +03:00
Alexander Udalov
55dd51814f Don't serialize built-in enum entries
These files are never read anyway
2015-10-11 17:10:39 +03:00
Alexander Udalov
15b0d3c7c7 Minor, safer way to avoid storing defaults in proto 2015-10-11 17:10:39 +03:00
Alexander Udalov
d4320b43fa Delete useless class, simplify reading class visitor 2015-10-11 17:10:38 +03:00
Alexander Udalov
9e4823ef82 Write module name to metadata, fix reflection for file facades
Module name will be used for proper introspection of internal members
2015-10-11 17:10:37 +03:00
Alexander Udalov
0218e0351b Deprecate KPackage, to be removed later 2015-10-11 17:10:37 +03:00
Alexander Udalov
790c59d9e5 Increase ABI & stub version
See previous commits for motivation
2015-10-11 17:10:36 +03:00
Alexander Udalov
37c36f806a Rename foreignKotlinClass -> getOrCreateKotlinClass
Previously this cache contained only Java (hence 'foreign') classes, that is
not the case anymore
2015-10-11 17:10:35 +03:00
Alexander Udalov
a4732b442d Don't create KClass and KPackage instances in <clinit>
This proved to be a fragile technique, which probably doesn't even improve
performance in most cases but has lots of unexpected problems: unconditional
initialization of reflection classes, increasing the size of the bytecode, bugs
with <clinit> in annotations on JVM 6, inability to support conversion of a
class from Kotlin to Java without recompiling clients which use it
reflectively, etc.
2015-10-11 17:10:35 +03:00
Alexander Udalov
fe737886cd Drop deprecated K*Function interfaces 2015-10-11 17:10:34 +03:00
Alexander Udalov
8c4d7fdf24 Drop deprecated nested classes from Kotlin metadata annotations 2015-10-11 17:10:33 +03:00
Alexander Udalov
1497648093 Add KOTLIN_MULTIFILE_CLASS annotation to KotlinAbiVersionIndex
It was forgotten during the package reform
2015-10-11 17:10:33 +03:00
Alexander Udalov
1c229d173e Forget old classes from jet.runtime.typeinfo.*, drop JetValueParameter 2015-10-11 17:10:32 +03:00
Alexander Udalov
e3a5590eb7 Simplify FQ name check in ReflectionTypes
Fix EA-73058
2015-10-11 17:10:32 +03:00
Alexander Udalov
cf54a76e3b Optimize JvmStringTable, don't store operation = NONE which is default 2015-10-11 17:10:31 +03:00
Alexander Udalov
934ffed944 Don't write field signatures when not necessary 2015-10-11 17:10:30 +03:00
Alexander Udalov
864926ee2e Don't always write JVM method signatures to metadata
When the trivial type mapping (implemented in JvmProtoBufUtil) from
ProtoBuf.Type instances works fine, don't write the signature since it can be
loaded by exactly the same trivial type mapping
2015-10-11 17:10:30 +03:00
Alexander Udalov
168f1000e4 Remove confusing outdated code about copying JVM signatures
This was necessary with old package facades, but not anymore because metadata
is written separately to file classes and codegen now never tries to serialize
deserialized descriptors
2015-10-11 17:10:29 +03:00
Alexander Udalov
3506a9615e Don't write default values of flags, provide sensible defaults 2015-10-11 17:10:28 +03:00
Alexander Udalov
e58677b8fe Do not fail on unknown visibilities, modalities, etc in deserialization
Provide some sensible defaults like "private", "final", "class" instead, which
will give us a small possibility to not break the format if a new
modality/visibility/... is introduced in the case when the old compiler may
safely consider it as the default one
2015-10-11 17:10:28 +03:00
Alexander Udalov
2e10d21e3f Minor, rename LATE_INIT -> IS_LATEINIT, INNER -> IS_INNER 2015-10-11 17:10:27 +03:00
Alexander Udalov
aa95375029 Fix incorrect copy-paste during proto messages refactoring
Annotations on properties should be loaded not when the message is Property
(this happens for getters/setters as well), but when the kind is explicitly set
to PROPERTY. Also restore construction of JVM signatures for constructors
2015-10-11 17:10:26 +03:00
Alexander Udalov
e4efa27b76 Drop Callable and primary/secondary constructor proto messages 2015-10-11 17:10:26 +03:00
Alexander Udalov
e02854db6d Support new protobuf messages in cls stub builder 2015-10-11 17:10:25 +03:00
Alexander Udalov
a44f74ea20 Load new proto messages for constructors 2015-10-11 17:10:24 +03:00
Alexander Udalov
9bf0502a31 Load new proto messages for functions and properties 2015-10-11 17:10:24 +03:00
Ilya Gorbunov
a58a7727d1 Preprocessor: cleanup unused code. 2015-10-11 16:14:38 +03:00
Ilya Gorbunov
423a146bce Preprocessor: do not use legacy package facade name in build.xml. 2015-10-11 16:14:24 +03:00
Alexey Sedunov
ae9bd371e6 Unit Test Tooling: Test navigation
#KT-6472 In Progress
2015-10-11 01:13:48 +03:00
Alexey Sedunov
ad929a6577 Unit Test Tooling: Implement "Create Test" action
#KT-6472 In Progress
2015-10-11 01:13:41 +03:00
Alexey Sedunov
c697eef803 Minor: Undeprecate JetClassOrObject.isAnnotation() function 2015-10-11 01:08:11 +03:00
Denis Zharkov
f9c7e7add4 Adjust project code to changes in properties loading 2015-10-10 12:29:15 +03:00
Denis Zharkov
97ed8c83a0 Adjust testData to isEmpty/key/value transformations 2015-10-10 12:29:15 +03:00
Denis Zharkov
83b680935b Adjust js stdlib to isEmpty transformation 2015-10-10 12:29:14 +03:00
Denis Zharkov
61459961fc Adjust stdlib to isEmpty transformation 2015-10-10 12:29:14 +03:00
Denis Zharkov
cfc9d19825 Transform Collection.isEmpty and Map.Entry.key/value to properties 2015-10-10 12:29:14 +03:00
Denis Zharkov
ad68378836 Support loading methods from Java as common properties overrides 2015-10-10 12:29:14 +03:00
Michael Nedzelsky
396f38e9b3 fix check for ambiguous parameter names for overriding methods 2015-10-10 02:55:31 +03:00
Ilya Chernikov
c3d3160345 Cleaning jar cache after build in gradle plugin, fixes KT-9440. Some refactorings on the way to fix. 2015-10-09 22:38:15 +02:00
Yan Zhulanow
ed5c059cea Rename unary plus() and minus() to unaryPlus() and unaryMinus() 2015-10-09 22:49:17 +03:00
Yan Zhulanow
1f2b4e20fe Replace get() and set() to getValue() and setValue() (property delegates) 2015-10-09 22:49:16 +03:00
Mikhail Glukhikh
2fee9d362c Local interfaces are forbidden now 2015-10-09 21:06:33 +03:00
Mikhail Glukhikh
d1ab5168ec Error messages about "var with open / custom setter initialization" changed accordingly with the new backing field syntax 2015-10-09 21:06:29 +03:00
Mikhail Glukhikh
6914d09297 Old backing field with dollar is now forbidden 2015-10-09 21:06:26 +03:00
Mikhail Glukhikh
5117f744f7 Change to backing field fix is dropped because of deprecated syntax 2015-10-09 21:06:01 +03:00
Mikhail Glukhikh
cf7146aaf7 Target is given for Throws annotation 2015-10-09 20:04:26 +03:00
Ilya Chernikov
1cb48d5ad9 Enabling daemon by default, removing word "experimental" from settings field name. 2015-10-09 17:47:50 +02:00
Dmitry Jemerov
07d3ab792a enable infix quickfix in cleanup 2015-10-09 17:43:27 +02:00
Dmitry Jemerov
6ca3a9fe9f quickfix to add 'infix' modifier 2015-10-09 17:43:26 +02:00
Dmitry Jemerov
dcab3e406e update checker: fix EDT assertion, don't retry update if plugin repo has no compatible version 2015-10-09 17:39:50 +02:00
Natalia Ukhorskaya
6bc1f15f46 Debugger: fix tests on stepping 2015-10-09 17:33:19 +03:00
Natalia Ukhorskaya
d441f2cf8a Debugger: do not compute location during creation of step command 2015-10-09 17:33:18 +03:00
Natalia Ukhorskaya
bf4a71ee02 Minor: fix number of steps in some tests 2015-10-09 17:33:17 +03:00
Natalia Ukhorskaya
a303c8a2f6 Debugger, stepping: first check that source position is in kotlin file 2015-10-09 17:33:17 +03:00
Valentin Kipyatkov
6fb329c1cd Minor 2015-10-09 16:42:07 +03:00
Valentin Kipyatkov
21b2631558 KT-9500 Prohibit java.lang.Deprecated in completion + no duplicates for built-ins in completion
#KT-9500 Fixed
2015-10-09 16:42:07 +03:00
Valentin Kipyatkov
7b2d63cfb9 Added infix modifier 2015-10-09 16:42:07 +03:00
Valentin Kipyatkov
91b2ba9ef3 Fixed warnings 2015-10-09 16:42:07 +03:00
Valentin Kipyatkov
b549bc913a Dropped ability to specify custom PrefixMatcher in LookupElementsCollector 2015-10-09 16:42:07 +03:00
Valentin Kipyatkov
aa0a68b4be More simple prefix matching in ParameterNameAndTypeCompletion 2015-10-09 16:42:06 +03:00
Valentin Kipyatkov
9b4070b881 Changed lookup strings and prefix matchers for parameter name&type completion to get more stable and correct ordering 2015-10-09 16:42:06 +03:00
Valentin Kipyatkov
7c39064f75 Removed unnecessary 'data' modifier 2015-10-09 16:42:06 +03:00
Valentin Kipyatkov
2c1defaf18 Smart completion for "ClassName::class" and "ClassName::class.java" when specific KClass or Class expected 2015-10-09 16:42:06 +03:00
Michael Nedzelsky
b92a06929e fix KT-9484 Don't allow named arguments for inherited functions with parameter name conflicts
#KT9484 Fixed
2015-10-09 16:35:44 +03:00
Michael Bogdanov
ae15443413 Generate linenumberts in objects clinit 2015-10-09 16:25:21 +03:00
Michael Bogdanov
afa281357a Changed visibility for trait static fields 2015-10-09 16:25:20 +03:00
Michael Bogdanov
8198ac77cb Generate private constructor for object
#KT-9510 Fixed
2015-10-09 16:25:20 +03:00
Michael Bogdanov
a3e0205aec JvmAbi increased 2015-10-09 16:25:19 +03:00
Pavel V. Talanov
f4ef9647b1 Idea: add quick fix for replacing usages of deprecated "INSTANCE$" field 2015-10-09 16:25:19 +03:00
Pavel V. Talanov
d630c25f7d Add test for light class generated from object 2015-10-09 16:25:18 +03:00
Michael Bogdanov
a4997e8b31 backend tests: INSTANCE$ -> INSTANCE 2015-10-09 16:25:18 +03:00
Pavel V. Talanov
679748e1ee j2k tests: INSTANCE$ -> INSTANCE 2015-10-09 16:25:17 +03:00
Pavel V. Talanov
c28107034a Idea tests: INSTANCE$ -> INSTANCE 2015-10-09 16:25:17 +03:00
Michael Bogdanov
7fe71d21f3 Initialize class companion object fields on accessing its java class 2015-10-09 16:25:16 +03:00
Michael Bogdanov
60d1736b97 Instance field generation in objects 2015-10-09 16:25:16 +03:00
Michael Bogdanov
53ced57c42 Annotations.EMPTY replaced with Annotations.Companion.getEMPTY() in java classes 2015-10-09 16:25:15 +03:00
Michael Bogdanov
12afbffb09 Copy to interface just companion object public const properties 2015-10-09 16:25:15 +03:00
Michael Bogdanov
a9aa2bc147 Interface companion object backing fields become static 2015-10-09 16:25:14 +03:00
Nikolay Krasko
8f20595e8c Disable plugin updater check in tests 2015-10-09 16:14:27 +03:00
Natalia Ukhorskaya
391af972d7 CodeFragments: do not add imports from context file 2015-10-09 15:10:03 +03:00
Zalim Bashorov
e9b138557b Report error when try to access to static field which come from many sources 2015-10-09 15:00:59 +03:00
Denis Zharkov
da00ddfc3e Filter out UnsafeVariance annotation when it sticks after substitution 2015-10-09 14:40:34 +03:00
Denis Zharkov
888f8cc548 Adjust stdlib to contains* transformation 2015-10-09 14:40:34 +03:00
Denis Zharkov
14f93a88c4 Adjust rendered collections desciptors to contains* transformation 2015-10-09 14:40:34 +03:00
Denis Zharkov
e9cd9db2a7 Adjust testData after contains transformation 2015-10-09 14:40:34 +03:00
Denis Zharkov
35783f129b Generate INSTANCEOF barrier in bridges for Collection.contains 2015-10-09 14:40:33 +03:00
Denis Zharkov
80da320c2c Customize JVM signature for Collection's members
- Do not write signature for `contains`
- Write signature for `containsAll` as it's declared like `containsAll(Collection<?>)`
2015-10-09 14:40:33 +03:00
Denis Zharkov
1f52dfccdb Setup specific loading contains/containsAll from java
If they override Kotlin collection members

contains(Object) -> contains(E)
containsAll(Collection<?>) -> containsAll(Collection<E>)
2015-10-09 14:40:33 +03:00
Denis Zharkov
d27d3950fb Refine signature for Collection.contains/containsAll 2015-10-09 14:40:33 +03:00
Denis Zharkov
521e958f6d Serialize type annotations in builtins 2015-10-09 14:40:33 +03:00
Denis Zharkov
e800be18c6 Introduce UnsafeVariance annotation 2015-10-09 14:40:33 +03:00
Nikolay Krasko
013b257347 Make it possible to get diagnostics factory was registered for 2015-10-09 14:15:09 +03:00
Nikolay Krasko
efaa1d9614 Minor: add factory info into toString() for diagnostics 2015-10-09 14:15:08 +03:00
Nikolay Krasko
a2ba1d762d Fix spelling in error message (KT-9475)
#KT-9475 Fixed
2015-10-09 14:15:07 +03:00
Dmitry Jemerov
07332106a5 Gradle plugin build fixed 2015-10-09 12:57:02 +02:00
Dmitry Jemerov
a54e49aedd Maven build fixed 2015-10-09 12:43:00 +02:00
Michael Bogdanov
7cdc3d8dd9 Fix test data 2015-10-09 13:03:01 +03:00
Natalia Ukhorskaya
ccbb015606 Completion for evaluate expression: add only imports from code fragment to scope when analyzing it 2015-10-09 12:58:39 +03:00
Dmitry Jemerov
7e2c2ef678 restore compilation after rebase of dropping external annotations; fix affected tests 2015-10-09 11:52:02 +02:00
Alexander Udalov
c41aefe2cb Drop JVMConfigurationKeys.ANNOTATIONS_PATH_KEY and external annotations in CLI
CoreExternalAnnotationsManager is moved to the only usage left, which is in the
test
2015-10-09 11:52:00 +02:00
Alexander Udalov
b0a4e812e5 Drop ConfigurationKind.JDK_AND_ANNOTATIONS, JetTestUtils.getJdkAnnotationsJar() 2015-10-09 11:51:59 +02:00
Alexander Udalov
448b3f6195 Rename testData/codegen/boxWithStdlib/{jdkAnnotations -> jdk} 2015-10-09 11:51:58 +02:00
Alexander Udalov
13c54a2678 Drop external annotations support in build tools
External annotations will only be considered in the IDE for additional
inspections based on more precise types in Java libraries
2015-10-09 11:51:58 +02:00
Svetlana Isakova
f2efd30a5d Added 'NoInfer' and 'Exact' annotations 2015-10-09 11:05:52 +03:00
Svetlana Isakova
9b1030de2e Annotations on type projection belong to type reference 2015-10-09 11:05:52 +03:00
Svetlana Isakova
63d9e287b7 Converted JetTypeReference to Kotlin 2015-10-09 11:05:52 +03:00
Svetlana Isakova
d8e7dccc90 Rename JetTypeReference .java -> .kt 2015-10-09 11:05:51 +03:00
Dmitry Jemerov
d6ea701901 use IDEA 15 UI for "Show expression type" 2015-10-08 19:59:25 +02:00
Dmitry Jemerov
d8122e835e dead code deleted 2015-10-08 19:58:00 +02:00
Dmitry Jemerov
3c93824e16 mark JS features as experimental in the UI 2015-10-08 19:57:59 +02:00
Valentin Kipyatkov
b29267ff93 "Single instance only" for IDEA run configurations 2015-10-08 20:36:18 +03:00
Zalim Bashorov
c8f54b3ccb Fix the accessing to static field from Parent through Child 2015-10-08 19:33:29 +03:00
Zalim Bashorov
ae2831338b Load Java static members from parents 2015-10-08 19:33:29 +03:00
Yan Zhulanow
d90585624f Add 'DeprecationLevel' parameter to 'Deprecated' 2015-10-08 18:31:08 +03:00
Yan Zhulanow
fd3c28c950 Forbid Foo<T>.Bar 2015-10-08 18:31:07 +03:00
Yan Zhulanow
937d1913b8 Automatically put 'operator' modifier on appropriate Java methods 2015-10-08 18:31:07 +03:00
Yan Zhulanow
2c848b8bb0 Add JvmSynthetic annotation 2015-10-08 18:31:06 +03:00
Yan Zhulanow
9eeb89a6aa Rename sparam to setparam 2015-10-08 18:31:06 +03:00
Yan Zhulanow
e85d76f9cc Parse ;; as a single token 2015-10-08 18:31:05 +03:00
Yan Zhulanow
8d5cbeeab0 Fix "not initialized" on lateinit property (KT-9369) 2015-10-08 18:31:05 +03:00
Yan Zhulanow
aa573c2e31 Report more specific error on primitive type property (KT-9358) 2015-10-08 18:31:04 +03:00
Yan Zhulanow
e6c0d4692a Fix operator warning on 'Constr()()' 2015-10-08 18:31:04 +03:00
Mikhail Glukhikh
7e4fbfaa6d Exposed visibility: warning messages changed 2015-10-08 18:25:37 +03:00
Mikhail Glukhikh
e99a070a2e Refactoring: decomposition of checkExposed... methods 2015-10-08 18:25:31 +03:00
Dmitry Jemerov
7abc29cff6 fix 'where' clause in IDEA plugin code 2015-10-08 17:09:58 +02:00
Dmitry Jemerov
45d1129dbb quickfix to move type constraint to 'where' clause 2015-10-08 17:09:58 +02:00
Dmitry Jemerov
4c4030dfc1 disallow putting type parameter constraints both in type parameter list and in 'where' clause 2015-10-08 17:09:57 +02:00
Dmitry Petrov
51225d3556 Test for KT-9430: proper visibility of protected members of base class
in child classes
2015-10-08 18:08:52 +03:00
Ilya Gorbunov
b6caedbc82 Add operator to Comparable.rangeTo 2015-10-08 17:48:49 +03:00
Ilya Gorbunov
e09c0ae2ff Rename toMap { selector } to toMapBy.
#KT-6657
2015-10-08 17:48:47 +03:00
Ilya Gorbunov
fd7b670414 Replace deprecated package facade ref. 2015-10-08 17:48:37 +03:00
Ilya Gorbunov
db93532e7c Deprecate merge and introduce instead zip with transform.
Add zip with transform for Strings.
2015-10-08 17:48:35 +03:00
Ilya Gorbunov
12d9beb3a4 Deprecate join (use joinToString instead)
#KT-6909
2015-10-08 17:48:33 +03:00
Sergey Mashkov
f37e022b8e IDL2K: review changes 2015-10-08 14:16:48 +03:00
Sergey Mashkov
2a0c1a997e IDL2K: support for operator modifier 2015-10-08 14:16:48 +03:00
Sergey Mashkov
4d8bd683eb IDL2K code cleanup, add to build 2015-10-08 14:16:48 +03:00
Alexey Sedunov
e8e0f2d7e1 Unused Symbol: Check descriptor before creating light class to prevent InvalidMirrorException on red code 2015-10-08 13:15:20 +03:00
Alexey Sedunov
730cc7b551 Code insight: "Generate..." actions for test framework support methods
#KT-9355 Fixed
2015-10-08 13:15:18 +03:00
Alexey Sedunov
5a325aeec0 Line Marking: Implement run markers for test classes/functions 2015-10-08 13:15:16 +03:00
Alexey Sedunov
1a36c3e29a Quick Fixes: Implement quickfix for missing library 2015-10-08 13:15:15 +03:00
Alexey Sedunov
f59e56b7e9 Minor: Simplify generateMembers() function 2015-10-08 13:15:13 +03:00
Alexey Sedunov
3c14bedc04 Minor: Move around some functions 2015-10-08 13:15:07 +03:00
Valentin Kipyatkov
84008e9381 Comment 2015-10-07 23:09:57 +03:00
Valentin Kipyatkov
cb24d3df1a Fixed JetLanguage + used better api 2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
9d51e8e0e6 Added test 2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
016401a2b7 Fixed test data 2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
af9e66da62 Checked that "KT-7441 Smart completion does not work for argument of "this(..)" or "super(..)" call in non-primary constructor declaration" has been fixed too
#KT-7441 Fixed
2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
9b0292f4c0 Fixed incorrect filtering of super constructors by visibility in Parameter Info 2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
6ed7ac5285 KT-7231 Support Parameter Info inside this or super constructor calls
#KT-7231 Fixed
2015-10-07 23:09:56 +03:00
Valentin Kipyatkov
4256fb9c6e Checked that KT-9006 has been fixed
#KT-9006 Obsolete
2015-10-07 23:09:55 +03:00
Valentin Kipyatkov
b5ee84075a Do not show synthesized parameter names in Parameter Info 2015-10-07 23:09:55 +03:00
Valentin Kipyatkov
6e8be8d5af Extracted common code for detecting candidates for a Call 2015-10-07 23:09:55 +03:00
Valentin Kipyatkov
b997b3b09e No named arguments completion in brackets 2015-10-07 23:09:55 +03:00
Valentin Kipyatkov
c876759ee0 Insert ']' instead of ')' 2015-10-07 23:09:55 +03:00
Valentin Kipyatkov
fa51ca5716 KT-4977 Smart completion should work for arguments in brackets
#KT-4977 Fixed
2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
ab41641a19 KT-8794 Parameter Information should work in index expression
#KT-8794 Fixed
2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
9bd5f8affc Also more correct 2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
e2a0cfddcd More correct? 2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
a923e9e9c8 Parameter info fetches default parameter values from library sources 2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
778e2f6f0b More simple and correct overload to highlight detection 2015-10-07 23:09:54 +03:00
Valentin Kipyatkov
9ba2242ea9 More simple code 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
192ce59a63 Inlined function 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
064ff5d8cc Fixed bug with local function 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
9da7f39195 Added test for update on typing 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
4865139fb1 Parameter info: update substitution on typing 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
9c1084b204 Minor 2015-10-07 23:09:53 +03:00
Valentin Kipyatkov
06a0154b75 Fixed crash 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
97d566105a Parameter info whole signature is built by information from resolve (+ changed policy for currentParameterIndex == 0) 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
b33bff89a5 Highlighting current parameter also uses resolve 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
e69cfdaaa0 Parameter info: overload "grey" status is calculated via resolve 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
eb500e0fef Minor refactoring 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
d338731734 Minor 2015-10-07 23:09:52 +03:00
Valentin Kipyatkov
f27d24e640 Parameter info to use resolve candidates instead of ReferenceVariantsHelper
#KT-6164 Fixed
 #KT-8931 Fixed
2015-10-07 23:09:51 +03:00
Valentin Kipyatkov
80bb1e7430 Inlined method 2015-10-07 23:09:51 +03:00
Valentin Kipyatkov
6c1bfdb74f No need to put ResolutionFacade into parameter info items 2015-10-07 23:09:51 +03:00
Valentin Kipyatkov
488e6f7458 Refactoring code 2015-10-07 23:09:51 +03:00
Valentin Kipyatkov
058f41a28b Renamed class 2015-10-07 23:09:51 +03:00
Valentin Kipyatkov
0651ec5265 Converted JetFunctionParameterInfoHandler to Kotlin 2015-10-07 23:09:50 +03:00
Ilya Gorbunov
73b8ef7a1f Replace KotlinPackage legacy facade with corresponding package parts in DebuggerUtils.java 2015-10-07 22:36:54 +03:00
Ilya Gorbunov
a8830b5816 sortedByDescending { key } instead of sortedBy { -key } 2015-10-07 22:36:52 +03:00
Ilya Gorbunov
17fc1d9562 Do not sort twice 2015-10-07 22:36:50 +03:00
Ilya Gorbunov
352ac58ba5 Fix testData/js: replace deprecated usages: times, sortBy, reverse, splitBy. 2015-10-07 22:36:48 +03:00
Ilya Gorbunov
1c416ae5f3 Fix testData/intentions: replace deprecated reverse usages. 2015-10-07 22:36:47 +03:00
Ilya Gorbunov
782f41580e Fix testData/debugger stepping: replace deprecated withIndices and sortBy usages. 2015-10-07 22:36:45 +03:00
Ilya Gorbunov
43a74e575e Fix testData/codegen: replace deprecated sort usages. 2015-10-07 22:36:43 +03:00
Ilya Gorbunov
c54ffe39b1 Drop deprecated API: String operations. 2015-10-07 22:36:41 +03:00
Ilya Gorbunov
6565989a61 Drop deprecated API: Comparators 2015-10-07 22:36:40 +03:00
Ilya Gorbunov
0df3d37f88 Drop deprecated API. 2015-10-07 22:36:38 +03:00
Ilya Gorbunov
0b88801c66 Drop deprecated sorting and reversing methods. 2015-10-07 22:36:36 +03:00
Ilya Gorbunov
e54db8cd2a Drop deprecated sequence() and withIndices() 2015-10-07 22:36:34 +03:00
Ilya Gorbunov
1c79cf2b51 Replace KotlinPackage legacy facade with corresponding package parts. 2015-10-07 22:36:32 +03:00
Ilya Gorbunov
fa491c8f1f Replace IoPackage legacy facade with corresponding package parts. 2015-10-07 22:36:31 +03:00
Ilya Gorbunov
90e5ee8a7e Replace KotlinPackage legacy facade with corresponding package parts. 2015-10-07 22:36:29 +03:00
Ilya Gorbunov
80e4ba8712 Replace splitBy with split 2015-10-07 22:36:27 +03:00
Ilya Gorbunov
25df3aac11 Replace parent with parentFile, relativePath with relativeTo 2015-10-07 22:36:25 +03:00
Ilya Gorbunov
3106458cc4 Replace assert with lazy assert, times with repeat. 2015-10-07 22:36:23 +03:00
Ilya Gorbunov
c1ba30b4bc Replace fails with assertFails 2015-10-07 22:36:21 +03:00
Ilya Gorbunov
ec416c5210 Replace identityEqulas with === 2015-10-07 22:36:20 +03:00
Ilya Gorbunov
b50c106648 Replace reverse with reversed or asReversed. 2015-10-07 22:36:18 +03:00
Ilya Gorbunov
37a0347669 Replace sort with sorted. 2015-10-07 22:36:16 +03:00
Ilya Gorbunov
389ea1b230 Do not suppress kotlin warnings. 2015-10-07 22:36:14 +03:00
Ilya Gorbunov
73e41fb216 StdLib cleanup: remove unused imports 2015-10-07 22:36:13 +03:00
Ilya Gorbunov
c6caa67cfb StdLib cleanup: replace KeyMissingException with NoSuchElementException.
Remove KeyMissingException from testData
2015-10-07 22:36:11 +03:00
Ilya Gorbunov
ff69b97030 StdLib cleanup: deprecated usages 2015-10-07 22:36:09 +03:00
Ilya Gorbunov
70d064052b StdLib cleanup: get rid of platformName and platformStatic usages 2015-10-07 22:36:07 +03:00
Ilya Gorbunov
404b228954 StdLib cleanup: replace fails with assertFails 2015-10-07 22:36:06 +03:00
Yan Zhulanow
c39327dd74 Fix tests for 'infix' 2015-10-07 21:56:07 +03:00
Dmitry Jemerov
401b1e56c0 assorted updates to the readme 2015-10-07 20:52:55 +02:00
Ilya Chernikov
6a7c5e1576 Reducing overhead of rpc callbacks by 1) subsampling cancelled status check (had severe impact), and 2) using buffered remote message streams (had less but still noticeable impact) 2015-10-07 19:55:06 +02:00
Ilya Chernikov
e27abe2f03 Caching daemon connection in JPS, additional logging and minor perf measurements refactoring
# Conflicts:
#	jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.kt
2015-10-07 19:55:05 +02:00
Ilya Chernikov
50f482e50f Fixing problem of hanging wait for jps process in idea by using a native-platform lib for platform-specific daemon execution
Adding native-platform uberjar contents to kotlin jps plugin jar
2015-10-07 19:55:04 +02:00
Ilya Chernikov
6848628f4a Creating a test simulating idea-jps-daemon processes, that should now fail on windows, some refactorings in the daemon client to simplify test writing 2015-10-07 19:55:04 +02:00
Ilya Chernikov
99b638a58b Adding support for JS compilation on daemon 2015-10-07 19:55:03 +02:00
Ilya Chernikov
391c292b8d Merging callback services into single facade - phase 2 - rewriting interfaces and implementations 2015-10-07 19:55:03 +02:00
Ilya Chernikov
0f33633cc5 Merging callback services into single facade - phase 1 - rearranging interfaces and implementations into target files 2015-10-07 19:55:02 +02:00
Ilya Chernikov
be66c24467 Extracting performance measuring utils into mini-framework, implement measurements of the rpc time, adding more measurements to performance logging, minor refactorings 2015-10-07 19:55:01 +02:00
Natalia Ukhorskaya
7e356354e0 Debugger: fix breakpoints in files with JvmName annotation
Drop unnessecary logic about part classes with hashcodes
#KT-9480 Fixed
2015-10-07 20:30:00 +03:00
Natalia Ukhorskaya
11ea5f28e8 Debugger: location.sourceName could throw InternalError if codeIndex isn't valid 2015-10-07 20:29:59 +03:00
Natalia Ukhorskaya
7776aa77c8 Completion for codeFragments: do not add runtime types variants if receiver type is the same as runtime type because they are already added by regular completion 2015-10-07 20:29:58 +03:00
Natalia Ukhorskaya
6fc8a16dd5 Completion for codeFragments: do not show java getters/setters at first completion 2015-10-07 20:29:57 +03:00
Natalia Ukhorskaya
9d7585207c Completion for codeFragments: no duplicates for synthetic properties 2015-10-07 20:29:56 +03:00
Natalia Ukhorskaya
9f96de3f7b Compare descriptors by topmost override 2015-10-07 20:29:56 +03:00
Natalia Ukhorskaya
17816002cc Minor: fix warnings 2015-10-07 20:29:55 +03:00
Natalia Ukhorskaya
a2d3607b5b J2K: Generate assert with lambda
#KT-9191 Fixed
2015-10-07 20:29:54 +03:00
Mikhail Glukhikh
0cc861f00b Exposed visibility checking, a set of exposed visibility tests, some test fixes
Effective visibility mechanism introduced.
Local is considered as public, java protected as Kotlin protected, java package private as Kotlin private.
2015-10-07 20:15:16 +03:00
Michael Bogdanov
fa32aa2950 SYNTHETIC flag for internal members 2015-10-07 18:10:56 +03:00
Michael Bogdanov
a2455aab7a Pull up refactoring update 2015-10-07 18:10:55 +03:00
Michael Bogdanov
264d7da450 PACKAGE_VISIBILITY normalization chaged to PROTECTED 2015-10-07 18:10:55 +03:00
Michael Bogdanov
882f6113dc Initial internal member mangling 2015-10-07 18:10:54 +03:00
Michael Bogdanov
306ac73eb7 Actual KotlinCompilerAdapter conversion 2015-10-07 18:10:53 +03:00
Michael Bogdanov
bf18a7647a KotlinCompilerAdapter.java->KotlinCompilerAdapter.kt 2015-10-07 18:10:53 +03:00
Yan Zhulanow
1b01e7a85a Fix tests ('infix') 2015-10-07 15:50:23 +03:00
Yan Zhulanow
7e8674c6ee Fix resolve (members/extensions with 'infix' has higher priority) 2015-10-07 15:49:50 +03:00
Yan Zhulanow
d28ecc2316 Mark builtins and stdlib functions with 'infix' 2015-10-07 15:49:29 +03:00
Yan Zhulanow
1238e93b9f Diagnostics on 'infix' (declaration&use site) 2015-10-07 15:49:28 +03:00
Mikhail Glukhikh
fff434d377 data + open / inner / abstract / sealed are now forbidden 2015-10-07 15:13:14 +03:00
Mikhail Glukhikh
3725ef8cdf Open / data forbidden code fix (eval4j) 2015-10-07 15:13:11 +03:00
Mikhail Glukhikh
b79c1435a3 Open / data forbidden: SMAP fixes 2015-10-07 15:13:09 +03:00
Svetlana Isakova
efb23be367 Open / data forbidden: ConstraintPosition fix 2015-10-07 14:41:42 +03:00
Mikhail Glukhikh
7331eec817 override is forbidden inside annotations 2015-10-07 11:57:41 +03:00
Mikhail Glukhikh
c07f0e9602 private / internal / protected are forbidden in annotations 2015-10-07 11:57:39 +03:00
Mikhail Glukhikh
cba6870f52 protected & internal are now forbidden in interfaces 2015-10-07 11:57:14 +03:00
Mikhail Glukhikh
5f43628f1b Abstract data is forbidden: Idea module infos fixed 2015-10-07 11:57:02 +03:00
Mikhail Glukhikh
67755d7dca Protected / final are deprecated in interfaces: scopes and call translator 2015-10-07 11:49:45 +03:00
Mikhail Glukhikh
49a420e3f9 Build fixed (deprecated protected in interface) 2015-10-07 11:48:37 +03:00
Mikhail Glukhikh
846d7cac69 protected is deprecated inside objects and forbidden inside annotations and enum entries 2015-10-07 10:21:11 +03:00
Mikhail Glukhikh
407d46baad Protected in object deprecated: overriders search fix 2015-10-07 10:17:47 +03:00
Mikhail Glukhikh
c77d0b9cce No protected inside object: performance counter fixed 2015-10-07 10:17:44 +03:00
Mikhail Glukhikh
06cd19dd0d Open / data forbidden: AnalysisResult fix 2015-10-07 10:17:41 +03:00
Mikhail Glukhikh
5e6c9f1979 Internal is deprecated in interfaces: reflection fix 2015-10-07 10:17:38 +03:00
Mikhail Glukhikh
434a318439 Typo fixed 2015-10-07 10:17:35 +03:00
Denis Zharkov
6a1566a6dc Make JVM backend work with Collection.size as val
0. Such properties are called special because their accessor JVM name differs from usual one
1. When making call to such property, always choose special name
2. When generating Kotlin class inheriting such property generate `final bridge int size() { return this.getSize(); }`
3. If there is no `size` declaration in current class generate `bridge int getSize() { // super-call }`
2015-10-07 08:46:35 +03:00
Denis Zharkov
252c82abe3 Generate bridges for FAKE_OVERRIDE properties
The same way it's done for function, just call generateBridges for accessors

 #KT-9442 Fixed
2015-10-07 08:46:34 +03:00
Denis Zharkov
c21d827326 Adjust various testData to size transformation 2015-10-07 08:46:34 +03:00
Denis Zharkov
a0e9754edc Adjust js collections to size transformation 2015-10-07 08:46:33 +03:00
Denis Zharkov
e52e6cf869 Temporary make SmartSet less smart
SmartSet is compiled both with bootstrap and new compiler, so it can't
implement both old and new Set interfaces (with 'size' as function and as property).

This commit should be reverted after bootstraping
2015-10-07 08:46:33 +03:00
Denis Zharkov
61416b3d14 Adjust stdlib to size transformation 2015-10-07 08:46:27 +03:00
Denis Zharkov
7b432e4830 Introduce size() extensions for migrational purposes 2015-10-06 23:56:17 +03:00
Denis Zharkov
547aa2cda6 Load special java methods as properites
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
Denis Zharkov
a02b64f0e3 Setup overridability rules for properties built on Java fields
- They overrides each other
- They do not overrides Kotlin propeties and vice versa
2015-10-06 23:56:17 +03:00
Denis Zharkov
dfe93406d9 Minor. Inline parameter 2015-10-06 23:56:17 +03:00
Denis Zharkov
27b231cd7d Minor. Do not record method within resolveMethodToFunctionDescriptor 2015-10-06 23:56:17 +03:00
Denis Zharkov
9d087ce5bd Convert size() functions in builtins to properties
Just like it will work itself out :)
2015-10-06 23:56:17 +03:00
Nikolay Krasko
a4d029dab2 Rename ant tasks for continuous builds: unify suffixes with correspondent branches 2015-10-06 20:51:43 +03:00
Ilya Gorbunov
0851728454 Deprecate mapNotNull to change its behavior later.
#KT-4410
2015-10-06 18:32:06 +03:00
Ilya Gorbunov
d7da8b7bd3 J2K: Special conversion for java.lang.String methods.
#KT-7732
2015-10-06 18:24:24 +03:00
Dmitry Jemerov
4b92bd100c add space between property type parameter list and property name 2015-10-06 16:20:48 +02:00
Dmitry Jemerov
1fdf08bec5 quickfix to migrate function type parameter lists to new syntax 2015-10-06 16:20:48 +02:00
Dmitry Jemerov
7c20630272 diagnostics for deprecated syntax of function type parameter list 2015-10-06 16:20:47 +02:00
Dmitry Jemerov
c5d3673b6b change the ID of the language from "jet" to "kotlin"; rename JetLanguage to KotlinLanguage 2015-10-06 16:14:07 +02:00
Dmitry Jemerov
870b640008 "add operator modifier" fix handles fake overrides
#KT-9347 Fixed
2015-10-06 16:12:09 +02:00
Dmitry Jemerov
8fd9d181de add @suppress to the list of known KDoc tags
#KT-9415 Fixed
2015-10-06 16:12:08 +02:00
Dmitry Jemerov
2884a1c6ea handle semicolons in "introduce backing property"
#KT-9417 Fixed
2015-10-06 16:12:08 +02:00
Pavel V. Talanov
3ed04aea8a Imports from objects: Do not create new instances on getOriginal every time
Also fixes a problem where DeclarationLookupObjectImpl didn't have stable hashCode
2015-10-06 16:31:23 +03:00
Pavel V. Talanov
508b401603 Codegen: fix callable reference to member imported from object 2015-10-06 16:31:22 +03:00
Pavel V. Talanov
37d5c4b223 Allow to import members from object by name
Wrap object members so they do not require dispatch receiver
Hack jvm backend to make it work
2015-10-06 16:31:21 +03:00
Pavel V. Talanov
507293e1ff QualifiedExpressionResolver, minor: extract a couple of functions 2015-10-06 16:31:20 +03:00
Nikolay Krasko
ca2c78e629 Refactoring: remove warnings about javaClass() call 2015-10-06 14:00:23 +03:00
Nikolay Krasko
05cf67049c Allow roots before parent setup and disallow after teardown 2015-10-06 14:00:20 +03:00
Nikolay Krasko
d999000705 Minor: fix warning about annotation absence 2015-10-06 14:00:18 +03:00
Dmitry Petrov
4a3f53b322 Revert fbf2424838:
postpone "transparent semantics for spread operator"
until Java-related design issues are resolved (java.utils.Arrays#asList).
2015-10-06 13:48:59 +03:00
Dmitry Petrov
fbf2424838 Spread should always copy arrays. 2015-10-06 10:07:12 +03:00
Dmitry Petrov
9e546bda27 Support is/as/as? with Function[K]<...> types. 2015-10-06 10:06:27 +03:00
Ilya Gorbunov
e1d53a2843 kotlin-jdbc can be found in its own repository: https://github.com/kotlin-projects/kotlin-jdbc 2015-10-05 21:28:09 +03:00
Ilya Gorbunov
b081535bb6 kotlin-swing can be found in its own repository: https://github.com/kotlin-projects/kotlin-swing 2015-10-05 21:27:31 +03:00
Stanislav Erokhin
b69197962d KT-9461: Inference failed: type parameter fixed early
#KT-9461 Fixed
2015-10-05 20:32:44 +03:00
Nikolay Krasko
493108eca1 Change default visibility icon for declaration with absent modifier to public (KT-9411)
#KT-9411 Fixed
2015-10-05 16:09:46 +03:00
Nikolay Krasko
cb510a6809 Don't pack version of libraries into compiler artifact 2015-10-05 16:09:45 +03:00
Valentin Kipyatkov
45748eb169 More correct check for ResolvedCall status everywhere in the IDE + added assert into ResolvedCallImpl 2015-10-05 15:39:08 +03:00
Valentin Kipyatkov
110d53b4a6 No setter parameter type required 2015-10-05 15:35:17 +03:00
Valentin Kipyatkov
596635270e J2K: more correct comment placement 2015-10-05 15:35:17 +03:00
Valentin Kipyatkov
1fb01dcfbb Minor correction 2015-10-05 15:35:17 +03:00
Valentin Kipyatkov
ec685195bd Better tests 2015-10-05 15:33:50 +03:00
Valentin Kipyatkov
7b063d0391 Completion: lower priority for override member items
#KT-9403 Fixed
2015-10-05 15:33:50 +03:00
Valentin Kipyatkov
c5fdd649ab Overrides completion on typing member name too
#KT-9431 Fixed
2015-10-05 15:33:49 +03:00
Valentin Kipyatkov
fd6244ac51 Never take ExpectedInfo from outer expression "as is" 2015-10-05 15:33:49 +03:00
Valentin Kipyatkov
da7c62e788 Refactored 2015-10-05 15:33:48 +03:00
Valentin Kipyatkov
a75b3e6cf1 Auto-import popup does not suggest to import non-operator functions when operator required 2015-10-05 15:33:48 +03:00
Valentin Kipyatkov
b03a297ed0 KT-9326 IDE tries to resolve name in qualified this to any class in project/classpath
#KT-9326 Fixed
2015-10-05 15:33:47 +03:00
Valentin Kipyatkov
dda9476793 Additional safety check to not corrupt PSI tree (see KT-9122) 2015-10-05 15:33:47 +03:00
Valentin Kipyatkov
1bb6dae444 Auto-import fix should suggest declarations that cannot be used in this position
This also should fix KT-9122 Assertion error when psi modified from IDE

 #KT-9122 Fixed
2015-10-05 15:33:46 +03:00
Valentin Kipyatkov
ab5fe60bbe Corrected quickfix class name in tests 2015-10-05 15:33:45 +03:00
Valentin Kipyatkov
2ae13ed76b KT-9380 Handle malformed ReplaceWith annotations gracefully
#KT-9380 Fixed
2015-10-05 15:33:45 +03:00
Valentin Kipyatkov
45c3d74b42 KT-9284 Intention to convert to expression body doesn't work in particular case
#KT-9284 Fixed
2015-10-05 15:33:44 +03:00
Dmitry Jemerov
94204b7d4e Kotlin plugin updater initial implementation 2015-10-05 12:42:55 +02:00
Michael Nedzelsky
483110332c fix KT-431 Prohibit safe calls on namespaces, super etc
#KT-431 Fixed
2015-10-05 13:14:42 +03:00
Natalia Ukhorskaya
5848ea8d77 Fix usage of deprecated function in debugger testData 2015-10-05 11:44:58 +03:00
Natalia Ukhorskaya
dc7ced1581 JDIEval: fix ClassNotLoadedException 2015-10-05 11:44:50 +03:00
Alexander Udalov
d83ed11cd9 Add "add type to callable reference LHS" quickfix to Code Cleanup 2015-10-05 09:18:48 +03:00
Alexander Udalov
b47982a0a6 Write new protobuf messages for packages as well as classes
An addition to ad735cd
2015-10-05 09:08:51 +03:00
Ilya Gorbunov
ca18613049 J2K: Special conversion for java.lang.String.replaceAll.
#KT-7732
2015-10-05 01:54:21 +03:00
Ilya Gorbunov
36f854e421 Correct replacement for platformName annotation. 2015-10-05 01:54:16 +03:00
Michael Bogdanov
21b603af8f FunctionReferenceGenerationStrategy fake resolved call refactoring 2015-10-03 10:53:24 +03:00
Michael Bogdanov
cd78514b76 Code clean, small refactorings and tests
#KT-8987 Fixed
2015-10-03 10:53:22 +03:00
Michael Bogdanov
3806ad65fc Fixed error with wrong parameter size calculation 2015-10-03 10:53:21 +03:00
Michael Bogdanov
466b20b0fc Parameters refactoring 2015-10-03 10:53:20 +03:00
Michael Bogdanov
1900ddd020 Parametrs.java->Parameters.kt 2015-10-03 10:53:19 +03:00
Michael Bogdanov
2a19b06874 new tests 2015-10-03 10:53:18 +03:00
Michael Bogdanov
c83a5b8bd5 Proper param propagation in inline 2015-10-03 10:53:17 +03:00
Michael Bogdanov
79fce388b3 Actual conversion ParametersBuilder.java->ParametersBuilder.kt 2015-10-03 10:53:16 +03:00
Michael Bogdanov
345b21b3eb ParametersBuilder.java->ParametersBuilder.kt 2015-10-03 10:53:15 +03:00
Michael Bogdanov
03158ed9c3 ParameterBuilder refactoring 2015-10-03 10:53:14 +03:00
Michael Bogdanov
85f7c174cd First implementation of proper agrument order 2015-10-03 10:53:13 +03:00
Michael Bogdanov
1f2b9ce72b Addded DefaultCallMask class and extended interface for argument generation 2015-10-03 10:53:12 +03:00
Michael Bogdanov
8104c10c5a Actual ArgumentGenerator.java convertion 2015-10-03 10:53:10 +03:00
Michael Bogdanov
c9b5753ff3 ArgumentGenerator.java->ArgumentGenerator.kt 2015-10-03 10:53:09 +03:00
Valentin Kipyatkov
cbf5be5c08 No callable reference to generic callables 2015-10-03 10:40:54 +03:00
Valentin Kipyatkov
feb4492455 No true/false for if-condition too 2015-10-03 10:40:54 +03:00
Valentin Kipyatkov
7436355c17 Fix true and false in when entry with subject broken before 2015-10-03 10:40:54 +03:00
Valentin Kipyatkov
2e02f02d9b More clear code 2015-10-03 10:40:53 +03:00
Valentin Kipyatkov
184d59a645 No shadowed declaration filtering for callable references (as well as imports) 2015-10-03 10:40:53 +03:00
Valentin Kipyatkov
d547ea9b57 Overload callable references are now supported - changed code accordingly 2015-10-03 10:40:53 +03:00
Valentin Kipyatkov
b23602237a Smart completion: no "::xxx" items for members and fixed bug with constructors not appearing there 2015-10-03 10:40:53 +03:00
Valentin Kipyatkov
b0d31fc86d Property types supported in smart completion without "::" 2015-10-03 10:40:53 +03:00
Valentin Kipyatkov
aaf507121f Refactored code: the same code for detection of callable reference type 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
1bc132bc1a No members&extensions after non-qualified "::" because it will be soon unsupported by the compiler 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
f58f5dd82a Added parameters and type text (grayed) to "::xxx" items in smart completion 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
58bcb576a1 Completion: grayed parameters and type in completion of imports and callable references (arguable) 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
ee28a170d6 Auto-popup completion after "::" 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
836d116786 Checked that import popup now works for callable references 2015-10-03 10:40:52 +03:00
Valentin Kipyatkov
e562c019f9 No "{...}" in presentation for functions in completion of imports and callable references 2015-10-03 10:40:51 +03:00
Valentin Kipyatkov
08335a2ac9 Callable reference completion for non-imported callables 2015-10-03 10:40:51 +03:00
Valentin Kipyatkov
3a2bc51445 Renamed term "classifier" to "matcher" 2015-10-03 10:40:51 +03:00
Valentin Kipyatkov
c0bfca4f89 A::class and A::class.java supported in smart completion too 2015-10-03 10:40:51 +03:00
Valentin Kipyatkov
ec5d1d3a52 Support for A::class and A::class.java in basic completion (but not in smart) 2015-10-03 10:40:51 +03:00
Valentin Kipyatkov
ebf649a681 Support for callable references in smart completion 2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
3f64b25df3 Renamed tests 2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
5fddefbf4d Corrected and restored test 2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
1e21b0201c Renamed test folder 2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
ce05434a0c Fixed extension functions being grayed in import statement completion
#KT-5627 Fixed
2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
e41732e572 No callable references to synthetic extensions (and ones for get/set) 2015-10-03 10:40:50 +03:00
Valentin Kipyatkov
2471647952 Minor refactoring 2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
eaec9795e5 Workaround for compiler bug 2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
2760b0bdb9 Refactoring to make receiver type safe 2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
c12520da7f Move 2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
56bb8adfd0 Refactoring to add CallType.IMPORT_DIRECTIVE and CallType.PACKAGE_DIRECTIVE 2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
d38ceb50b6 Initial support for KT-7090 Completion for callable references
#KT-7090 Fixed
2015-10-03 10:40:49 +03:00
Valentin Kipyatkov
7ee65bf41a Minor 2015-10-03 10:38:31 +03:00
Valentin Kipyatkov
72a5a68769 Dropped support for backing fields (with '$') completion 2015-10-03 10:38:31 +03:00
Alexander Udalov
7c0b3e31c7 Fix usages of callable references with empty LHS in project 2015-10-03 04:37:06 +03:00
Alexander Udalov
659826d5c3 Update reservedWords JS tests after changes to callable references 2015-10-03 04:37:05 +03:00
Alexander Udalov
012a2971ff Quick-fix to add type to LHS of incorrect callable references 2015-10-03 04:37:05 +03:00
Alexander Udalov
661f4efc68 Forbid callable references to members and extensions with empty LHS
This syntax is reserved to be likely used in the future as a shorthand for
"this::foo" where the resulting expression doesn't take the receiver as a
parameter but has "this" already bound to it
2015-10-03 04:37:04 +03:00
Alexander Udalov
f310d4c10e Don't write Kotlin metadata in light classes mode
This was already happening for classes and packages, now will also for
interface DefaultImpls and any other possible classes
2015-10-03 01:03:35 +03:00
Alexander Udalov
cb6d16d224 Advance ABI version after changes to binary format 2015-10-03 00:59:52 +03:00
Alexander Udalov
bdd69d9e46 Use internal names in multifile class metadata
To reuse the strings already existing in the constant pool of the class file
2015-10-03 00:59:34 +03:00
Alexander Udalov
e1ccb92438 Write built-in extensions to new protobuf messages 2015-10-03 00:59:34 +03:00
Alexander Udalov
8c0a86617a Write JVM signatures to new protobuf messages 2015-10-03 00:59:33 +03:00
Alexander Udalov
06a7ca5571 Minor, use existing utility for getting implClassName 2015-10-03 00:59:33 +03:00
Alexander Udalov
4f21caecc4 Simplify AnnotationAndConstantLoader, use NameResolver from ProtoContainer 2015-10-03 00:59:32 +03:00
Alexander Udalov
3a7a48a079 Minor, add nameResolver to ProtoContainer 2015-10-03 00:59:32 +03:00
Alexander Udalov
14ec34e37c Refactor annotation and constant loader, simplify, drop some useless checks 2015-10-03 00:59:31 +03:00
Alexander Udalov
ad735cd788 Split ProtoBuf.Callable to three messages: constructor, function, property
Serialize both at the moment, will drop the old one after bootstrap
2015-10-03 00:59:30 +03:00
Alexander Udalov
041af28166 Deprecate and don't write KotlinClass$Kind, to be removed later 2015-10-03 00:59:30 +03:00
Alexander Udalov
056bb3f833 Deprecate and don't write KotlinSyntheticClass$Kind, to be removed later 2015-10-03 00:59:28 +03:00
Alexander Udalov
5bb47c8365 Write KotlinInterfaceDefaultImpls annotation to DefaultImpls classes
Instead of KotlinSyntheticClass with kind = TRAIT_IMPL
2015-10-03 00:58:52 +03:00
Alexander Udalov
e4090d3f30 Cleanup descriptors.proto, regenerate
- move enums and messages nested in Callable to top level, since they're likely
  to be reused in other messages soon
- delete obsolete comments: some did not any value, some became obsolete with
  custom options ("id in StringTable" -> name_id_in_table)
2015-10-02 20:30:55 +03:00
Dmitry Petrov
b09e727462 Update ideaVersion to 142.5239.7. 2015-10-02 19:07:30 +03:00
Nikolay Krasko
e4ac217e46 Update idea-continuous branches
- abandon 142 branch
 - introduce 143 and 144 branches
2015-10-02 18:23:42 +03:00
Nikolay Krasko
6b6a6d98b7 Add additional line which shouldn't be modified after commenting in other branches to make git auto-merge possible 2015-10-02 18:23:41 +03:00
Dmitry Petrov
1f69ae254d KT-9377 Support is-checks for read-only collections
Additional tests.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
06d9ff6a71 KT-9377 Support is-checks for read-only collections
Generate better code for 'as?' with mutable collection types:
use CHECKCAST, do not introduce special intrinsics for safe-as.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
e033d093d4 KT-9377 Support is-checks for read-only collections
Reorganize marker interfaces and is/as/as? intrinsics.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
6cb0e5151c KT-9377 Support is-checks for read-only collections
Intrinsics for is/as/as? with mutable Kotlin collections and related types.
2015-10-02 15:17:00 +03:00
Dmitry Petrov
35881198c3 KT-9377 Support is-checks for read-only collections
Marker interfaces for mutable Kotlin collections and related classes.
2015-10-02 15:17:00 +03:00
Michael Bogdanov
e91c556d06 Fix for wrong local variable table at inlining lambda with finallies 2015-10-02 13:41:41 +03:00
Mikhail Glukhikh
8ab746d6a3 J2K: visibility modifiers are no more applicable to local classes 2015-10-02 12:52:57 +03:00
Dmitry Jemerov
4ee1b4da84 fix compilation 2015-10-01 20:04:07 +02:00
Dmitry Jemerov
7bc3161e2f "Rename" quickfix for underscore identifiers 2015-10-01 19:19:23 +02:00
Dmitry Jemerov
983de529ed add missing read actions to overriders search
#KT-9147 Fixed
2015-10-01 19:17:24 +02:00
Dmitry Jemerov
4070ba13cd when getting a descriptor for a PsiMethod, also check that it has a valid name (KT-9174)
#KT-9174 Fixed
2015-10-01 19:17:24 +02:00
Dmitry Jemerov
e70f88c67f don't create editor in air if we can't find an editor for the element (EA-72968 - TDDE: TraceableDisposable.throwDisposalError) 2015-10-01 19:17:23 +02:00
Dmitry Jemerov
4f56821101 Java sometimes asks us to find usages of a method with no containing class; don't crash on this (EA-73362 - assert: JavaMemberImpl.getContainingClass) 2015-10-01 19:17:23 +02:00
Dmitry Jemerov
49eace61c9 don't report exception if trying to update jar to the same file (this can happen if the version of the plugin is different from the version of the runtime it bundles; in that case, we've already messed up and there is no value in spamming EA with exceptions) (EA-73451 - IAE: KotlinRuntimeLibraryUtil.replaceFile) 2015-10-01 19:17:22 +02:00
Dmitry Jemerov
5c93e25e67 remove dead code 2015-10-01 19:17:21 +02:00
Dmitry Jemerov
9c6f206606 don't try to get the parent of an empty FQ name (EA-73459 - ISE: FqName.parent)
#KT-9162 Fixed
2015-10-01 19:17:21 +02:00
Sergey Mashkov
c9843f6387 Downgrade maven-bundle-plugin to build against Java 6 2015-10-01 18:22:28 +03:00
Pavel V. Talanov
caefb2cf50 Adjust test data for converter test
Due to type inference change
2015-10-01 17:53:20 +03:00
Pavel V. Talanov
c19b8353d0 Minor, tests: remove some static accesses to builtIns 2015-10-01 17:53:20 +03:00
Pavel V. Talanov
a3fbf2fabc Test that primitives, arrays, enums are implicitly serializable on jvm and not js
Specifically test calling java function that accepts java.io.Serializable
2015-10-01 17:53:19 +03:00
Pavel V. Talanov
7b49baf8c3 Test data adjustment: JetDiagnosticsTest 2015-10-01 17:53:19 +03:00
Pavel V. Talanov
bc8449a70c Test data adjustment: Resolved calls and constraint system test 2015-10-01 17:53:18 +03:00
Pavel V. Talanov
41c0895abb JetExtractionTest: adjust test data
after making some of builtin types serializable
2015-10-01 17:53:17 +03:00
Pavel V. Talanov
e263c85142 JetTypeChecker: adjust test data
after making some of builtin types serializable
2015-10-01 17:53:17 +03:00
Pavel V. Talanov
1f36b7fbea Extract FunctionPlaceholders from ErrorUtils to a separate component since they are not really an error 2015-10-01 17:53:16 +03:00
Pavel V. Talanov
d5624708fb Add "java.io.Serializable" as supertype to java builtIns mapped to classes that are serializable on jvm
Implementation is hacky, relies on adding fictional supertype to corresponding classes
2015-10-01 17:53:16 +03:00
Pavel V. Talanov
427c853e27 ErrorUtils return DefaultBuiltIns
This should be changed in the future by making ErrorUtils not-static
2015-10-01 17:53:15 +03:00
Pavel V. Talanov
76029ee9b2 Introduce JvmBuiltIns and DefaultBuiltIns, different instances of KotlinBuiltIns
Make KotlinBuiltIns an abstract class
JsPlatform has DefaultBuiltIns
2015-10-01 17:53:14 +03:00
Pavel V. Talanov
4b9e167fd2 Minor: move builtIns initialization into constructor 2015-10-01 17:53:14 +03:00
Pavel V. Talanov
0ae842a05d 'descriptors' module exports 'deserialization', not the other way around
Also remove some of redundantly specified dependencies
2015-10-01 17:53:13 +03:00
Pavel V. Talanov
22e3e192ee ModuleDescriptorImpl: remove KBI as default parameter 2015-10-01 17:53:12 +03:00
Pavel V. Talanov
7d1b6f4bbb GenerateOperationsMap uses builtIns from default platform 2015-10-01 17:53:12 +03:00
Pavel V. Talanov
767950fea3 Tests: Replace some usages of KotlinBuiltIns.getInstance()
In cases where platform is either unimportant or predefined in test code
2015-10-01 17:53:11 +03:00
Pavel V. Talanov
af3bb80a54 JetChangeSignatureTest: Drop usages of KotlinBuiltIns.getInstance() 2015-10-01 17:53:11 +03:00
Pavel V. Talanov
b79881848f jvm-backend, cli: Replace some usages of KotlinBuiltIns.getInstance() by JvmPlatform.builtIns 2015-10-01 17:53:10 +03:00
Pavel V. Talanov
5dd4843b5a reflection.jvm: Drop usages of KotlinBuiltIns.getInstance() 2015-10-01 17:53:09 +03:00
Pavel V. Talanov
537134613a js.translator: Drop usages of KotlinBuiltIns.getInstance() 2015-10-01 17:53:09 +03:00
Pavel V. Talanov
643cb0a5d4 js.frontend: Drop usages of KotlinBuiltIns.getInstance() 2015-10-01 17:53:08 +03:00
Pavel V. Talanov
0a2bd257a5 frontend.java: Drop usages of KotlinBuiltIns.getInstance() 2015-10-01 17:53:08 +03:00
Pavel V. Talanov
64d8baee1d DeserializerForDecompilerBase depends on TargetPlatform 2015-10-01 17:53:07 +03:00
Pavel V. Talanov
bb3028b6c9 JetSourceNavigationHelper: drop usage of KotlinBuiltIns.getInstance() 2015-10-01 17:53:07 +03:00
Pavel V. Talanov
f28a8a60c1 AllClassesCompletion: drop usage of KotlinBuiltIns.getInstance() 2015-10-01 17:53:06 +03:00
Pavel V. Talanov
3963c8b833 MemberMatching: drop usage of KotlinBuiltIns.getInstance() 2015-10-01 17:53:06 +03:00
Pavel V. Talanov
36fee381c3 BuiltInsReferenceResolver: drop usage of KotlinBuiltIns.getInstance() 2015-10-01 17:53:05 +03:00
Pavel V. Talanov
e4c0d93224 idea: Use platform extension to eliminate other usages of KotlinBuiltIns 2015-10-01 17:53:04 +03:00
Pavel V. Talanov
315809a34b Add builtIns property to TargetPlatform
Add utility to get TargetPlatform by JetElement
2015-10-01 17:53:03 +03:00
Pavel V. Talanov
51113c10b4 Drop some usages of KotlinBuiltIns.getInstance() in idea module 2015-10-01 17:53:02 +03:00
Pavel V. Talanov
f1c76f0467 extractableAnalysisUtil: Drop some usages of KotlinBuiltIns.getInstance() 2015-10-01 17:52:04 +03:00
Pavel V. Talanov
e42057c71c Drop some usages of KotlinBuiltIns.getInstance() in ide-common module 2015-10-01 17:52:04 +03:00
Pavel V. Talanov
0610dd36fa ConstantExpressionEvaluator: avoid calling KotlinBuiltIns.getInstance() 2015-10-01 17:52:03 +03:00
Pavel V. Talanov
b9da08d11c TypeIntersector: refactor it to being a static utility
Deal with intersecting empty set of types on the call site
2015-10-01 17:52:03 +03:00
Pavel V. Talanov
b85fe40275 ScriptReceiver: Remove usage of KotlinBuiltIns.getInstance() 2015-10-01 17:52:02 +03:00
Pavel V. Talanov
e35e6f7f52 JetTypeCodeFragment: Remove usage of KotlinBuiltIns.getInstance() 2015-10-01 17:52:01 +03:00
Pavel V. Talanov
b5712033a8 Make DataFlowValue.NULL not static 2015-10-01 17:52:01 +03:00
Pavel V. Talanov
a72b050d91 Pass builtIns into CompileTimeConstantChecker constructor 2015-10-01 17:52:00 +03:00
Pavel V. Talanov
9b0970e1a9 Avoid calling KotlinBuiltIns.getInstance() in DescriptorRendererImpl 2015-10-01 17:52:00 +03:00
Pavel V. Talanov
9f858cbc56 ControlStructureTypingUtils: use real module descriptor instead of error module 2015-10-01 17:51:59 +03:00
Pavel V. Talanov
7429b65c73 Try to implement some of error utils without using KotlinBuiltIns 2015-10-01 17:51:59 +03:00
Pavel V. Talanov
6780a1fe90 Make DynamicCallableDescriptors non static and remove static object DynamicType 2015-10-01 17:51:58 +03:00
Pavel V. Talanov
424d71e964 Remove reference to KotlinBuiltIns from CompanionObjectMapping
Make it a class
2015-10-01 17:51:57 +03:00
Pavel V. Talanov
d2a4235dd8 Pass KotlinBuiltIns into getExpectedTypePredicate utility 2015-10-01 17:51:56 +03:00
Pavel V. Talanov
0fc23fc426 Use new method instead of some usages of KotlinBuiltIns.getInstance() 2015-10-01 17:51:56 +03:00
Pavel V. Talanov
22c250778e Introduce TypeConstructor#getBuiltIns 2015-10-01 17:51:55 +03:00
Alexey Sedunov
896e1d8bc9 Rename: Drop 'override' keyword when renaming function/property without bases
#KT-4790 Fixed
2015-10-01 17:35:27 +03:00
Alexey Sedunov
2f251b9216 Rename: Drop 'operator' keyword if new name doesn't correspond to any convention
#KT-9357 Fixed
2015-10-01 17:35:26 +03:00
Alexey Sedunov
1f6f617546 Create from Usage: Suggest synthetic function classes as extension receivers 2015-10-01 17:35:25 +03:00
Alexey Sedunov
1d83d75a82 Create from Usage: Use function form when rendering FunctionN types
#KT-7522 Fixed
2015-10-01 17:35:24 +03:00
Alexey Sedunov
605802847a Move Declarations: Fix processing of self-references
#KT-5847 Fixed
2015-10-01 17:35:23 +03:00
Alexey Sedunov
e3d8d819da Inline Variable: Var support
#KT-5169 Fixed
2015-10-01 17:35:22 +03:00
Alexey Sedunov
007c7c17f0 Create parameter: Forbid inplace refactoring if occurrences contain out-of-parentheses lambda arguments. Fix lambda argument replacement
#KT-9307 Fixed
2015-10-01 17:35:21 +03:00
Alexey Sedunov
b805645489 Change Signature: Support receiver <-> parameter conversion for function expressions
#KT-9309 Fixed
2015-10-01 17:35:20 +03:00
Alexey Sedunov
2b354cd4db Create parameter: Look for containing function if no class is found. Support secondary constructors
#KT-9322 Fixed
2015-10-01 17:35:19 +03:00
Alexey Sedunov
78f7e6b459 Extraction Engine: Support type parameter references
#KT-7260 Fixed
2015-10-01 17:35:18 +03:00
Alexey Sedunov
aa080bf201 Create from Usage: Forbid for parameters/local variables when reference is not an identifier
#KT-9305 Fixed
2015-10-01 17:35:16 +03:00
Alexey Sedunov
0ef8281823 Parameter -> Receiver Conversion: Don't show change signature dialog
#KT-9302 Fixed
2015-10-01 17:35:15 +03:00
Alexey Sedunov
9ec87c01ab Property <-> Function Conversion: Add/remove 'get'/'is' prefixes automatically
#KT-8812 Fixed
2015-10-01 17:35:12 +03:00
Alexey Sedunov
1b9bbf0bb6 Move Declaration to Separate File: Process internal references since imports may be necessary in the new file 2015-10-01 17:35:11 +03:00
Nikolay Krasko
c2b4647aa8 Avoid storing same files in kotlin-compiler.jar for maven
#KT-9202 Fixed
2015-10-01 16:42:56 +03:00
Sergey Mashkov
a8e3ee9190 KT-6264 Introduce kotlin-osgi-bundle
The bundle is a mix of kotlin-runtime, kotlin-stdlib and kotlin-reflect. The main reason to do so intead of adding corresponding modules is that there is so called "split package" issue that couldn't be easily resolved
2015-10-01 15:37:35 +03:00
Michael Nedzelsky
0de9e8295a add tests for incremental compilation: package members 2015-10-01 15:16:30 +03:00
Michael Nedzelsky
8557e540fc incremental compilation: do not recompile on changes in private static final values. 2015-10-01 15:16:26 +03:00
Michael Nedzelsky
bc6746b9e6 add tests for comparison of package members 2015-10-01 15:16:22 +03:00
Michael Nedzelsky
c7b52bfdc1 fix KT-8977 Ignore non-public API changes for packages in incremental compilation
#KT-8977 Fixed
2015-10-01 15:16:18 +03:00
Zalim Bashorov
fca9b51548 Revert "extend test for code cleanup with changing visibility from private to internal for declarations, which are used outside of their file."
This reverts commit 9fd968d59e.
2015-10-01 14:57:26 +03:00
Zalim Bashorov
073b10072a Minor: fix testdata 2015-10-01 14:57:26 +03:00
Zalim Bashorov
9256682cc5 Fix quickfix and tests 2015-10-01 14:57:26 +03:00
Zalim Bashorov
a36e4abf4d Move visibility check for toplevel private declarations to Visibilities.PRIVATE and fix it. 2015-10-01 14:57:26 +03:00
Zalim Bashorov
94b110936e Add the ability to get containing source file from SourceElement 2015-10-01 14:37:25 +03:00
Michael Nedzelsky
c7e5eb9ab8 fix AbstractBytecodeTextTest: read expected file with UTF-8 encoding 2015-10-01 12:16:48 +03:00
Alexander Udalov
1e6f230d69 Fix "ant compiler-quick", add conditional-preprocessor 2015-10-01 02:14:25 +03:00
Alexander Udalov
34d14939f9 Fix build after change in property accessor names 2015-10-01 02:14:25 +03:00
Valentin Kipyatkov
5afa91d4ec Restored back temporarily renamed properties 2015-09-30 22:50:27 +03:00
Michael Nedzelsky
6466facffa force UTF-8 encoding in CodegenTestCase.loadFileByFullPath 2015-09-30 22:35:38 +03:00
Mikhail Glukhikh
361448de8b Rename: private / final property in trait --> in interface 2015-09-30 19:38:19 +03:00
Mikhail Glukhikh
7256a546df Visibility modifiers are no longer allowed on local classes 2015-09-30 19:38:16 +03:00
Mikhail Glukhikh
6f7d9459fa Completion for sealed class inheritors and a pair of tests 2015-09-30 19:38:14 +03:00
Mikhail Glukhikh
7a99b3872b Forbid private functions with no body and private properties in traits which are abstract by default 2015-09-30 19:38:02 +03:00
Mikhail Glukhikh
930402d910 Incorrect 'inner' usage is diagnosed by parent, not by target 2015-09-30 17:54:47 +03:00
Dmitry Jemerov
2109a6b760 advance until-build to branch 144 2015-09-30 15:40:19 +02:00
Dmitry Petrov
91214c50a6 Unify containing classes mapping for deserialized callable members. 2015-09-30 09:56:06 +03:00
Dmitry Petrov
c17326841a Inlining package members should use facade class for SMAP. 2015-09-30 09:56:05 +03:00
Dmitry Petrov
9a41ee41d7 Migrate to new storage API.
Remove IncrementalPackageFragment::getMultifileFacade.
2015-09-30 09:56:05 +03:00
Dmitry Petrov
3dfe9951ef Incremental compilation support for multifile classes. 2015-09-30 09:56:05 +03:00
Denis Zharkov
ea8ada4664 Fix accessor naming test: count only method declarations 2015-09-30 08:19:52 +03:00
Denis Zharkov
22d58239e3 Support DefaultImpls in light-classes and indices
#KT-4647 Fixed
2015-09-30 08:19:52 +03:00
Denis Zharkov
8b8fa40348 Drop tests with obsolete assumption
DefaultImpls classes are not visible in IDE no more because they are inner.
2015-09-30 08:19:52 +03:00
Denis Zharkov
fd0c92e307 Record inner class info for interface and DefaultImpls 2015-09-30 08:19:51 +03:00
Denis Zharkov
c1bed7efc7 Move generation of non-local interface DefaultImpls
`DefaultImpls` should be inner class of it's interface,
so for proper light classes building it should be built
before original interface has been done, i.e. `done` method called.

Everything is complicated with local interfaces, so they are just left untouched
2015-09-30 08:19:51 +03:00
Denis Zharkov
a101fffd9a Change INTERFACE_IMPL_CLASS_NAME: $TImpl -> DefaultImpls 2015-09-30 08:19:51 +03:00
Denis Zharkov
cabf0df5d1 Minor. Rename mapTraitImpl -> mapDefaultImpls 2015-09-30 08:19:51 +03:00
Denis Zharkov
b2d4bdc802 Minor. Rename isTrait -> isInterface 2015-09-30 08:19:51 +03:00
Denis Zharkov
6061528f7f Minor. Rename isInterface -> isJvmInterface 2015-09-30 08:19:51 +03:00
Denis Zharkov
cb1bdfde52 Minor. TraitImplBodyCodegen -> InterfaceImplBodyCodegen 2015-09-30 08:19:51 +03:00
Denis Zharkov
27bc62bd8e Minor. Rename constants: TRAIT_IMPL* -> DEFAULT_IMPLS* 2015-09-30 08:19:50 +03:00
Yan Zhulanow
32e2a550b4 'infix' modifier 2015-09-30 04:03:27 +03:00
Alexander Udalov
1fbfff97fa Delete NoInternalVisibilityInStdLibTest
'internal' is not a default visibility anymore and thus makes sense in stdlib
2015-09-29 21:42:58 +03:00
Zalim Bashorov
90915f2432 Backup project's system dir when create backup for debugging Kotlin incremental compilation 2015-09-29 19:42:30 +03:00
Zalim Bashorov
0eac238f9b KotlinBuilder: improve logging 2015-09-29 19:42:29 +03:00
Valentin Kipyatkov
2d0c1cd77d Advanced ABI version after accessor naming change 2015-09-29 18:38:42 +03:00
Valentin Kipyatkov
94d8e3f4b6 "is" getter naming allowed for non-booleans too 2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
20bddce18d No synthetic property for false get-method like "issue()" 2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
8f1a3043de Synthetic properties made locale-independant too 2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
069ce12604 Accessor naming should be locale-independant 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
219fc46a36 Renamed property to avoid name clash 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
420c6856be Changed naming algorithm of accessor name generation: "isXXX" and "kClass" cases affected 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
98da621ab3 Temporary rename of properties starting with "is" and used from java code (will revert back after changing accessor naming policy) 2015-09-29 18:32:23 +03:00
Mikhail Glukhikh
1941827780 Typo fixed 2015-09-29 17:14:06 +03:00
Alexander Udalov
3b018e9eb0 Minor, move serialization-related stuff in codegen to separate package 2015-09-29 16:31:21 +03:00
Alexander Udalov
ba80a2404f Minor, improve signature of AsmUtil#writeAnnotationData 2015-09-29 16:26:29 +03:00
Alexander Udalov
3b9d90429b Simplify local class name serialization, don't go through extension
Also fix it for the case of a class in a non-default package
2015-09-29 16:26:28 +03:00
Alexander Udalov
1036506b25 Introduce new string table optimized for JVM class files
This format of the string table allows to reduce the size of the Kotlin
metadata in JVM class files by reusing constants already present in the
constant pool. Currently the string table produced by JvmStringTable is not
fully optimized in serialization (in particular, the 'substring' operation
which will be used to extract type names out of generic signature, is not used
at all), but the format and its complete support in the deserialization
(JvmNameResolver) allows future improvement without changing the binary version
2015-09-29 16:26:28 +03:00
Alexander Udalov
542bfab96f Don't write unnecessary information to ValueParameter proto
Flags can have a default value and the index can be trivially computed almost
all the time
2015-09-29 16:26:28 +03:00
Alexander Udalov
ccf72668e0 Don't write default upper bound for type parameters in protobuf 2015-09-29 16:26:27 +03:00
Alexander Udalov
6a8d0fbd75 Introduce infrastructure to separate string table from metadata on JVM
Nothing especially helpful happens here, this is only a big refactoring
introducing a separate string array for the string table, which is currently
always empty, but will contain actual strings soon
2015-09-29 16:26:27 +03:00
Alexander Udalov
5fe958f034 Add target TYPE to JVM metadata annotations 2015-09-29 16:26:26 +03:00
Alexander Udalov
89fe54c951 Remove NameResolver#getFqName, replace with getClassId 2015-09-29 16:26:26 +03:00
Alexander Udalov
7d5bd3cf50 Simplify storage of JVM signatures in binary metadata
Store the whole method & field descriptor strings. Moving these strings to
separate annotation arguments later will allow to reuse them with the ones in
the constant pool, presumably allowing to save lots of space (up to 10%)
2015-09-29 16:26:25 +03:00
Alexander Udalov
68051fa3bb Minor, refine parameter type of StringTable#getFqNameIndex 2015-09-29 16:26:25 +03:00
Alexander Udalov
5477570066 Extract interface out of NameResolver 2015-09-29 16:26:24 +03:00
Alexander Udalov
da68c4d9ee Extract interface out of StringTable
Rework SerializerExtension interface: don't pass StringTable to each method
every time, create it in each extension's constructor instead and expose to
DescriptorSerializer with an interface method
2015-09-29 16:26:24 +03:00
Alexander Udalov
e749bc262d Delete deprecated Type.Constructor message, advance ABI version 2015-09-29 16:26:24 +03:00
Nikolay Krasko
42eb413066 Update since to 142.5047.6 2015-09-29 15:43:02 +03:00
Stanislav Erokhin
5a61871d4b Minor. Fix testdata. 2015-09-29 13:33:57 +03:00
Stanislav Erokhin
5adec83907 Minor. Fix util function getResolutionScope. 2015-09-29 13:33:56 +03:00
Stanislav Erokhin
eb5a129253 Created util function recordScope and record scope for file and value parameters. 2015-09-29 13:33:56 +03:00
Stanislav Erokhin
fd503d0367 Minor. Replaced TYPE_RESOLUTION_SCOPE to LEXICAL_SCOPE 2015-09-29 13:33:55 +03:00
Mikhail Glukhikh
3d6d527d93 Synthetic 'field' variable is no more created in extension property accessors #KT-9303 Fixed 2015-09-29 13:05:19 +03:00
Mikhail Glukhikh
7b4f18035f L-value of assignment expression can now be annotated with expression-targeted annotation #KT-9154 Fixed 2015-09-29 13:05:16 +03:00
Mikhail Glukhikh
f4ccb16c2e Function expressions can be now annotated with expression-targeted annotation #KT-9323 Fixed 2015-09-29 13:05:13 +03:00
Mikhail Glukhikh
4e91f2ffb7 'open' + 'private' and 'abstract' + 'private' are now incompatible for functions and properties #KT-9324 Fixed 2015-09-29 13:05:11 +03:00
Mikhail Glukhikh
7cf2840fe5 'final' is deprecated in interfaces 2015-09-29 13:05:08 +03:00
Ilya Gorbunov
a55f9feacb Mark CharSequence.iterator() with operator. 2015-09-28 21:50:54 +03:00
Nikolay Krasko
e92a95eebb Fix typo in extension 2015-09-28 15:58:54 +03:00
Dmitry Kovanikov
6aa300e2d3 Minor: rename Kotlin console... action name to Kotlin REPL 2015-09-28 15:54:58 +03:00
Dmitry Kovanikov
45911cff90 Add icon to Kotlin console... action 2015-09-28 15:54:57 +03:00
Dmitry Kovanikov
84c1ac8885 KT-9262: don't show warning about non-existent location after typing ':quit' 2015-09-28 15:54:56 +03:00
Dmitry Kovanikov
2020351e2e KT-9263: don't show error message when user tries to execute command in non-existed REPL console 2015-09-28 15:54:54 +03:00
Dmitry Kovanikov
5cac0da2ba KT-9249: show text representation of first shortcut inside repl placeholder 2015-09-28 15:54:53 +03:00
Dmitry Jemerov
93e2827c1a dependency on java-i18n plugin 2015-09-28 14:49:06 +02:00
Mikhail Glukhikh
3ad628522a ReplaceWith now functions correctly in built-ins #KT-9351 Fixed 2015-09-28 15:38:05 +03:00
Dmitry Jemerov
ee1175d5e5 fix 'operator' modifier inspection
#KT-9349 Fixed
2015-09-28 14:35:41 +02:00
Natalia Ukhorskaya
58796da453 Extract function: render local class with debug name only in debug mode 2015-09-28 13:51:09 +03:00
Nikolay Krasko
881f1fd75e Suppress warning in proguard about jna classes 2015-09-28 11:38:08 +03:00
Nikolay Krasko
da22e40fad Update to IDEA 142.5047.6 2015-09-28 11:38:08 +03:00
Natalia Ukhorskaya
aa2ca1a7d5 Add missing readAction 2015-09-28 11:38:07 +03:00
Natalia Ukhorskaya
9ab4aafa01 jna-util.jar was renamed to jna-platform.jar 2015-09-28 11:38:07 +03:00
Natalia Ukhorskaya
606cf41e2a Fix compilation errors 2015-09-28 11:38:06 +03:00
Natalia Ukhorskaya
7582f1f454 Rewrite DebuggerTests (do not use FrameTree) 2015-09-28 11:38:06 +03:00
Natalia Ukhorskaya
5c04959871 Debugger: fix evaluation for local classes
#KT-5104 Fixed
2015-09-28 09:34:54 +03:00
Natalia Ukhorskaya
4fb4e0c21f Debugger: fix exception when process is resumed during stepping 2015-09-28 09:34:53 +03:00
Michael Nedzelsky
7234bf3572 get rid of internal JvmVersion annotation in kotlin-jdbc 2015-09-27 20:37:47 +03:00
Michael Nedzelsky
0035bbba7c fix check for internal from another module in imports and file level annotations 2015-09-27 20:37:41 +03:00
Yan Zhulanow
080dcf882e Minor: fix broken tests 2015-09-26 03:29:09 +03:00
Yan Zhulanow
3be050640c Fix Method.invoke() signature 2015-09-26 03:29:03 +03:00
Ilya Gorbunov
a1c3b26280 Temporary revert for M14 excluding kotlin-jdbc and kotlin-swing from maven deployment 2015-09-26 00:47:49 +03:00
Ilya Gorbunov
3f34bdf483 Make JvmVersion annotation internal for now. 2015-09-26 00:46:21 +03:00
Ilya Gorbunov
ee44717a41 private -> internal where it's necessary: synchronize OperationsMapGenerated and GenerateOperationsMap. 2015-09-26 00:26:59 +03:00
Ilya Gorbunov
0a24ba77b5 Add extension operators plus and minus for FileCollection to make them resolve into gradle api, rather than collection api. 2015-09-26 00:12:31 +03:00
Ilya Gorbunov
3915cfcea6 Merge Lazy's declarations in one file. 2015-09-25 23:50:55 +03:00
Zalim Bashorov
03fe293ace Minor: fix testdata 2015-09-25 22:36:01 +03:00
Ilya Gorbunov
1145cc0d1b Lazy: changes and clarifications after code-review.
LazyThreadSafety.NONE is actually *NONE* now.
2015-09-25 21:49:49 +03:00
Ilya Gorbunov
74f39c2375 Provide LazyThreadSafetyMode.PUBLICATION: concurrent non-blocking initializations, single publication. 2015-09-25 21:49:46 +03:00
Ilya Gorbunov
4a062698f2 Introduce final field in SynchronizedLazyImpl to enable safe publication. 2015-09-25 21:49:42 +03:00
Michael Nedzelsky
1986d8d7f8 add test for private in file 2015-09-25 21:16:04 +03:00
Michael Nedzelsky
c62b9dc416 remove test for KT-2257: cannot access private namespace var in multi-file namespace 2015-09-25 21:16:04 +03:00
Michael Nedzelsky
2f9151ec18 remove incremental test: accessPrivateMembers 2015-09-25 21:16:03 +03:00
Zalim Bashorov
c7c7382b8e Minor: fix testdata 2015-09-25 21:16:02 +03:00
Michael Nedzelsky
759c325e8b NoInternalVisibilityInStdLibTest: skip explicit internal modifiers 2015-09-25 21:16:02 +03:00
Michael Nedzelsky
2ad1459948 NoInternalVisibilityInStdLibTest: get rid of warnings 2015-09-25 21:16:01 +03:00
Zalim Bashorov
8cb87b3e49 private -> internal where it's necessary 2015-09-25 21:16:00 +03:00
Michael Nedzelsky
0d2196e226 ACCESS_TO_PRIVATE_TOP_LEVEL_FROM_ANOTHER_FILE: warning -> error 2015-09-25 21:13:18 +03:00
Ilya Gorbunov
1598660870 Deprecate extension property String.reader in favor of existing extension method reader() in kotlin.io package. 2015-09-25 21:10:20 +03:00
Ilya Gorbunov
379c39a2ef Move ByteArray.inputStream() method from kotlin package to kotlin.io 2015-09-25 21:10:17 +03:00
Ilya Gorbunov
8de40c01b9 Fix changed stdlib source file names in stepping tests. 2015-09-25 21:10:15 +03:00
Ilya Gorbunov
1622cf9506 Fix stdlib facade names in bytecode generation and decompilation tests. 2015-09-25 21:10:13 +03:00
Ilya Gorbunov
ed2b118fc8 Update java examples 2015-09-25 21:10:11 +03:00
Ilya Gorbunov
60c2f0fe0b Redistribute generated code between files. 2015-09-25 21:10:08 +03:00
Ilya Gorbunov
3e018f3a9f Annotate hand-written code with desired package part names. 2015-09-25 21:10:06 +03:00
Ilya Gorbunov
63f90eacdd Move flatten and unzip to parts corresponding to the receiver type of operation. 2015-09-25 21:10:03 +03:00
Ilya Gorbunov
3d7ff5c573 Move IO utility methods to corresponding parts. 2015-09-25 21:10:01 +03:00
Ilya Gorbunov
bf8df0f764 Move toRegex extension in kotlin package 2015-09-25 21:09:59 +03:00
Ilya Gorbunov
9ba50bcdff Move map- and set-related methods to corresponding parts. 2015-09-25 21:09:56 +03:00
Ilya Gorbunov
f6e0ef83e5 Move constants out of Console.kt 2015-09-25 21:09:54 +03:00
Ilya Gorbunov
058f2a8bd2 Move File-related extensions out of ReadWrite.kt 2015-09-25 21:09:52 +03:00
Ilya Gorbunov
13132e7483 Move synchronized method out of JLangJVM 2015-09-25 21:09:50 +03:00
Ilya Gorbunov
27ab643d3f Move to method to Tuples 2015-09-25 21:09:47 +03:00
Ilya Gorbunov
6bb88df693 Turn off Xmultifile-package-facades option for stdlib. 2015-09-25 21:09:45 +03:00
Ilya Gorbunov
0c777b87ed Add JvmMultifileClass to js as internal annotation. 2015-09-25 21:09:43 +03:00
Ilya Gorbunov
d40bbf6acb Allow to annotate generated code as jvm-only. 2015-09-25 21:09:40 +03:00
Ilya Gorbunov
1deb8b9dda Rename conflicting parts: add "Kt" 2015-09-25 21:09:38 +03:00
Ilya Gorbunov
473698a7e8 Generate JvmMultifileClass annotation on parts. 2015-09-25 21:09:36 +03:00
Ilya Gorbunov
2bc1fbab3f Allow stdlib generator to distribute concrete functions between different target files. 2015-09-25 21:09:33 +03:00
Ilya Gorbunov
947b8ac428 ant build: Do not preprocess stdlib source for JVM, only for JS. 2015-09-25 21:09:31 +03:00
Ilya Gorbunov
12d218632c logging: debug enabled for CLI 2015-09-25 21:09:29 +03:00
Ilya Gorbunov
9970c34961 Preprocessor: improved logging. 2015-09-25 21:09:27 +03:00
Ilya Gorbunov
7f5c3e15e4 Annotate stdlib jvm-only files without JVM suffix. 2015-09-25 21:09:24 +03:00
Ilya Gorbunov
1df4ab847d Remove task for ant, include preprocessor into the compiler, call preprocessor in ant build. 2015-09-25 21:09:22 +03:00
Ilya Gorbunov
e8c93abdb5 Developing preprocessor task for ant 2015-09-25 21:09:20 +03:00
Ilya Gorbunov
7b206fdaf4 Refactor a bit 2015-09-25 21:09:18 +03:00
Ilya Gorbunov
d76e177834 Each platform is processed separately but in parallel. 2015-09-25 21:09:15 +03:00
Ilya Gorbunov
706771829e Processing sources for multiple platforms in one pass. 2015-09-25 21:09:13 +03:00
Ilya Gorbunov
ae51f2eb2a Annotation for preprocessor to mark declaration as jvm-only 2015-09-25 21:09:11 +03:00
Ilya Gorbunov
de778d9865 Prototyping preprocessor: stripping declarations and replacing name. 2015-09-25 21:09:08 +03:00
Dmitry Jemerov
3d0e91065a quickfix for usages of operators that don't have the proper annotation 2015-09-25 20:00:29 +02:00
Dmitry Jemerov
8b0ccce4f1 code review; add 'operator' also to next() and hasNext(); check toplevel functions 2015-09-25 20:00:28 +02:00
Dmitry Jemerov
e0f8d68a5f add 'operator' modifier when creating next() and hasNext() from usage 2015-09-25 20:00:28 +02:00
Dmitry Jemerov
1e2d4c0471 use setOf() instead of Guava sets 2015-09-25 20:00:27 +02:00
Dmitry Jemerov
41d1cf6083 check return type of contains() and compareTo() 2015-09-25 20:00:26 +02:00
Dmitry Jemerov
3dbb74bf0c teach 'create from usage' to add 'operator' modifier when necessary 2015-09-25 20:00:26 +02:00
Dmitry Jemerov
bda0bd1de1 quickfix to add 'operator' keyword to operator-like functions 2015-09-25 20:00:19 +02:00
Yan Zhulanow
3a519ccc0a Add extension for Method.invoke() 2015-09-25 20:47:55 +03:00
Yan Zhulanow
b73f91d16b Fix "unresolved widget fqname" bug in Gradle 2015-09-25 20:47:54 +03:00
Yan Zhulanow
07b77432de Fix NPE in AndroidPsiTreeChangePreprocessor 2015-09-25 20:47:54 +03:00
Dmitry Jemerov
61d78e0880 tests for "Add 'const' modifier" 2015-09-25 19:14:54 +02:00
Dmitry Jemerov
48bcc93ec2 revert incorrect testdata changes 2015-09-25 19:14:53 +02:00
Dmitry Jemerov
86a01a9a0d update Java usages when adding 'const' modifier; make the action available as intention 2015-09-25 19:14:53 +02:00
Dmitry Jemerov
250456ab4b add quickfix for NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION 2015-09-25 19:14:52 +02:00
Alexey Tsvetkov
743c59331d Remove tests on turning incremental on/off temporary 2015-09-25 20:11:58 +03:00
Alexey Tsvetkov
1002d233cb Update cache version 2015-09-25 20:11:58 +03:00
Alexey Tsvetkov
ba33020140 Clean only kotlin caches when incremental compilation is off 2015-09-25 20:11:58 +03:00
Alexey Tsvetkov
1298d115bd Minor: rename test cases 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
c7f66a1585 Fix recompilation of dependent modules on cache/abi version change
New cache version was written to dependent targets,
when they have not been compiled yet

 #KT-9190 Fixed
2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
7ef23da289 Clean all storages if incremental compilation is off 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
2bed8d0557 Test caches creation with turning incremental on/off 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
68437175f6 Enable disabling incremental compilation for tests 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
b6bbc4015b Write cache version only if incremental compilation is enabled 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
a3f2ccf72d Test that Kotlin incremental caches are created lazily 2015-09-25 20:11:57 +03:00
Alexey Tsvetkov
4b880f324a Access cache version file in tests using CacheVersionFormat 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
92d5b93cc7 Move incremental compilation enabled check from CacheFormatVersion to KotlinBuilder 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
0904b4bae8 Move CacheFormatVersion to separate file 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
5c9b962567 Create map so it will always be added to maps 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
a611dd9d25 Minor: remove unused function 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
b8388ae7ed Minor: remove unused ClassToSources map 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
fe390a04c5 Create Kotlin incremental caches only on write 2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
c0b208275e Revert removing testDoNotCreateUselessKotlinIncrementalCaches
Removed by mistake in b25dfabbcc
2015-09-25 20:11:56 +03:00
Alexey Tsvetkov
8c7053552b Flush dataManager in KotlinJpsBuildTest 2015-09-25 20:11:55 +03:00
Mikhail Glukhikh
4b9d136ced identityEquals is deprecated 2015-09-25 20:00:54 +03:00
Yan Zhulanow
aada13c91f Deprecate @publicField 2015-09-25 19:51:07 +03:00
Yan Zhulanow
cc2d005984 Make lateinit diagnostics more clear 2015-09-25 19:51:06 +03:00
Dmitry Jemerov
32e6a6e3a1 inspection and quickfix to replace usages of deprecated package facades 2015-09-25 18:29:06 +02:00
Dmitry Jemerov
9de74921ca code review 2015-09-25 18:25:38 +02:00
Dmitry Jemerov
4e7236529c "move assignment to initializer" quickfix for assigning to properties in constructors/init blocks 2015-09-25 18:25:37 +02:00
Dmitry Jemerov
e1acc8744d "introduce backing property" intention 2015-09-25 18:25:37 +02:00
Dmitry Jemerov
dadef12723 backing field migration fixes 2015-09-25 18:25:36 +02:00
Yan Zhulanow
3d65b6fec2 Add extension function for BindingContext 2015-09-25 19:20:21 +03:00
Yan Zhulanow
6db9344659 Fix compiler tests 2015-09-25 19:20:20 +03:00
Yan Zhulanow
35362a0f3b Check 'operator' on next() and hasNext() 2015-09-25 19:20:19 +03:00
Yan Zhulanow
2c7f68ff71 Member and extension functions with 'operator' have now higher priority 2015-09-25 19:20:18 +03:00
Yan Zhulanow
1139a8dd0e Mark builtins and stblib functions with 'operator' 2015-09-25 19:20:18 +03:00
Yan Zhulanow
ce4bcbba6d Simple diagnostic on 'operator' keyword 2015-09-25 19:20:17 +03:00
Yan Zhulanow
43bf87e82d Add diagnostics on convention operator calls without an "operator" modifier on declaration site 2015-09-25 19:19:02 +03:00
Yan Zhulanow
fe744abc3c Mark componentN() in data classes with 'operator' 2015-09-25 19:17:25 +03:00
Stanislav Erokhin
d3b81cf376 Mute assert in ReferenceVariantsHelper for scopes.
Now there are several places, where we can get JetScope and write wrapper by LexicalScope key.
Assertions is minor here, because in worse case we just added some wrong descriptors to completion.
2015-09-25 19:10:04 +03:00
Stanislav Erokhin
37af3d994b Created util function addImportScope and use it in ShadowedDeclarationsFilter 2015-09-25 19:10:04 +03:00
Stanislav Erokhin
8ab4114291 Minor. Fix testdata. 2015-09-25 19:10:03 +03:00
Natalia Ukhorskaya
40554996f8 Minor. Fix file path for windows 2015-09-25 19:10:02 +03:00
Mikhail Glukhikh
0a0bfdacb1 Names containing only '_' are deprecated (declarations, parameters, import aliases, labels, but not backquoted names) 2015-09-25 18:57:58 +03:00
Mikhail Glukhikh
ebfb6c8468 private and override are no more compatible 2015-09-25 18:57:55 +03:00
Mikhail Glukhikh
9ccf1a1729 Partial rollback: 'private' is no more deprecated in interfaces, some tests rolled back accordingly 2015-09-25 18:57:52 +03:00
Denis Zharkov
505cb37052 Generate deprecated flag on getter of const val's 2015-09-25 18:12:45 +03:00
Valentin Kipyatkov
1c6ca9d036 Initial implementation of KT-5955 Completion for override methods
#KT-5955 Fixed
2015-09-25 18:12:18 +03:00
Michael Nedzelsky
15edbbb60c move service declaration to cli 2015-09-25 18:10:58 +03:00
Nikolay Krasko
ec411444d5 Do not substitute version in bootstrap build 2015-09-25 18:07:59 +03:00
Nikolay Krasko
2cf640463c Enable override version filter only for specific branch - allow auto-merge to other branches 2015-09-25 18:07:58 +03:00
Nikolay Krasko
35caa79019 Auto-increment version from script
This allows to have own version system on particular branch. It's planned to be enabled in release branches.
2015-09-25 18:07:58 +03:00
Mikhail Glukhikh
103bb320c8 Do not generate non-function/getter/setter (expression) annotations on anonymous functions 2015-09-25 17:46:38 +03:00
Mikhail Glukhikh
74ba21b40c Extra annotation target test for prefix expression 2015-09-25 17:46:36 +03:00
Mikhail Glukhikh
f06a79d534 KNPE fixed in data class checker together with some ID warnings #KT-9296 Fixed #EA-73584 Fixed 2015-09-25 17:46:33 +03:00
Mikhail Glukhikh
bd7ccc0138 Annotation on a function literal cannot be written to binary if it has FUNCTION target and the literal is inlined 2015-09-25 17:46:30 +03:00
Alexey Sedunov
6b9e2b0bbb Resource Bundles: Enable property key completion in string literals
#KT-6946 Fixed
2015-09-25 17:18:02 +03:00
Alexey Sedunov
594e4e5c31 Resource Bundles: Inspections on invalid property key/resource bundle references
#KT-6946 In Progress
2015-09-25 17:18:01 +03:00
Alexey Sedunov
44fd9d17ed Resource Bundles: Add Rename tests for bundle files and properties
#KT-6946 In Progress
2015-09-25 17:18:00 +03:00
Alexey Sedunov
5af4101f7d Resource Bundles: Implement references on Kotlin string literals
#KT-6946 In Progress
2015-09-25 17:17:59 +03:00
Ilya Chernikov
9c7d6c1649 Fixing KT-9196 (broken kotlin-compiler-embeddable.jar in M13) by excluding org.fusesource.jansi.internal.CLibrary from relocation, adding smoke test for embeddable jar 2015-09-25 16:13:03 +02:00
Natalia Ukhorskaya
3dd076efa8 Minor: extract function 2015-09-25 16:01:37 +03:00
Natalia Ukhorskaya
c872f301ff Fix steping for inline functions with reified parameters 2015-09-25 16:01:36 +03:00
Natalia Ukhorskaya
33b5e6b255 Fix stepping for inline functions inside when, if, try 2015-09-25 16:01:35 +03:00
Michael Nedzelsky
e92f14e49c increment version in KotlinJavaScriptMetaFileIndex in order to force rebuild indexes 2015-09-25 15:14:20 +03:00
Michael Nedzelsky
6013d3a527 code cleanup: fileIndexes 2015-09-25 15:14:15 +03:00
Michael Nedzelsky
b8ab8bcfca check for access to internal elements from another module in jps-plugin
hack for access from tests to internal declarations in production code

fix AbstractCompileKotlinAgainstKotinTest: add information about output directory in order to correct check for internal visibility.
2015-09-25 14:02:29 +03:00
Michael Nedzelsky
0b49195a03 add tests in KotlinJpsTest for check access to internal elements from another module 2015-09-25 14:02:26 +03:00
Michael Nedzelsky
ad274c5137 add tests for incremental compilation with changed internal class 2015-09-25 14:02:21 +03:00
Valentin Kipyatkov
c8a244cc40 Minor corrections on code review 2015-09-25 13:02:47 +03:00
Valentin Kipyatkov
db0578c187 Refactored code 2015-09-25 13:02:46 +03:00
Valentin Kipyatkov
22797114c7 J2K: correct handling of properties with "is" notation 2015-09-25 13:02:46 +03:00
Valentin Kipyatkov
c8b6db4e57 Renamed test data folder 2015-09-25 13:02:46 +03:00
Valentin Kipyatkov
ade9cbcafb Refactoring (+ slightly more correct logic) 2015-09-25 13:02:46 +03:00
Valentin Kipyatkov
c05232bbb7 J2K: generate accessor bodies in expression form if possible 2015-09-25 13:02:46 +03:00
Valentin Kipyatkov
ee5a853faa Generate accessor with delegation to super when it's necessary 2015-09-25 13:02:45 +03:00
Valentin Kipyatkov
b1b5af8e1e More correct detection of super property 2015-09-25 13:02:45 +03:00
Valentin Kipyatkov
8a0cd92aff Minor 2015-09-25 13:02:45 +03:00
Valentin Kipyatkov
e885657894 Minor api refactoring "isVal" -> "isVar" 2015-09-25 13:02:45 +03:00
Valentin Kipyatkov
320102bbdb J2K: get/set-methods converted to properties (but lot of TODOs left) 2015-09-25 13:02:45 +03:00
Denis Zharkov
3f6cadf9b7 Change FUNCTION_EXPRESSION_WITH_NAME severity to ERROR
Also drop deprecation related parts and get rid of usages of this `feature` within testData
2015-09-25 08:29:26 +03:00
Denis Zharkov
1d90b2e1fe Get rid of obsolete syntax in quickfixes changing lambda's signature
- Do not wrap parameters with '()'
- Do not set return type for them
- Fix existing testData
2015-09-25 08:29:26 +03:00
Denis Zharkov
31d2aa23f5 Remove ChangeType quickfix for lamdas with deprecated syntax 2015-09-25 08:29:26 +03:00
Denis Zharkov
60ebc689ad Drop diagnostic reported on lambda's return type
Because it's not allowed syntactically anymore.
Also adjust related methods within JetFunctionNotStubbed
2015-09-25 08:29:26 +03:00
Denis Zharkov
c6377a0664 Drop everything related to lambda syntax deprecation 2015-09-25 08:29:26 +03:00
Denis Zharkov
73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00
Denis Zharkov
5f69789636 Stop parsing lambdas with deprecated syntax 2015-09-25 08:29:25 +03:00
Zalim Bashorov
79ac436b9f Add tests for cases when add and remove custom accessors for val with smartcasted usage 2015-09-24 22:50:48 +03:00
Michael Nedzelsky
c6409138d8 Merge pull request #752 from JetBrains/rr/compile-service-3
compile service 3
2015-09-24 16:50:09 +03:00
Valentin Kipyatkov
f27c18b4a2 KT-8979 Completion of non-imported extension with "!" character corrupts code
#KT-8979 Fixed
2015-09-24 16:44:41 +03:00
Stanislav Erokhin
c2b1a5ee6d Removed unnecessary long checks. 2015-09-24 14:32:54 +03:00
Stanislav Erokhin
e4e6a600e1 Add performance hack for unInvalidate Files from stdlib in tests. 2015-09-24 14:32:54 +03:00
Stanislav Erokhin
9cc6d1cf58 Added check to ImportInsertHelperImpl that inserted import successfully imports descriptor 2015-09-24 14:07:51 +03:00
Stanislav Erokhin
88815c40cc Minor. Fix testdata. 2015-09-24 14:07:51 +03:00
Stanislav Erokhin
cdcf9f30b7 Minor. Fix compilation. 2015-09-24 14:07:51 +03:00
Stanislav Erokhin
fc9aa87a05 Report diagnostic on import with explicit import class if class was imported earlier. 2015-09-24 14:07:43 +03:00
Stanislav Erokhin
6c1738e11a Minor. Small refactoring of AllUnderImportsScope 2015-09-24 13:53:56 +03:00
Stanislav Erokhin
85895bec62 Improved error reporting, when we trying import invisible descriptor. 2015-09-24 13:53:56 +03:00
Stanislav Erokhin
d7a14075f1 Removed ImportPackage UI settings 2015-09-24 13:53:56 +03:00
Stanislav Erokhin
1360f3cd43 Fix visibility checker for import. 2015-09-24 13:53:55 +03:00
Michael Bogdanov
e5334ed9b8 Compare arrays via equals (not Arrays.equals) in data classes 2015-09-24 12:00:19 +03:00
Michael Bogdanov
cf57d56ab3 Don't generate private members in interface 2015-09-24 12:00:18 +03:00
Ilya Chernikov
4b1601974f Refactoring parts related to passing services to compiler in daemon, adding uniform support for cancellation check and lookup tracking 2015-09-24 10:44:44 +02:00
Ilya Chernikov
3c16b2de87 Converting KotlinCompilerRunner.java to kotlin - phase 3 - refactoring to more kotlin style 2015-09-24 10:42:54 +02:00
Ilya Chernikov
0047fb1272 Converting KotlinCompilerRunner.java to kotlin - phase 2 - converter + manual fixes 2015-09-24 09:56:26 +02:00
Ilya Chernikov
fffe6dd837 Converting KotlinCompilerRunner.java to kotlin - phase 1 - renaming to .kt to preserve history 2015-09-24 09:56:26 +02:00
Ilya Chernikov
886dc4b438 Refactoring daemon tests for more reusable code, adding instances test, minor fixes and improvements 2015-09-24 09:56:25 +02:00
Ilya Chernikov
c294a682de Utils for checking presense of certain lines in a sequence, using this tool for checking log after daemon builds in tests, fixing explicit daemon shutdown used in the test, some minor fixes 2015-09-24 09:56:24 +02:00
Michael Bogdanov
2e6b56691c Fix for: KT-8089 NoSuchFieldError
#KT-8089 Fixed
2015-09-24 09:36:46 +03:00
Yan Zhulanow
bc727a170b Add 'operator' keyword 2015-09-23 21:25:51 +03:00
Pavel V. Talanov
4a32993cc3 Ant build: apply -Xmultifile-package-facades while building stdlib and reflection jars only 2015-09-23 18:29:13 +03:00
Zalim Bashorov
967c8eae2e Minor: fix testdata files which were accidentally reformatted 2015-09-23 18:18:08 +03:00
Michael Nedzelsky
2c952dcc22 Revert "add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation"
This reverts commit c342f6870a.
2015-09-23 17:45:47 +03:00
Michael Nedzelsky
031a42ccf4 Revert "add isIncremental method to PackageFragmentDescriptorImpl in order to recognize descriptors from incremental package fragments during compilation"
This reverts commit ddaebd2b27.
2015-09-23 17:45:45 +03:00
Michael Nedzelsky
ef8e7ea0bb Revert "add strict check for internal visibility during compilation"
This reverts commit d1ee58186f.
2015-09-23 17:45:42 +03:00
Michael Nedzelsky
01ece0faa4 Revert "fix tests (internal -> public)"
This reverts commit e86bf03e76.
2015-09-23 17:45:40 +03:00
Michael Nedzelsky
db602df146 Revert "add test for check access to internal elements from another module"
This reverts commit 4d9eaf19c3.
2015-09-23 17:45:38 +03:00
Dmitry Petrov
8595315ba5 - Package facade classes should have ACC_DEPRECATED
- Light classes for package facades should be deprecated
2015-09-23 17:41:13 +03:00
Dmitry Petrov
3cd1c222f0 Generate delegates to multifile class members in package facade classes
(unless using -Xmultifile-package-facades option)
2015-09-23 17:41:13 +03:00
Dmitry Petrov
5cdbdfc2cc - Annotate package facades with java.lang.Deprecated.
- Provide KotlinDelegatedMethod annotation on package facade members.
2015-09-23 17:41:12 +03:00
Mikhail Glukhikh
c4fb6d48c5 Object literals are now classes and expressions simultaneously for the purposes of annotation target checking 2015-09-23 16:47:07 +03:00
Mikhail Glukhikh
dd4601fd08 Function literal is now expression and function simultaneously for purposes of annotation target checking 2015-09-23 16:47:04 +03:00
Mikhail Glukhikh
997e9a7dd7 Multi declaration is now a separate target in KotlinTarget 2015-09-23 16:46:44 +03:00
Mikhail Glukhikh
789f351f6f data modifier is now inapplicable to enum classes, annotations, objects and interfaces #KT-8302 Fixed 2015-09-23 16:33:11 +03:00
Mikhail Glukhikh
315a304c8e New modifier checking strategy: only one error but any number of warnings, a warning can never shadow an error 2015-09-23 16:33:08 +03:00
Mikhail Glukhikh
55c7df8b8d Deprecations: data class should now have at least one primary constructor parameter, parameters should be val / var and not vararg. 2015-09-23 16:33:05 +03:00
Mikhail Glukhikh
3d6253c27f abstract + data and sealed + data are also deprecated 2015-09-23 16:33:02 +03:00
Mikhail Glukhikh
038d955c23 Data classes cannot have class supertypes, a new test, relevant test fixes 2015-09-23 16:33:00 +03:00
Mikhail Glukhikh
58110cd0d1 open + data and inner + data are deprecated, a new test, relevant test fixes 2015-09-23 16:32:57 +03:00
Mikhail Glukhikh
731fdecf06 private / protected / internal modifiers are deprecated in interfaces, relevant tests changed 2015-09-23 16:32:54 +03:00
Denis Zharkov
dcb84a7d0a Make annotations-modifiers private and fix some lost usages
It's needed to prevent usages of them as real annotation/type.
But we can't remove them, because currently some modifiers
are artificially resolved as annotations of those classes.
2015-09-23 12:18:12 +03:00
Denis Zharkov
4a993f517e Drop tailRecursive and it's usage 2015-09-23 12:18:12 +03:00
Denis Zharkov
098f5462eb Drop inlineOptions and fix forgotten usages 2015-09-23 12:18:12 +03:00
Denis Zharkov
67486b867b Get rid of inlineOptions usages in IDE tests 2015-09-23 12:18:12 +03:00
Denis Zharkov
e1e3a6c9ad Introduce const into decompiler and stub builder 2015-09-23 08:20:57 +03:00
Denis Zharkov
c13f0812e3 Temporary workaround for strange JvmName behavior 2015-09-23 08:20:57 +03:00
Denis Zharkov
d937a7cefc Generate field for const-val with same visibility as desciptor
Also add test checking that constant static final fields generated for them
2015-09-23 08:20:57 +03:00
Denis Zharkov
ba6671edb4 Minor. Drop unused constant JetTokens.ANNOTATION_MODIFIERS_KEYWORDS 2015-09-23 08:20:57 +03:00
Denis Zharkov
afd4e644a3 Report warning on usages of non-const vals in places where constants expected 2015-09-23 08:20:57 +03:00
Denis Zharkov
8d13f08271 Load static final fields of appropriate types from Java as const 2015-09-23 08:20:57 +03:00
Denis Zharkov
98dd08109d Serialize/Deserialize const modifier 2015-09-23 08:20:56 +03:00
Denis Zharkov
b2b76d16d0 Add checks for const modifier applicability
1. Must be initialized in-place
2. Can not be open/abstract
3. Can not be an override
4. Can not be delegated
5. Initializer must be a compile-time constant
6. No getters
7. `const` is not applicable to vars or locals
8. `const val` should be whether top-level property or object member
2015-09-23 08:20:56 +03:00
Denis Zharkov
bde58d6eb8 Introduce interface method: VariableDescriptor.isConst
And several default implementations
Also take it into account in renderer
2015-09-23 08:20:56 +03:00
Denis Zharkov
02b64ce1ed Parse const as soft modifier keyword 2015-09-23 08:20:56 +03:00
Denis Zharkov
4a3ac474ca Minor. Rename resolveValueArguments -> resolveAnnotationValueArguments 2015-09-23 08:20:56 +03:00
Denis Zharkov
bafb6cc2f7 Minor. Extract common code in ModifierChecker 2015-09-23 08:20:56 +03:00
Michael Nedzelsky
4d9eaf19c3 add test for check access to internal elements from another module
#KT-9178 Fixed
2015-09-23 07:49:33 +03:00
Michael Nedzelsky
e86bf03e76 fix tests (internal -> public) 2015-09-23 07:49:29 +03:00
Michael Nedzelsky
d1ee58186f add strict check for internal visibility during compilation 2015-09-23 07:49:27 +03:00
Michael Nedzelsky
ddaebd2b27 add isIncremental method to PackageFragmentDescriptorImpl in order to recognize descriptors from incremental package fragments during compilation 2015-09-23 07:49:23 +03:00
Michael Nedzelsky
c342f6870a add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation 2015-09-23 07:49:21 +03:00
Michael Nedzelsky
bcd85aa30d changes some internal modifiers to public for elements which are used outside their modules 2015-09-23 07:49:17 +03:00
Valentin Kipyatkov
1afdb8d996 No nested classes auto-import 2015-09-23 01:42:19 +03:00
Valentin Kipyatkov
3d129522db Auto-import fix to use dependency rules (as in Java) 2015-09-23 01:42:19 +03:00
Valentin Kipyatkov
8f78b27462 Minor refactoring 2015-09-23 01:42:18 +03:00
Valentin Kipyatkov
232ab33c3a Minor 2015-09-23 01:42:18 +03:00
Valentin Kipyatkov
56b088233a KT-8179 Settings / "Add unambiguous imports on the fly" could work in Kotlin files too
#KT-8179 Fixed
2015-09-23 01:42:18 +03:00
Dmitry Kovanikov
e26fe0b080 Disable completion in repl 2015-09-22 21:11:56 +03:00
Dmitry Kovanikov
87969f1660 Minor: change repl.ideMode property name to kotlin.repl.ideMode 2015-09-22 21:11:55 +03:00
Dmitry Kovanikov
ab06dbfc70 Repl: add test to check multiline support 2015-09-22 21:11:54 +03:00
Dmitry Kovanikov
bfe01cccea Repl: fix bug in handling multiline commands 2015-09-22 21:11:54 +03:00
Alexander Udalov
4ca8a51234 Move Interner from deserialization to util
This class is not used in core and should not end up in kotlin-reflect.jar
2015-09-22 18:22:59 +03:00
Alexander Udalov
1878f892c1 Minor, fix annoying nullability warning 2015-09-22 18:22:58 +03:00
Alexander Udalov
e52a9b9fb8 Rename ClassDataProvider -> ClassDataWithSource 2015-09-22 18:22:58 +03:00
Alexander Udalov
0ef705f073 Minor, convert ClassData and PackageData to Kotlin data classes 2015-09-22 18:22:57 +03:00
Alexander Udalov
78e920f797 Minor, fix trove4j source paths 2015-09-22 18:22:57 +03:00
Alexander Udalov
e7b041456f Add missing module to Kotlin JPS plugin
Since binary version stopped being a simple int and became an instance of the
class BinaryVersion, and since incremental cache loads versions of classes, the
JPS plugin now needs to have the 'deserialization' module which has that class
to avoid ClassNotFoundException.

This fixes CNFE from the bare plugin
2015-09-22 18:22:56 +03:00
Alexander Udalov
f9ba7f6880 Minor, inline ClassData#read & PackageData#read to single usage 2015-09-22 18:22:56 +03:00
Alexander Udalov
4a8d2b73d3 Remove deprecated stuff unused after M13 2015-09-22 18:22:55 +03:00
Alexander Udalov
93b5065cf5 Get rid of SerializationUtil, move methods to DescriptorSerializer 2015-09-22 18:22:55 +03:00
Alexander Udalov
04b8991bdd Minor, move BuiltInsSerializerExtension to module builtins-serializer 2015-09-22 18:22:54 +03:00
Alexander Udalov
7cc416ed12 Minor, rename TRAIT -> INTERFACE, CLASS_OBJECT -> COMPANION_OBJECT 2015-09-22 18:22:54 +03:00
Alexander Udalov
a0fb1a18e3 Minor, delete useless methods from NameResolver 2015-09-22 18:22:54 +03:00
Michael Nedzelsky
34d4d2e7d9 ProtoCompareGenerated: get rid ofusage of internal details of NameResolver 2015-09-22 18:22:53 +03:00
Dmitry Jemerov
9b33721a98 don't try to add auto-import if user closed the project while the popup was displayed (EA-67037 - assert: ComponentManagerImpl.getComponent) 2015-09-22 16:11:38 +02:00
Dmitry Jemerov
7ae5506d99 don't create reports for empty elements (EA-67307 - assert: ProblemDescriptorBase.<init>) 2015-09-22 16:11:37 +02:00
Dmitry Jemerov
c669a06c97 return null instead of asserting on declarations with null name (EA-69471 - assert: JetSourceNavigationHelper.convertPropertyOrFunction) 2015-09-22 16:11:36 +02:00
Dmitry Jemerov
0febe3322b don't register template listener if we don't have an editor (EA-70683 - KNPE: OverrideImplementMethodsHandler.invoke) 2015-09-22 16:11:36 +02:00
Dmitry Jemerov
e7a0f077f0 according to Peter, getting a PCE from indexes is a valid situation, don't log this as an error (EA-73265 - assert: KotlinCopyPasteReferenceProcessor.collectTransferableData) 2015-09-22 16:11:35 +02:00
Dmitry Jemerov
55b422ab9b remove 'public' modifier from default file templates 2015-09-22 16:07:48 +02:00
Dmitry Jemerov
c5309d7955 to avoid deadlock, don't refresh VFS during service initialization, instead refresh asynchronously during plugin initialization 2015-09-22 15:11:42 +02:00
Dmitry Jemerov
51ee1b3e5a do not cache binary contents when trying to check if a .class file is compiled with Kotlin 2015-09-22 15:08:28 +02:00
Zalim Bashorov
98867addc9 Regenerate tests for JS reserved words 2015-09-22 15:00:38 +02:00
Zalim Bashorov
a1979b6eb4 Regenerate tests for JS reserved words when cases changed 2015-09-22 15:00:37 +02:00
Dmitry Jemerov
4ca434da54 remove support for 'trait' keyword 2015-09-22 15:00:24 +02:00
Mikhail Glukhikh
86833c1a74 Migration to new backing field syntax 2015-09-22 10:15:52 +03:00
Alexey Sedunov
b4efe33efa IDEA 142.4859.6: Update LineNumberTestGenerated test data (due to IDEA's ASM upgrade to 5.0.4 which supports multiline labels) 2015-09-21 18:07:46 +03:00
Alexey Sedunov
8603a36404 IDEA 142.4859.6: Invalidate library cache in setUp() to prevent access to
ClsFiles invalidated by the previous test
2015-09-21 18:07:44 +03:00
Alexey Sedunov
a892d3f995 IDEA 142.4859.6: Update dependencies and fix compilation 2015-09-21 18:07:43 +03:00
Dmitry Petrov
39e0b3ab92 fix testData related to JvmName retention 2015-09-21 17:33:06 +03:00
Mikhail Glukhikh
d337283b52 "field": more accurate creation of synthetic field 2015-09-21 15:48:14 +03:00
Mikhail Glukhikh
831df27cac "field": refactoring, isBackingFieldReference, referencedProperty 2015-09-21 15:48:11 +03:00
Mikhail Glukhikh
ad302fcfba "field": control of accessor parameter name shadowing, test 2015-09-21 15:48:08 +03:00
Mikhail Glukhikh
4f3e3610a0 NPE fixed inside three implementations of LexicalScope.printStructure 2015-09-21 15:48:06 +03:00
Mikhail Glukhikh
c24156ae84 "field": backing field usage deprecated warning, relevant diagnostics tests changed 2015-09-21 15:48:03 +03:00
Mikhail Glukhikh
a1e3471d92 "field": deprecated warnings introduced, compiler tests migrated to the new syntax 2015-09-21 15:48:00 +03:00
Mikhail Glukhikh
028e0ec59a "field": JS translation 2015-09-21 15:47:57 +03:00
Mikhail Glukhikh
094c6cebc3 "field": highlighting fix, including color schemes and example 2015-09-21 15:47:55 +03:00
Mikhail Glukhikh
9939f96c09 "field" reassignment: fix and test 2015-09-21 15:47:52 +03:00
Mikhail Glukhikh
9f640b00d9 "field": synthetic variable creation in accessors, codegen changed accordingly, a set of tests, relevant code fix (j2k) 2015-09-21 15:47:49 +03:00
Pavel V. Talanov
6282a16013 Minor: remove duplicate registering of module name 2015-09-21 14:41:38 +03:00
Dmitry Kovanikov
e4f44d7754 [cli-repl] Small refactoring
Add `flushHistory` to ReplCommandReader
Pass `WhatNextAfterOneLine` to `readLine`
2015-09-21 14:41:37 +03:00
Dmitry Kovanikov
8aa701ec2d [ide-console] Minor: highlight error if its range offsets are equal 2015-09-21 14:41:37 +03:00
Dmitry Kovanikov
cc2e320228 [cli-repl] More accurate line breaks handling 2015-09-21 14:41:36 +03:00
Dmitry Kovanikov
18304c7d7b [cli-repl] Create wrapper for console reader 2015-09-21 14:41:35 +03:00
Dmitry Kovanikov
4aa5a90370 [cli-repl] Minor: change API to support ABI reporting 2015-09-21 14:41:35 +03:00
Dmitry Kovanikov
ad49272b3b [ide-console] Minor: change pathSeparator variable 2015-09-21 14:41:34 +03:00
Pavel V. Talanov
30d675d49f Repl: fix paths on windows 2015-09-21 14:41:34 +03:00
Pavel V. Talanov
8a944e099e Minor: use proper utility in ReplErrorLogger 2015-09-21 14:41:33 +03:00
Dmitry Kovanikov
3f44fe5955 [cli-repl] Optimize System.in to send "change indicator" message only when readLine is called 2015-09-21 14:41:32 +03:00
Dmitry Kovanikov
1f4fab0047 [ide-console] Add all paths of compiled module (production, test) 2015-09-21 14:41:32 +03:00
Dmitry Kovanikov
ac6a9d95af [test] Fix testData for AbstractReplInterpreterTest 2015-09-21 14:41:31 +03:00
Dmitry Kovanikov
9bf0c8453d [cli-repl][ide-console] Add logging of internal errors
Rename `jvmStatic` to `@JvmStatic`
2015-09-21 14:41:30 +03:00
Dmitry Kovanikov
38285496cb [ide-console] Different refactoring
No more redundant trims and adding of line breaks
Remove concurrent map from editors
Rename IconPack to IconWithTooltip
Some minor changes
2015-09-21 14:41:30 +03:00
Dmitry Kovanikov
bd52462420 [ide-console] Add tooltips to all icons 2015-09-21 14:41:29 +03:00
Dmitry Kovanikov
b4224bf9f3 [ide-console][cli-repl] Add more icons for readLine commands 2015-09-21 14:41:29 +03:00
Dmitry Kovanikov
724b208a5d [test] Add readLine() tests 2015-09-21 14:41:28 +03:00
Dmitry Kovanikov
42c0396308 [cli-repl] Support readLine() during repl session 2015-09-21 14:41:27 +03:00
Dmitry Kovanikov
00a117f089 [test] Add tests on simple commands 2015-09-21 14:41:27 +03:00
Dmitry Kovanikov
6d8c6857b8 [ide-console] Add folding to history commands 2015-09-21 14:41:26 +03:00
Dmitry Kovanikov
48866fbeeb [ide-console] Remove INCOMPLETE support from ide console 2015-09-21 14:41:25 +03:00
Dmitry Kovanikov
fcc5fa13f3 [ide-console] Move warning messages about compilation inside consoleView 2015-09-21 14:41:25 +03:00
Dmitry Kovanikov
058b539004 [ide-console][cli-repl] Decorations for smooth console view
Icons on history commands
Linebreaks between `command-result` blocks
Exceptions stacktrace and icons
Bold invitation
2015-09-21 14:41:24 +03:00
Dmitry Kovanikov
3271fae7ac [ide-console] Show warning notification after Build and Restart action in case of failed compilation 2015-09-21 14:41:24 +03:00
Dmitry Kovanikov
43f3c9d603 [ide-console] Disable setting of moduleInfo to console editor JetFile 2015-09-21 14:41:23 +03:00
Dmitry Kovanikov
740f311af6 [test] Fix testOnRunPossibility 2015-09-21 14:41:22 +03:00
Dmitry Kovanikov
3152792860 [ide-console][bug-fixes] Disable process on closed dialog window
Fix history bugs (lost completion focus, occasional flush)
Faster incomplete icon change
Correct console window title
Other small gui decorations
2015-09-21 14:41:22 +03:00
Dmitry Kovanikov
b19010184a [ide-console] String constants small refactoring 2015-09-21 14:41:21 +03:00
Dmitry Kovanikov
27e015c406 [ide-console] Add 'Build and restart' button on console toolbar; 'build and restart' warning notification for outdated classes with action link 2015-09-21 14:41:20 +03:00
Dmitry Kovanikov
5548647fd3 [ide-console] Choose module popup dialog 2015-09-21 14:41:20 +03:00
Dmitry Kovanikov
a17363459a [cli-repl][ide-console] Show runtime errors in IDE console 2015-09-21 14:41:19 +03:00
Dmitry Kovanikov
e23441907c [cli-repl][ide-console] Correct escaping 2015-09-21 14:41:19 +03:00
Dmitry Kovanikov
e4ffe8b145 [ide-console] Load repl with module and its dependencies classpath 2015-09-21 14:41:18 +03:00
Dmitry Kovanikov
cb5ff094bf [ide-console] Highlight repl process output
Add icons on gutter
Send messages to process in xml
2015-09-21 14:41:17 +03:00
Dmitry Kovanikov
cb1756f5fa [cli-repl] Error render and XML-interop with IDE console 2015-09-21 14:41:17 +03:00
Dmitry Kovanikov
a11f411f7d Add kotlin console repl 2015-09-21 14:41:16 +03:00
Dmitry Petrov
80cbee83ee JvmName should have @Retention(AnnotationRetention.BINARY)
(TODO: fix JVM BE)
2015-09-21 14:24:09 +03:00
Dmitry Petrov
da026f1480 Report errors for annotations with BINARY or RUNTIME retention on file classes. 2015-09-21 12:11:53 +03:00
Dmitry Petrov
eba9f0f0ad Change JvmName retention to SOURCE 2015-09-21 12:10:46 +03:00
Dmitry Petrov
7f4ae52517 Generate annotations for single-file classes. 2015-09-21 12:10:40 +03:00
Ilya Gorbunov
b179b861a6 Drop old array constructor function names from compile time constant recognizable expressions. 2015-09-19 05:05:04 +03:00
Ilya Gorbunov
ab88d49567 Drop deprecated stuff 2015-09-19 05:04:53 +03:00
Ilya Gorbunov
439d1026bf Fix deprecations in js and java tests. 2015-09-19 05:04:41 +03:00
Ilya Gorbunov
7f7cc02256 Fix deprecations in testData: partial body resolve tests. 2015-09-19 05:04:28 +03:00
Ilya Gorbunov
0e3e33e5c1 Fix deprecations in testData: js semantics. 2015-09-19 05:04:05 +03:00
Ilya Gorbunov
92e66b0d81 Fix deprecations in testData: smart completion and find usages 2015-09-19 04:33:31 +03:00
Ilya Gorbunov
9c974b6c5c Fix deprecations in testData: BlackBoxWithStdLibCodegenTest 2015-09-19 04:33:20 +03:00
Ilya Gorbunov
74e1dbff76 Fix deprecations in testData: stepping and evaluate expression tests. 2015-09-19 04:33:08 +03:00
Ilya Gorbunov
e40a5457e3 Fix deprecations in testData: arrayOf usages. 2015-09-19 04:32:56 +03:00
Michael Nedzelsky
ae7cc8e430 tests for comparison of changes in classes 2015-09-19 00:14:07 +03:00
Michael Nedzelsky
df283c8f02 add protoDifferenceUtils and implementation for calculation difference between proto data for classes. 2015-09-19 00:14:04 +03:00
Michael Nedzelsky
4a67cde283 HashSetUtil: add symmetricDifference 2015-09-19 00:14:01 +03:00
Michael Nedzelsky
4c9ec56bc8 GenerateProtoBufCompare: optimization and generate difference and hashCode methods 2015-09-19 00:13:58 +03:00
Michael Nedzelsky
a8e1c1f7d3 move Interner.java to deserialization module 2015-09-19 00:13:55 +03:00
Michael Nedzelsky
be875d797f descriptors.proto: add skip_in_comparison option for (prepared to retire) constructor field in Class message 2015-09-19 00:13:51 +03:00
Michael Nedzelsky
20bae99166 GenerateProtoBufCompare: do not generate unnecessary empty lines 2015-09-19 00:13:48 +03:00
Ilya Gorbunov
4d8977ea32 Provide required imports for deprecation replacement of Delegates.mapVal and mapVar. 2015-09-18 22:00:03 +03:00
Stanislav Erokhin
68389d34e4 Optimized task creation for local functions and variables 2015-09-18 21:01:22 +03:00
Stanislav Erokhin
d3df04036e Minor. Removed parameter bindingTrace from CallableDescriptorCollector 2015-09-18 21:01:22 +03:00
Stanislav Erokhin
0d12499039 Minor. Changed JetScope to LexicalScope in TaskPrioritizerContext 2015-09-18 21:01:21 +03:00
Stanislav Erokhin
8a0f175135 Minor. Suppressed test for KT-9204. 2015-09-18 21:00:23 +03:00
Stanislav Erokhin
40c7c14aa7 Minor. Use util function getResolutionScope() 2015-09-18 21:00:23 +03:00
Stanislav Erokhin
2373cc3ede Minor. Small refactoring in QualifiedExpressionResolver 2015-09-18 21:00:22 +03:00
Stanislav Erokhin
b51edf9004 Fixed completion for package, import directive and user type. 2015-09-18 21:00:22 +03:00
Stanislav Erokhin
81934b75c2 Suppressed inserting of package import from ImportInsertHelperImpl 2015-09-18 21:00:22 +03:00
Stanislav Erokhin
1614de86d2 Support package directive for types 2015-09-18 21:00:21 +03:00
Stanislav Erokhin
ea991de21a Minor. Renamed NewQualifiedExpressionResolver to QualifiedExpressionResolver 2015-09-18 21:00:21 +03:00
Stanislav Erokhin
b1b556c0c9 Removed unused old QualifiedExpressionResolver 2015-09-18 21:00:20 +03:00
Stanislav Erokhin
69cb3f818d Use NewQualifiedExpressionResolver for resolve types 2015-09-18 21:00:20 +03:00
Stanislav Erokhin
8efbf4fc32 Fixed testdata -- removed package import 2015-09-18 21:00:20 +03:00
Stanislav Erokhin
387d16d1d5 Regenerate RangesCodegenTest 2015-09-18 21:00:19 +03:00
Stanislav Erokhin
3f2e2deea1 Minor. Improver import resolve, when some error happened 2015-09-18 21:00:19 +03:00
Stanislav Erokhin
e3d088755a Moved package directive resolve to NewQualifiedExpressionResolver 2015-09-18 21:00:18 +03:00
Stanislav Erokhin
f8a018ae27 Introduced NewQualifiedExpressionResolver 2015-09-18 21:00:18 +03:00
Stanislav Erokhin
9b0182eb71 Fixed method getParent() for JetExpressionImplStub 2015-09-18 21:00:17 +03:00
Stanislav Erokhin
2af5b24db2 Fix maven build compilation 2015-09-18 21:00:17 +03:00
Stanislav Erokhin
286d39b866 Import names from singleton but show CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON error 2015-09-18 21:00:17 +03:00
Stanislav Erokhin
5786e620e8 Minor. remove import package usages from sources 2015-09-18 21:00:16 +03:00
Stanislav Erokhin
9dee696847 Minor. remove import package usage from jdiEval.kt, jdiValues.kt and jdiTest.kt 2015-09-18 21:00:16 +03:00
Stanislav Erokhin
fb14979051 Created object java.util.Collections as workaround for js-stdlib. 2015-09-18 21:00:15 +03:00
Stanislav Erokhin
377f752837 Minor. Moved deserialized util functions from top-level to object 2015-09-18 21:00:15 +03:00
Dmitry Jemerov
bcb88d78dd remove unnecessary injection of ConfigurableEP (causes problems in Android Studio) 2015-09-18 19:57:19 +02:00
Yan Zhulanow
c458e33cd1 Fix .java files compilation in android-compiler-plugin 2015-09-18 20:47:16 +03:00
Zalim Bashorov
27a196b25b Track lookups for conventions 2015-09-18 18:31:19 +03:00
Zalim Bashorov
f7e2c127b7 Switch to use FakeCallResolver in DelegatedPropertyResolver 2015-09-18 18:31:18 +03:00
Zalim Bashorov
760571c2a3 Minor: fix warnings in JetObjectDeclaration.kt 2015-09-18 18:31:18 +03:00
Zalim Bashorov
c82e8f45ea Minor: make JetClass::createPrimaryConstructorIfAbsent & JetClass::createPrimaryConstructorParameterListIfAbsent extension function and move to idea module 2015-09-18 18:31:16 +03:00
Valentin Kipyatkov
08a267adaa Removed attempt to import kotlin.jvm.JvmStatic which is not needed anyway 2015-09-18 15:44:19 +03:00
Valentin Kipyatkov
0cc2158ec1 J2K: do not produce redundant "internal" words for members in an internal class 2015-09-18 15:44:19 +03:00
Valentin Kipyatkov
367b32c309 Adapted IDE to no explicit return type required for public declarations 2015-09-18 15:44:19 +03:00
Valentin Kipyatkov
1708ac8da3 Reused code 2015-09-18 15:44:19 +03:00
Valentin Kipyatkov
de3eeb3a4f More correct + reused code 2015-09-18 15:44:19 +03:00
Valentin Kipyatkov
7caccd7578 J2K: all annotations should be with "@" 2015-09-18 15:44:18 +03:00
Valentin Kipyatkov
cc4aa6ed21 J2K: preserving of visibility modifier for override members when access level was higher 2015-09-18 15:44:18 +03:00
Valentin Kipyatkov
6f12db9cde J2K: no explicit type required for public declarations 2015-09-18 15:44:18 +03:00
Valentin Kipyatkov
c3ddd5d32b J2K: adapted for default visibility modifier 'public' 2015-09-18 15:44:18 +03:00
Valentin Kipyatkov
1ccbda6af4 Do not insert explicit visibility modifier if it's default 2015-09-18 15:44:17 +03:00
Valentin Kipyatkov
8ba7f2c238 KT-9128 ReplaceWith incorrectly converts javaClass<X>() to X::class.java for type with arguments
#KT-9128 Fixed
2015-09-18 15:44:17 +03:00
Valentin Kipyatkov
f2b67966ce EA-72489
#EA-72489 Fixed
2015-09-18 15:44:17 +03:00
Valentin Kipyatkov
2f09b38504 Additional diagnostic for EA-72697 2015-09-18 15:44:17 +03:00
Valentin Kipyatkov
e1f242c346 Fixed EA-72699
#EA-72699 Fixed
2015-09-18 15:44:17 +03:00
Valentin Kipyatkov
1ee79c1b3e Added RemoveExplicitSuperQualifier inspection to code cleanup 2015-09-18 15:44:16 +03:00
Valentin Kipyatkov
fb72786392 No ReplaceWith for locals 2015-09-18 15:44:16 +03:00
Valentin Kipyatkov
452cd49c5e Disallowed @Deprecated for local variables and parameters 2015-09-18 15:44:16 +03:00
Valentin Kipyatkov
5d09edb3e6 Adapted code cleanup feature implementation to the recent changes in IDEA 2015-09-18 15:44:16 +03:00
Dmitry Jemerov
93f2e4b22c set parameter nullability according to how the method is actually called (EA-73047 - IAE: KotlinQuickDocumentationProvider.getQuickNavigateInfo) 2015-09-18 14:02:49 +02:00
Dmitry Jemerov
5f6ac10cb7 another missing read action (EA-72578 - assert: SharedImplUtil.getParent) 2015-09-18 14:02:48 +02:00
Dmitry Jemerov
a7df8863f7 don't try to insert parentheses if live template has been cancelled (EA-61976 - assert: DocumentImpl.insertString); don't store Editor instances in a static map to avoid memory leaks 2015-09-18 14:00:08 +02:00
Dmitry Jemerov
33d70b1a57 MakeOveriddenMembersOpen: J2K, cleanup, de-i18n 2015-09-18 13:56:50 +02:00
Dmitry Jemerov
1fee5c23e0 MakeOverriddenMemberOpen: rename to .kt 2015-09-18 13:56:48 +02:00
Denis Zharkov
9dada595b6 Replace deprecated annotations with modifiers in testData 2015-09-18 10:14:41 +03:00
Denis Zharkov
4850fd10f0 Regenerate test data containing rendered descriptors
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Denis Zharkov
7ea7e3cc7c Render '@' before each annotation 2015-09-18 10:14:38 +03:00
Denis Zharkov
f518348565 Revert "Support decapitilized obsolete annotations in resolve"
This reverts commit 4159c83282.
2015-09-18 10:14:37 +03:00
Denis Zharkov
53bccec50d Capitalize copies of JVM annotations for js stdlib 2015-09-18 10:14:35 +03:00
Denis Zharkov
e401a98a2b Replace native with @native in js testData 2015-09-18 10:14:34 +03:00
Denis Zharkov
9adde77c47 Replace inlineOption(ONLY_LOCAL_RETURN) with crossinline in testData 2015-09-18 10:14:33 +03:00
Denis Zharkov
bae3320d52 Get rid of deprecated annotations in testData 2015-09-18 10:14:32 +03:00
Denis Zharkov
eebe66e041 Minor. Fix test with obsolete enum syntax 2015-09-18 10:14:31 +03:00
Denis Zharkov
05eaf37123 Get rid of deprecated annotations and modifiers in js-stdlib 2015-09-18 10:14:30 +03:00
Denis Zharkov
5cecaa6f87 Get rid of deprecated annotations and modifiers in stdlib (besides JS) 2015-09-18 10:14:28 +03:00
Denis Zharkov
9c4564a5a6 Get rid of deprecated annotations and modifiers in project code 2015-09-18 09:34:27 +03:00
Denis Zharkov
02aafe4262 Report syntax error on unescaped annotation
Also adjust parser testData
2015-09-18 09:34:26 +03:00
Denis Zharkov
3adeb966b5 Minor. Drop dead branch in parser 2015-09-18 09:34:26 +03:00
Denis Zharkov
daa2c8372d Do not parse '@' as a part of modifier 2015-09-18 09:34:25 +03:00
Denis Zharkov
23ddf42981 Use JvmStatic in reflection instead of decapitalized 2015-09-18 09:34:25 +03:00
Denis Zharkov
38bafaa35c Drop annotations deprecation related things: diagnostics, quickfixes 2015-09-18 09:34:25 +03:00
Alexander Udalov
787d392df0 Update .idea/encodings.xml due to latest changes in IDEA EAP 2015-09-17 21:15:22 +03:00
Alexander Udalov
57c81e9cbe Disallow arrays as upper bounds of type parameters
#KT-9189 Fixed
2015-09-17 21:15:20 +03:00
Ilya Gorbunov
e95be9096e Revert unification of operations on Array<T> and Array<out T> (copyOf, copyOfRange) which return the same type as the receiver.
Leave sortedArray, reversedArray and sliceArray only for covariant projection of array as the receiver.
2015-09-17 21:15:11 +03:00
Valentin Kipyatkov
c12f44fa22 Use TypeResolver instead of analyzing artificial type cast expression 2015-09-17 18:54:12 +03:00
Zalim Bashorov
63947904b5 Minor: don't crash when action event doesn't contain project CreateIncrementalCompilationBackup
#EA-68453 Fixed
2015-09-17 15:45:16 +03:00
Zalim Bashorov
1b00eb3a17 Minor: report error instead of crash with exceptions when collect JetFiles to compile and remove obsolete (wrong now) code
#EA-61681 Obsolete
2015-09-17 15:45:16 +03:00
Ilya Gorbunov
909cbc6817 Eliminate deprecated language constructions from the generated code. 2015-09-17 02:41:01 +03:00
Alexey Sedunov
0a32e5a96d Extraction Engine: Support references to synthetic properties 2015-09-17 01:33:25 +03:00
Alexey Sedunov
0fbcf0b958 Extraction Engine: Report conflict on all diagnostics from UNRESOLVED_REFERENCE group
#KT-9117 Fixed
2015-09-17 01:33:23 +03:00
Alexey Sedunov
767897dccf Extraction Engine: Replace receiver occurrences with 'this' when necessary 2015-09-17 01:33:22 +03:00
Alexey Sedunov
b80720209e Extraction Engine: Skip containers enclosing object declaration (aside of other object declarations and containing file) 2015-09-17 01:33:21 +03:00
Alexey Sedunov
34b279a7a8 Extraction Engine: Do not add variance to type parameters in generated declaration 2015-09-17 01:33:19 +03:00
Alexey Sedunov
4f7b978bbc Pull Up: Disable "Refactor" button if no members are selected 2015-09-17 01:33:18 +03:00
Alexey Sedunov
ac35f747d1 Pull Up: Fix UI for J2K case 2015-09-17 01:33:16 +03:00
Mikhail Glukhikh
7dbd5b75cc Expected return type is in use now during function literal analysis #KT-9134 Fixed 2015-09-16 17:12:41 +03:00
Mikhail Glukhikh
65b77558a1 Data flow value converted to Kotlin 2015-09-16 16:56:45 +03:00
Mikhail Glukhikh
71f09a89d4 Preliminary loop visitor converted to Kotlin 2015-09-16 15:55:44 +03:00
Mikhail Glukhikh
15e46ebc2b Refactoring: DataFlowValue.Kind introduced 2015-09-16 15:38:32 +03:00
Mikhail Glukhikh
8348f204cd Refactoring: base class extracted from PreliminaryLoopVisitor 2015-09-16 15:04:58 +03:00
Mikhail Glukhikh
aa3a7c2838 Data flow info for arguments: nullability refactoring 2015-09-16 15:04:56 +03:00
Mikhail Glukhikh
1667f18d7c Receiver of a safe call is not null inside the call also for extension functions + a pair of tests #KT-9033 Fixed 2015-09-16 15:04:41 +03:00
Mikhail Glukhikh
22229af930 Annotation / modifier checking for setter parameters / for variables / multi declarations, tests, relevant test changes #KT-9145 Fixed 2015-09-16 09:51:37 +03:00
Mikhail Glukhikh
f1fcb14f44 Suppress warning intention fix: now multi declaration is not a possible intention target but its initializer is, relevant test fixes 2015-09-16 09:51:31 +03:00
Alexander Udalov
9feb82c268 Do not decompile old incompatible package parts
Fix the test by reverting 282727b
2015-09-16 03:27:11 +03:00
Alexander Udalov
2b269b2652 Improve ABI version error reporting in the compiler
- only report ABI errors if there's at least one other error
- append additional helpful information to the "unresolved reference" error
2015-09-16 01:44:27 +03:00
Alexander Udalov
d98b3433eb Fix ABI version diagnostic for old package facades
Restore the test data that was erroneously replaced in 84649e4
2015-09-16 01:44:27 +03:00
Alexander Udalov
4bc257bd73 Minor refactoring in LazyJavaPackageScope 2015-09-16 01:44:27 +03:00
Alexander Udalov
8e83e1c17a Fix testIncompleteHierarchyInKotlin on Windows 2015-09-15 19:58:25 +03:00
Dmitry Jemerov
6f902823d5 Merge branch 'rr/yole/verify-ignore-perf' 2015-09-15 17:18:48 +02:00
Dmitry Jemerov
81d0b6c109 verify.groovy: ignore PERF output 2015-09-15 16:24:18 +02:00
Michael Nedzelsky
d5f9382d56 fix for EA-68992 (JS) IPBE: UninitializedMessageException.asInvalidProtocolBufferException. 2015-09-15 16:08:13 +03:00
Michael Nedzelsky
bd67a2a9ff Minor: get rid of warnings: KotlinJavaScriptLibraryManager, KotlinJavaScriptMetaFileSystem 2015-09-15 16:08:10 +03:00
Michael Nedzelsky
ff73388cf3 tests for EA-68992 (JS) IPBE: UninitializedMessageException.asInvalidProtocolBufferException. 2015-09-15 16:08:07 +03:00
Alexander Udalov
296212eab1 Merge two JetTypeMapper#mapToCallableMethod methods 2015-09-15 15:55:20 +03:00
Alexander Udalov
7c0780455a Remove unused parameter of JetTypeMapper#mapOwner, simplify lots of code 2015-09-15 15:55:20 +03:00
Alexander Udalov
90cef6553c Delete all references to removed package 'kotlin.modules' 2015-09-15 15:55:19 +03:00
Alexander Udalov
c7c9ec35cf Improve LoadBuiltinsTest, load built-ins from dist/kotlin-runtime.jar 2015-09-15 15:55:19 +03:00
Dmitry Jemerov
35d9880266 don't initialize Kotlin caches if there is no Kotlin code to compile 2015-09-15 14:21:01 +02:00
Alexander Udalov
296512ffc4 Minor, remove useless code and fix warnings 2015-09-15 13:11:17 +03:00
Alexander Udalov
949144e0c0 Report incomplete hierarchy error for deserialized types
#KT-5129 Fixed

Delete a JPS test that was specifically testing that we would not fail in this
situation; now there's a compilation error
2015-09-15 13:11:17 +03:00
Alexander Udalov
b1d9e5c961 Minor, improve exception message for reflection on built-ins 2015-09-15 13:11:16 +03:00
Alexander Udalov
b4470de713 Improve inline diagnostics, report "nothing to inline" on the modifier 2015-09-15 13:11:16 +03:00
Alexander Udalov
a946f787bc Fix exception from data class codegen for light classes
EA-66827
2015-09-15 13:11:16 +03:00
Dmitry Petrov
47b8853051 Generate light classes for single-file facades using PackageCodegen. 2015-09-15 10:25:40 +03:00
Dmitry Jemerov
d499103468 fix JetSafeDeleteTest 2015-09-14 21:46:23 +02:00
Dmitry Petrov
b63eed44fe Advance ABI version (due to stdlib binary layout changes) 2015-09-14 21:58:01 +03:00
Dmitry Petrov
ef6da03db2 Do not generate facade for single-file light classes 2015-09-14 21:26:33 +03:00
Pavel V. Talanov
d6a9551392 Do not generate parts of multifile facade when building light classes
Building facade class is enough for this purpose
2015-09-14 19:40:11 +03:00
Pavel V. Talanov
54bcbc7a02 Introduce ClsJavaStubByVirtualFileCache
Avoid caching in user data of virtual file because it leads to project leaking
2015-09-14 19:40:10 +03:00
Alexey Sedunov
708f7fc51f Change Signature: Fix processing of top-level declarations usages in Java (old/new package facades are supported) 2015-09-14 18:05:06 +02:00
Dmitry Jemerov
9e6c0e7ee2 code review 2015-09-14 18:05:00 +02:00
Dmitry Jemerov
3cf6395750 move supports new facades 2015-09-14 18:04:58 +02:00
Dmitry Jemerov
d67fb670b7 safe delete supports new facades 2015-09-14 18:04:58 +02:00
Dmitry Jemerov
c81f1d314c call hierarchy supports new facades 2015-09-14 18:03:57 +02:00
Dmitry Jemerov
35de13a6b2 update Java references to file class when a file is renamed 2015-09-14 18:03:55 +02:00
Dmitry Jemerov
ab58dc3586 allow returning multiple PsiMethod wrappers for a JetFunction or JetPropertyAccessor; use that for handling Java usages through old-style and new-style facades
#KT-9102 Fixed
2015-09-14 18:03:55 +02:00
Dmitry Jemerov
4d09280aa8 LightClassUtil: J2K 2015-09-14 18:03:54 +02:00
Dmitry Jemerov
043c961b57 LightClassUtil: rename to .kt 2015-09-14 18:03:53 +02:00
Dmitry Petrov
f4e9d9a7a0 Fix navigation to decompiled multifile class members. 2015-09-14 17:59:17 +03:00
Dmitry Petrov
50ff2a3ad2 Multifile facade should contain reflection data,
otherwise callable references to stdlib functions will not work in the migration scheme.
2015-09-14 17:47:49 +03:00
Dmitry Petrov
5d0243d46f Fix incremental compilation tests 2015-09-14 17:47:49 +03:00
Valentin Kipyatkov
08e7a9d826 Made methods generated from declarations marked with @HiddenDeclaration synthetic in JVM 2015-09-14 17:42:40 +03:00
Valentin Kipyatkov
aec661aeff Fixed assertion in j2k on updating external usages 2015-09-14 17:26:52 +03:00
Mikhail Glukhikh
67f714434f Error message on JVM repeated annotation changed 2015-09-14 16:20:07 +03:00
Alexander Udalov
dcd7464ae1 Fix NPE from REPL initialization 2015-09-14 13:23:17 +03:00
Mikhail Glukhikh
b4399b8b8b AnnotationTarget.CLASSIFIER and KotlinTarget.CLASSIFIER both dropped (second step) 2015-09-14 12:51:11 +03:00
Dmitry Petrov
1586a2df8e Make stdlib work with -Xmultifile-package-facades.
Fixed wrong owner mapping in presence of -Xmultifile-package-facades.
Fixed backing field mapping issue.
Added more tests.
2015-09-14 11:26:29 +03:00
Dmitry Petrov
838433ba8a - call multifile class members (compiling against binaries)
- inline multifile class members
HACK? scope-based part/facade resolution
2015-09-14 11:25:42 +03:00
Dmitry Petrov
50f83da6da - call multifile class members (compiling against binaries)
- inline multifile class members
2015-09-14 11:25:42 +03:00
Dmitry Petrov
5f9a59d655 - bytecodeTextMultifile - framework for bytecode text tests
with multiple Kotlin source files
- bytecodeTextMultifile/partMembersCall, initial import
2015-09-14 11:25:42 +03:00
Dmitry Petrov
2931e474e1 - InnerClasses & EnclosingMethod attributes for local classes
in multifile part members
- invocation of multifile part/facade members
(TODO: deserialized descriptor case)
- inlining of multifile part/facade members
(TODO: inline against binaries case)
2015-09-14 11:25:41 +03:00
Stanislav Erokhin
6a3cd50a70 Fix compilation -- migrate to new markdown. 2015-09-13 04:09:06 +03:00
Nikolay Krasko
ae6731698c Fix test data - Strictfp is not applicable 2015-09-12 21:12:32 +03:00
Nikolay Krasko
d57e90f1ec Add import and fix compilation 2015-09-12 18:13:25 +03:00
Nikolay Krasko
b7a96392dd Revert non-lock value according to comment 2015-09-12 15:16:16 +03:00
Nikolay Krasko
e66c92f3e2 Create helper Java RenameProcessor with Kotlin processor 2015-09-12 15:16:15 +03:00
Nikolay Krasko
3d3f64cc7b Use non-blocking lazy values in completion 2015-09-12 15:16:13 +03:00
Nikolay Krasko
eea8fcdae6 Remove syncronious lazy as all usages are from one thread 2015-09-12 15:16:12 +03:00
Nikolay Krasko
3ad6631df3 Remove lazy value as all usages evaluate it right after creation 2015-09-12 15:16:11 +03:00
Nikolay Krasko
6faf3f1eba Fix deadlock in ReflectionAPICallChecker because of conflict in lazy() and storageManager 2015-09-12 15:16:10 +03:00
Nikolay Krasko
6338a9a65a Drop lazy values in PrimitiveType 2015-09-12 15:16:08 +03:00
Nikolay Krasko
e99b0e751f Minor: reformat 2015-09-12 15:16:07 +03:00
Rodrigo Quesada
69038ba6c0 KT-9003 FileNotFoundException when Kapt is unable to find corresponding annotations.txt
#KT-9003 Fixed
2015-09-11 22:41:58 +03:00
Yan Zhulanow
01b2d02196 Remove @get: @set:, reorder remaining annotation targets 2015-09-11 22:32:23 +03:00
Dmitry Jemerov
4e8d664dfb use new facade classes in run configurations
#KT-9092 Fixed
2015-09-11 20:46:59 +02:00
Mikhail Glukhikh
d4d633ea26 Combined identifier info for things like '(x + y).z' is no longer treated as 'z' identifier info + a pair of tests + code fix #KT-9126 Fixed 2015-09-11 21:06:09 +03:00
Alexander Udalov
085fc3bf87 Transform anonymous types even for public symbols
This became necessary when we removed the requirement to specify types for
public members, because otherwise everything fails not being able to locate the
anonymous class from another module

 #KT-9072 Fixed
 EA-72801
2015-09-11 19:51:42 +03:00
Alexander Udalov
6cecc66d10 Improve ABI version from one number to "major.minor.patch" 2015-09-11 19:28:46 +03:00
Dmitry Jemerov
299df05a74 one more missing read action in find usages (EA-72578 - assert: SharedImplUtil.getParent) 2015-09-11 17:02:05 +02:00
Mikhail Glukhikh
3770e7f49f Introduction of AnnotationTarget.CLASS as a replacement for CLASSIFIER (first step) 2015-09-11 17:59:40 +03:00
Ilya Chernikov
8b970cd186 Fixing run filename compatibility with windows, improving diagnostics, some minor tweaks 2015-09-11 15:30:17 +02:00
Dmitry Jemerov
0e067290af Merge pull request #751 from JetBrains/rr/yole/daemon-ui
UI to enable/disable compiler daemon
2015-09-11 15:08:43 +02:00
Dmitry Jemerov
9f1bd123f9 UI to enable/disable compiler daemon 2015-09-11 15:00:18 +02:00
Natalia Ukhorskaya
ee860fdde5 J2K: Insert class body for anonymous classes
#KT-8952 Fixed
2015-09-11 15:21:39 +03:00
Alexander Udalov
1394e646b7 Minor, fix deprecation message 2015-09-11 15:12:04 +03:00
Mikhail Glukhikh
d5f2bf5666 Design notes changed according to changed annotation option design 2015-09-11 14:58:28 +03:00
Denis Zharkov
aac1f68678 Use original element when resolving java descriptors in IDE 2015-09-11 13:33:51 +03:00
Denis Zharkov
9c69a64789 Do not try to resolve java elements outside of project roots
#EA-69067 Fixed
 #EA-64283 Fixed
2015-09-11 13:33:51 +03:00
Dmitry Jemerov
00d834cf73 revert deprecation that breaks tests 2015-09-11 12:26:20 +02:00
Dmitry Jemerov
8ca54f4dbb minor doc corrections 2015-09-11 11:43:55 +02:00
Natalia Ukhorskaya
137f8b242a Wrong stepping for if followied by captured variable
#KT-9118 Fixed
2015-09-11 11:27:53 +03:00
Natalia Ukhorskaya
dfe9bb65b0 Do not try to find source file in Debugger when Indexes are not ready
#EA-72812 - INRE: FileBasedIndexImpl.handleDumbMode
2015-09-11 11:27:52 +03:00
Yan Zhulanow
fbc769b0e9 Clear cache on fragment onDestroy() 2015-09-11 04:30:08 +03:00
Yan Zhulanow
5dc9557650 Fix cli test that uses android compiler plugin 2015-09-11 04:30:07 +03:00
Yan Zhulanow
fce1a0a8d7 Report more specific warning on a wrong fq Android widget type 2015-09-11 04:30:07 +03:00
Yan Zhulanow
f3462513e2 Optimize AndroidPsiTreeChangePreprocessor counter updating 2015-09-11 04:30:06 +03:00
Yan Zhulanow
ddd4c2ae7f Report exceptions from Android Extensions (KT-7355) 2015-09-11 04:30:06 +03:00
Yan Zhulanow
0339bc55df Fix android synthetic properties compiler plugin tests 2015-09-11 04:30:05 +03:00
Yan Zhulanow
0f5d87957d Do not use JavaPsiFacade in android-compiler-plugin 2015-09-11 04:30:05 +03:00
Yan Zhulanow
d0d846ccfc Report if the widget has an invalid type 2015-09-11 04:30:04 +03:00
Yan Zhulanow
a2096ab0be Check supportv4 library presence on the spot 2015-09-11 04:30:04 +03:00
Yan Zhulanow
de59b79deb Remove default imports for synthetic XML files 2015-09-11 04:30:03 +03:00
Yan Zhulanow
e0bd532b7a Resolve Android widget class fq names properly (KT-8790) 2015-09-11 04:30:03 +03:00
Yan Zhulanow
8577f3e91b Bundle runtime with Android Extensions IDEA plugin 2015-09-11 04:30:03 +03:00
Yan Zhulanow
ad10340bd7 Android Extensions refactoring 2015-09-11 04:30:02 +03:00
Alexey Sedunov
2de4de4a1e Extract Function: Do not use flexible type as default: use one of its bounds instead
#KT-9099 Fixed
2015-09-11 02:20:55 +03:00
Alexey Sedunov
8a2e2e93e7 Pull Up: Apply type substitution to parameters propagated to the target class 2015-09-11 02:20:53 +03:00
Alexey Sedunov
49f0101b70 Pull Up: Approximate anonymous object type with its direct supertype 2015-09-11 02:20:52 +03:00
Alexey Sedunov
4d0cbf83d3 Quick Fixes: Avoid premature write action when calling Change Signature in
interactive mode
 #KT-8722 Fixed
2015-09-11 02:20:51 +03:00
Alexey Sedunov
89ae7d2036 Intentions: Fix test data after default visibility was changed to PUBLIC 2015-09-11 02:20:50 +03:00
Alexey Sedunov
9a00ead331 Change Signature: Do not render visibility of local functions
#KT-9095 Fixed
2015-09-11 02:20:48 +03:00
Alexey Sedunov
d5deb03292 Change Function Signature Fix: Do not render default values in overriding functions
#KT-8520 Fixed
2015-09-11 02:20:47 +03:00
Alexey Sedunov
794127a38b Change Signature: Add/remove constructor keyword on primary constructor when changing modifier list 2015-09-11 02:20:46 +03:00
Alexey Sedunov
aa1de706c1 Change Function Signature Fix: Prefer argument's smartcast (if any) over its original type
#KT-8775 Fixed
2015-09-11 02:20:44 +03:00
Alexey Sedunov
670bb1a27d J2K: AddFunctionParametersFix.java 2015-09-11 02:20:42 +03:00
Alexey Sedunov
3c48882c4f J2K: AddFunctionParametersFix.java (rename to .kt) 2015-09-11 02:20:41 +03:00
Alexey Sedunov
b76c47151c Change Signature: Skip PsiMethods without containing class
#KT-8536 Fixed
2015-09-11 02:20:40 +03:00
Alexey Sedunov
33c93eb4a9 Move Declarations: Add intention which moves top-level declaration to the separate file in the same directory and package
#KT-4936 Fixed
2015-09-11 02:20:38 +03:00
Alexey Sedunov
b4410c625f Change Signature: Recreate call expression when converting receiver to parameter
#KT-8878 Fixed
2015-09-11 02:20:37 +03:00
Alexey Sedunov
9e11a20006 Create from Usage: Drop "Create package" quick-fix
#KT-7138 Fixed
2015-09-11 02:20:35 +03:00
Natalia Ukhorskaya
cc1a756cab Fix debugger tests testData 2015-09-11 01:51:58 +03:00
Natalia Ukhorskaya
0d43ac3ec2 Fix compilation errors 2015-09-11 01:51:58 +03:00
Stanislav Erokhin
32dbae3774 Update to IDEA 142.4675.3 2015-09-11 01:51:57 +03:00
Ilya Chernikov
990c2dc5d7 Extending daemon diagnostics reporting in tests 2015-09-10 22:31:00 +02:00
Ilya Chernikov
cbaa981aab migrate to the new annotations syntax 2015-09-10 22:31:00 +02:00
Ilya Chernikov
473ff00940 adding java startup parameters for headless appearance of the daemon on mac, prepared a function for resetting alive flag in kotlin plugin startup component as a temporary solution to stop daemon from idea, fixing code that disable incremental compilation, that was broken on the last modification of KotlinBuildProcessParametersProvider 2015-09-10 22:30:59 +02:00
Ilya Chernikov
dc3c1beeb9 Fixes after review, adding basic options parsing tests 2015-09-10 22:30:58 +02:00
Ilya Chernikov
b1bdbaf06a Adding jps building test with daemon, removing obsolete daemon shutdown code 2015-09-10 22:30:58 +02:00
Ilya Chernikov
96558c52ff Refactorings, reformatting code, applying code style and other cleanup 2015-09-10 22:30:57 +02:00
Ilya Chernikov
d448602cb2 Making daemon to listen only loopback interface and to work without active ip interface 2015-09-10 22:30:57 +02:00
Ilya Chernikov
c4719175f9 Refactoring startup and shutdown, refactoring service implementation, implementing error and info reporting to compiler output, idle autoshutdown mechanisms, fixing TargetId serializability, some other refactoring
Fixing stream to log handler (by removing non-working optimization), fixing idle time calculation, reporting refactorings
2015-09-10 22:30:56 +02:00
Ilya Chernikov
406bfba473 Implementation of multiple daemon instances management 2015-09-10 22:30:55 +02:00
Ilya Chernikov
f6c6087fe3 Adding escaping to kotlin.daemon.jvm.options property processing to allow passing e.g. debugging agent params; adding kotlin.daemon.startup.timeout property to control startup timeout; more logging; some minor cleanup and fixes 2015-09-10 22:30:55 +02:00
Alexander Udalov
4dbfce605e Minor, improve exception message for non-deserialized types 2015-09-10 21:45:10 +03:00
Alexander Udalov
3e5c8d1b79 Fix NPE on empty JVM name
#KT-9113 Fixed
2015-09-10 21:44:18 +03:00
Alexander Udalov
fb31980c0b Fix EA-68149 which happened on editing Scala sources 2015-09-10 21:44:16 +03:00
Ilya Gorbunov
017db3d36c Correct reference to withDefault method in documentation. 2015-09-10 21:32:41 +03:00
Denis Zharkov
df97496a16 Deprecate 'kotlin.throws' in favor of 'kotlin.jvm.Throws' 2015-09-10 20:39:05 +03:00
Zalim Bashorov
7036b36a94 Minor: replace some usages of (old) package facade with new package parts 2015-09-10 18:49:11 +03:00
Dmitry Petrov
6850e9180e Effectively this is a return of "${facadeName}__${partName}" scheme.
Suggestions from @udalov:
- Make multifile class parts synthetic.
- Multifile class parts should have well-formed Java identifiers as names.
- Multifile class part names should contain facade name.
Add test with clashing part names.
Add test with local generic classes used in method signatures
(it works with parts names not being well-formed Java identifiers, though).

Capitalized annotations.
2015-09-10 18:03:34 +03:00
Mikhail Glukhikh
9b11b5300c Elvis DFA: now only left part is taken into account #KT-9100 Fixed
I had to fix a few incorrect tests using something like x!! in Elvis right part, and also one bug in our code
2015-09-10 17:50:57 +03:00
Michael Nedzelsky
9fd968d59e extend test for code cleanup with changing visibility from private to internal for declarations, which are used outside of their file. 2015-09-10 16:50:47 +03:00
Alexander Udalov
93dfaf72f7 Avoid dependency on HiddenDeclaration from compiler classpath 2015-09-10 15:43:24 +03:00
Alexander Udalov
a1a2adf523 Fix inheritance from protected members of interfaces
#KT-3029 Fixed
2015-09-10 15:42:58 +03:00
Natalia Ukhorskaya
bb17724f96 Gradle: workaround the problem that getVariantDataManager is internal 2015-09-10 15:23:46 +03:00
Natalia Ukhorskaya
b1dbc89a2a Gradle: add bintray to repository list 2015-09-10 15:23:45 +03:00
Michael Nedzelsky
1dfd877af2 add quick fix for ACCESS_TO_TOP_LEVEL_FROM_ANOTHER_FILE to code cleanup 2015-09-10 15:20:07 +03:00
Michael Bogdanov
908228a3cf Test for obsolete KT-8133
#KT-8133 Obsolete
2015-09-10 12:43:27 +03:00
Michael Bogdanov
a5f7df3ebf Fix for KT-9064
#KT-9064 Fixed
2015-09-10 11:08:02 +03:00
Denis Zharkov
e03e9bb1a3 Fix testBuiltins testData 2015-09-10 10:16:15 +03:00
Denis Zharkov
372e35436a Implement annotation related migrational quick fixes 2015-09-10 10:04:59 +03:00
Denis Zharkov
7b3303c152 Report special diagnostic on inlineUsage with LOCAL_CONTINUE_AND_BREAK
Such usages should be removed by quckfixes
2015-09-10 10:04:59 +03:00
Denis Zharkov
04483eb826 Report custom diagnostic instead of symbol deprecation
For annotations that should be replaced with modifiers
2015-09-10 10:04:59 +03:00
Alexander Udalov
c3cb6b62f4 Introduce SmartSet, an optimized Set implementation
Using it instead of LinkedHashSet for overridden descriptors optimizes memory
retained between analysis and codegen by ~5%
2015-09-10 01:18:22 +03:00
Stanislav Erokhin
57c006a1c6 Created Update-Dist-Run configuration 2015-09-09 22:02:10 +03:00
Pavel V. Talanov
40773ad04a KotlinClsStubBuilder: fix reading header for multifile facades 2015-09-09 22:00:26 +03:00
Pavel V. Talanov
6239620f98 Increase stub version 2015-09-09 21:22:41 +03:00
Pavel V. Talanov
eaeabb28b8 Use new index in JetShortNamesCache 2015-09-09 21:22:32 +03:00
Pavel V. Talanov
0257ea6fd8 Index file facades by short names 2015-09-09 21:22:24 +03:00
Pavel V. Talanov
3d0b737916 Minor: rename index 2015-09-09 21:22:16 +03:00
Pavel V. Talanov
f673852d98 Test completion of multifile facades in java 2015-09-09 21:22:07 +03:00
Pavel V. Talanov
01ca092f8b Cli light classes for file facades 2015-09-09 21:21:59 +03:00
Pavel V. Talanov
e9c1df0cb9 J2K CliLightClassGenerationSupport: prettify 2015-09-09 21:21:51 +03:00
Pavel V. Talanov
0c884f10ee J2K CliLightClassGenerationSupport: autoconvert 2015-09-09 21:21:42 +03:00
Pavel V. Talanov
8ded5e97ef J2K CliLightClassGenerationSupport: rename file 2015-09-09 21:21:34 +03:00
Pavel V. Talanov
d077b63fae Initial version of completing unimported file facades 2015-09-09 21:21:25 +03:00
Pavel V. Talanov
4106a0d736 Test for completing unimported file facade 2015-09-09 21:21:17 +03:00
Pavel V. Talanov
ead4f77f21 Make JetShortNamesCache human readible 2015-09-09 21:21:09 +03:00
Pavel V. Talanov
ee393955c4 Use correct codegen for creating light classes for file facade 2015-09-09 21:21:00 +03:00
Pavel V. Talanov
cda35f609a Build light classes for file facades 2015-09-09 21:20:52 +03:00
Pavel V. Talanov
a9b4587b82 Index facade files by package fq names 2015-09-09 21:20:44 +03:00
Pavel V. Talanov
daaefcc7fd Test completion of single file facades in java 2015-09-09 21:20:35 +03:00
Pavel V. Talanov
8cb7ea29fe Test for exception filter with renamed facade 2015-09-09 21:20:26 +03:00
Pavel V. Talanov
26d0d8dbf1 Move jvm specific indexing of files to 'idea-analysis' module
Index facadeFqNames for kotlin source files
2015-09-09 21:20:18 +03:00
Pavel V. Talanov
25f31582c9 Make StubIndexService responsible for serializing and deserializing file stubs 2015-09-09 21:20:09 +03:00
Pavel V. Talanov
52cb404920 Minor: StubIndexServiceImpl -> IdeStubIndexService 2015-09-09 21:20:01 +03:00
Pavel V. Talanov
9720c1d983 Make StubIndexService responsible for creating file stubs
Also convert to kotlin and make an abstract class
2015-09-09 21:19:53 +03:00
Pavel V. Talanov
5181a01a40 Minor: rename forPackageStub -> forFile 2015-09-09 21:19:44 +03:00
Dmitry Petrov
0839d78797 Fix CodegenFileClassesProvider problems related to wrong/incomplete code in IDE 2015-09-09 19:08:19 +03:00
Dmitry Petrov
bf1c0260f1 Multifile class part names are "1${PartName}".
Multifile class parts are final.
2015-09-09 19:08:19 +03:00
Dmitry Petrov
025be4f541 No more CodegenContext.STATIC 2015-09-09 19:08:19 +03:00
Dmitry Petrov
cd341e957e Cleanup after review
+ stub builder test for multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov
8162272106 Cleanup
- do not use annotation resolve in CodegenFileClassProvider
- test using private methods across different parts of multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov
5e38c99f81 Name clash test for file class vs multifile class 2015-09-09 19:08:19 +03:00
Dmitry Petrov
0c951b2ed3 Decompilation support
- class header reader for KotlinMultifileClass, KotlinMultifileClassPart
- proper implClassName for multifile class members
2015-09-09 19:08:18 +03:00
Dmitry Petrov
e88584742e basic multifile class codegen tests 2015-09-09 19:08:18 +03:00
Dmitry Petrov
b3421479f1 cleanup 2015-09-09 19:08:18 +03:00
Dmitry Petrov
07bedc0378 fix CLI help test 2015-09-09 19:08:18 +03:00
Dmitry Petrov
879d7b1b24 workaround for NPE in proguard 2015-09-09 19:08:18 +03:00
Dmitry Petrov
a00346a141 MultifileClassCodegen
- initial implementation
- new Kotlin file kinds + stub builder
2015-09-09 19:08:17 +03:00
Nikolay Krasko
9ab658b8d5 Use private val to avoid name clashing (fix after review) 2015-09-09 18:09:39 +03:00
Ilya Gorbunov
5a0cd4f6fb Clarify documentation for asReversed. 2015-09-09 17:56:34 +03:00
Nikolay Krasko
f348f56a0b Pre-count and store fqname to avoid read-action requiment in equals and hashCode (EA-72806) 2015-09-09 17:50:04 +03:00
Dmitry Jemerov
736a60cc18 processor passed to searchReferences() can be invoked from multiple threads, so we need synchronization around the results array (EA-72834) 2015-09-09 16:26:47 +02:00
Natalia Ukhorskaya
0096f2668c Fix step over if there isn't any inlined arguments 2015-09-09 15:21:25 +03:00
Mikhail Glukhikh
aabf579454 java.lang.annotation.Documented is now special meta annotation + a few unused fields dropped 2015-09-09 14:58:44 +03:00
Nikolay Krasko
0b6c484c6d Disable notification about outdated ABI in Kotlin project 2015-09-09 13:33:32 +03:00
Michael Bogdanov
0f6bf80c0a Fix kotlin module name for gradle plugin 2015-09-09 13:32:40 +03:00
Michael Bogdanov
4d871ef2c6 Added tests for moduleName to maven plugin 2015-09-09 13:32:40 +03:00
Michael Bogdanov
a52281f52a Support default module name for withKotlin ant task 2015-09-09 13:32:39 +03:00
Denis Zharkov
7c16fb8a89 Fix StringIndexOutOfBoundsException
#EA-72837 Fixed
2015-09-09 12:51:19 +03:00
Denis Zharkov
c449c0d080 Deprecate inlineOption in favor of crossinline modifier 2015-09-09 12:35:19 +03:00
Pavel V. Talanov
9b8540543f Fix generation of light classes for package facade from binaries
Refactor code a bit
2015-09-08 21:27:41 +03:00
Pavel V. Talanov
234b52b24e J2K IDELightClassGenerationSupport: fix code and some prettifications 2015-09-08 21:27:40 +03:00
Pavel V. Talanov
d1d18618b5 J2K IDELightClassGenerationSupport: autoconvert 2015-09-08 21:27:40 +03:00
Pavel V. Talanov
c37b15d629 J2K IDELightClassGenerationSupport: rename file 2015-09-08 21:27:39 +03:00
Stanislav Erokhin
5fb6a15c81 Minor. fix testdata 2015-09-08 20:51:32 +03:00
Alexander Udalov
4dc29bf0b2 Introduce 'kotlin' script for running programs
'kotlin' is to 'kotlinc' what 'java' is to 'javac'. However it will support
much more: running class by name, jar, scripts, expressions, REPL
2015-09-08 20:30:50 +03:00
Alexander Udalov
3c4b2994a9 Fix protected call to super method from lambda
Previously JVM back-end had an assumption that if we're calling a method
declared in the super class from a lambda via a synthetic accessor, that should
be a super call and it must be done with 'invokespecial'. Which is wrong
because a method declared in the super class may be open and overridden in the
subclass, so 'invokevirtual' should be used. Surprisingly, Java SE verifier
allowed both instructions, but on Android only the latter is possible

 #KT-8899 Fixed
 #KT-9052 Fixed
2015-09-08 20:28:35 +03:00
Alexander Udalov
1ccd0f9fc2 Add GenerationState to CodegenContext 2015-09-08 20:28:34 +03:00
Alexander Udalov
67d683bc59 Minor, use ResolvedCall#getSuperCallExpression in codegen 2015-09-08 20:28:34 +03:00
Alexander Udalov
8a5e83b947 Refactor CodegenContext#accessibleDescriptorIfNeeded 2015-09-08 20:28:33 +03:00
Denis Zharkov
dbaf01feed Minor. Add '@' symbol in testData where necessary (fix Java 8 build) 2015-09-08 19:03:49 +03:00
Michael Nedzelsky
ea11133142 strict checking for internal visibility 2015-09-08 19:00:45 +03:00
Dmitry Jemerov
ae36981a0f trim leading and trailing spaces from text returned as KDocTag.getContent() 2015-09-08 16:57:00 +02:00
Denis Zharkov
297e9484ba Deprecate decapitalized annotations 2015-09-08 17:50:41 +03:00
Mikhail Glukhikh
1dee922861 kotlin.annotation.Target / Retention have now more priority than same java classes if import java.lang.annotation.* is available 2015-09-08 17:18:31 +03:00
Mikhail Glukhikh
0257f46ebb Special modifier parsing for enum entries: last of them is considered as an enum entry name #KT-9088 Fixed 2015-09-08 17:18:28 +03:00
Ilya Gorbunov
52f3e9ca06 Accept in-projection of Comparator as a parameter when possible. 2015-09-08 17:11:12 +03:00
Dmitry Petrov
37d5a16a3d Incremental compilation test for @file:JvmName 2015-09-08 13:02:57 +03:00
Dmitry Petrov
c18f87f0c7 Cleanup after review 2015-09-08 13:02:56 +03:00
Dmitry Petrov
bc5e29df9f update tests: jvmName --> JvmName 2015-09-08 13:02:56 +03:00
Dmitry Petrov
2519641b2b JvmName annotation support, single-file facade case (just rename file facade class)
- initial implementation of JvmFileClassesProvider
- migrate some of PackagePartClassUtil usages to JvmFileClassesProvider (mostly in Codegen)
- placeholder ("no resolve") implementation for migration period and unclear cases
- tests
2015-09-08 13:02:56 +03:00
Michael Bogdanov
43e91d4d31 Fix npe with ant project 2015-09-08 12:52:57 +03:00
Denis Zharkov
676ca86ea4 Deprecate escaped modifiers and unescaped annotations 2015-09-08 12:11:30 +03:00
Michael Bogdanov
25cd9de71a Support default module name in ant task 2015-09-08 11:34:40 +03:00
Michael Bogdanov
912111d237 Fix for KT-8948: CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'foo' into
#KT-8948 Fixed
2015-09-08 11:34:40 +03:00
Mikhail Glukhikh
24252b64d0 Test and fix for NPE in CFA #KT-9078 Fixed #EA-71535 Fixed 2015-09-08 11:31:15 +03:00
Dmitry Jemerov
f708871254 use correct scope for ReferencesSearch used for 'find usages' (KT-8904) 2015-09-08 10:10:49 +02:00
Natalia Ukhorskaya
dc7d30c6dc Implement hasBlockBodyCorrectly for constructors
#EA-72355 - TCE: EvaluatePackage$extractFunctionForDebuggerUtil$e.addDebugExpressionBeforeContextElement
2015-09-08 11:00:53 +03:00
Natalia Ukhorskaya
b86e251990 JDIEval: do not throw an exception in case of throw Exception() 2015-09-08 11:00:52 +03:00
Natalia Ukhorskaya
9d7695c337 JDIEval: set vmexec instead of home argument when launching tests 2015-09-08 11:00:51 +03:00
Natalia Ukhorskaya
cee3cf53d9 JDIEval: coerce byte to int correctly 2015-09-08 11:00:51 +03:00
Natalia Ukhorskaya
519c2784ff Debugger: allow evaluate expression in constructors 2015-09-08 11:00:50 +03:00
Natalia Ukhorskaya
e423e99253 Debugger for inline functions: make sure that context is suspended 2015-09-08 11:00:49 +03:00
Natalia Ukhorskaya
ff8b7b4276 Fix NPE in DebuggerUtils
#EA-69703 - assert: DebuggerUtils.analyzeElementWithInline
2015-09-08 11:00:48 +03:00
Natalia Ukhorskaya
3aa7528c8f Show declared type for delegated properties correctly in debugger
#EA-72136 - assert: ValueDescriptorImpl.getValue
2015-09-08 11:00:47 +03:00
Natalia Ukhorskaya
c73e613dc3 Debugger: Fix exception while computing inline lambda context when debug info is unavailable
#EA-72494 - AIE: StackFrameProxyImpl.visibleVariables
2015-09-08 11:00:46 +03:00
Natalia Ukhorskaya
1d5110f424 Debugger: Fix NPE in inline lambda context evaluator
-EA-72501 - KNPE: KotlinCodeFragmentFactory$createCodeFragment$.invoke
2015-09-08 11:00:45 +03:00
Ilya Gorbunov
a63341b901 Some tests for assertion messages. 2015-09-08 10:28:15 +03:00
Ilya Gorbunov
f7c2f034b3 Remove usages of deprecated failsWith 2015-09-08 10:28:03 +03:00
Ilya Gorbunov
c14f376d21 Deprecate precondition checks with non-lazy message.
Make precondition checks with lazy message inline.
Use require with lazy message in stdlib.
#KT-8253 Fixed
2015-09-08 10:27:46 +03:00
Ilya Gorbunov
a59962c620 Change test data to reproduce the same error as was before adding an overload of assert. 2015-09-08 10:27:33 +03:00
Ilya Gorbunov
e9901e7351 Deprecate assert with non-lazy message.
#KT-8253
2015-09-08 10:27:20 +03:00
Ilya Gorbunov
470fcc977c Drop test DSL experiments. 2015-09-08 10:27:08 +03:00
Ilya Gorbunov
4f9e2c24d1 Exclude common file asserts.kt from tests using StdLib, as its methods conflict with kotlin.test.* methods. 2015-09-08 10:26:54 +03:00
Ilya Gorbunov
e61d202d71 Dropped test that tested nothing: there were no files to compile, except common asserts.kt 2015-09-08 10:26:39 +03:00
Ilya Gorbunov
ea896bd217 JsTestsAsserter implement Asserter. 2015-09-08 10:26:24 +03:00
Ilya Gorbunov
44f7b6d699 Unit testing API: better mapping on JUnit, proper formatting assertion details when message is not specified
#KT-8929 Fixed
Sensible default message for assertion methods.
#KT-8314 Fixed
Provide assertFailsWith also with KClass and reified type argument.
2015-09-08 10:26:07 +03:00
Ilya Gorbunov
e20c86c5dc Add missing equals() to primitive-keyed JS map specialization. 2015-09-08 10:24:25 +03:00
Ilya Gorbunov
c82c914c5d Before comparing types of data class objects in dataClass.equals ensure that the other comparand is an object too, otherwise it may fail on Rhino. 2015-09-08 10:24:13 +03:00
Ilya Gorbunov
f6c9d63c46 Simplify asserter implementations.
Do not use inline functions in unit tests API.
2015-09-08 10:23:59 +03:00
Ilya Gorbunov
267aad3926 Simplify asserter acquisition. 2015-09-08 10:23:46 +03:00
Denis Zharkov
708ceb4aff Use FQ name for java.lang.Deprecated and cleanup 2015-09-08 08:53:35 +03:00
Denis Zharkov
d7baef3f8d Revert bf38f56261 2015-09-08 08:53:35 +03:00
Denis Zharkov
fc447e2d2f Parse some builtin annotations as modifiers
But still resolve them as annotations.
Mostly it's needed as begin of migration path, one day they become modifiers anyway

Some tests are dropped because they supposed that `annotation` should have parameter
2015-09-08 08:53:35 +03:00
Denis Zharkov
c9a8609a67 Drop InlineStrategy and corresponding inline parameter 2015-09-08 08:53:35 +03:00
Michael Nedzelsky
9f5bbf94d3 introduce quickfix for change visiblity from private to internal for private top-level declarations 2015-09-08 07:30:27 +03:00
Alexey Tsvetkov
93776b711e Add file without usage to classInlineFunctionChanged test case 2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
12181d274b Remove InlineRegistering interface 2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
a22e15449d Fix incremental compilation for delegated property with inline accessor 2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
196e59247f Update build logs in incremental tests 2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
b07ae87e25 Update after rebase to new package parts 2015-09-08 05:49:35 +03:00
Alexey Tsvetkov
7e515e3820 Use simple data class TargetId instead of Module to get incremental cache 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
45dae5e1a4 Change one package part, then another at different steps 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
d9e9f11028 Remove duplicating simple test case 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
5d305a7286 Add test for inline function lines changed only 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
8d1480e877 Add incremental compilation inline call site tests 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
61423a19f0 Fix incremental compilation of inline call assigned to val 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
a660562743 Pass keyDescriptor to BasicMap using constructor 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
af144883dc Minor: make BasicStringMap properties parameters 2015-09-08 05:49:34 +03:00
Alexey Tsvetkov
06774423e0 Minor: remove unnecessary 'open' modifiers 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
ed5dcf2182 Simplify getting class file path for functions from current module 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
08a11b627c Update INCREMENTAL_CACHE_OWN_VERSION 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
3d9d6d356b Simplify InlineFunctionsFilesMap 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
21b6b41112 Rename hasInlineTo->inlinedTo 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
06bfc5a16b Update inline incremental compilation for compile daemon 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
f25c10c4a1 Recompile everything if new function is added 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
43bcc4a6a6 Get rid of RecompilationDecision enum 2015-09-08 05:49:33 +03:00
Alexey Tsvetkov
8cc2e0f68d Always use class file as inline fun source 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
f9fe01047d Fix incremental packages 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
b25dfabbcc Fix modules tests 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
0988b21e9c Use both target name and target type to get incremental cache from backend 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
18dc752c21 Implement hashCode and equals for Module 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
5f05f0d678 Move Module to util method 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
e90ecc48c5 Save target type in Kotlin Builder 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
b36c841b6e Use package facade name to search in dependent modules 2015-09-08 05:49:32 +03:00
Alexey Tsvetkov
44e13dd697 Add another package part with inline to multi-module inline test 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
12ebe4426c Add file without inline call to multi module test 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
46d3afaeba Use package facade internal name when processing changed inline functions 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
9a29750d0e Remove unused parameter 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
10a330f67a Recompile files depending on changed inline function between modules 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
2afaa82b57 Pass incrementalCaches as a doBuild parameter 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
a3145bc798 Flush incremental caches after each test run 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
039026ccdd Save class files as inline call source too 2015-09-08 05:49:31 +03:00
Alexey Tsvetkov
bde78c2df2 Extract BasicMap from IncrementalCacheImpl 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
47019dd51f Pass BasicMap storageFile using constructor
It makes possible to extract BasicMap outside of IncrementalCacheImpl
and use it for some maps, that share between build targets
2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
80094605eb Move persistent map parameters to constructor 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
cf35be90aa Fix value dump for incremental caches 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
e0419f956e Recompile only files that call changed inline functions 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
dfa5a420e6 Generalize InlineFunctionsMapExternalizer 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
f0d7ee4cdf Save changed functions to incremental cache 2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
f2295676bf Minor: removed clear method from DirtyOutputClassesMap
It's already has clean method from BasicMap
2015-09-08 05:49:30 +03:00
Alexey Tsvetkov
701585c0b6 Minor: rename SourceToClassesMap#addSourceToClass->add
addSourceToClass is confusing, because in fact
this function is appending to SourceToClassesMap
2015-09-08 05:49:29 +03:00
Alexey Tsvetkov
2842b74dd8 Add ClassToSourceMap to incremental caches 2015-09-08 05:49:29 +03:00
Alexey Tsvetkov
52a8fe018b Recompile files dependent on inline relationship
Right now, it's always recompiles dependent files,
even if inline function has not been changed.
2015-09-08 05:49:29 +03:00
Alexey Tsvetkov
64cc75c1ba Save info about inlined calls to incremental caches 2015-09-08 05:49:29 +03:00
Alexey Tsvetkov
32c041d4db Add simple inline incremental compilation test cases 2015-09-08 05:49:29 +03:00
Michael Nedzelsky
44691018ce add explicit types for some top-level public val/var declarations in MapDelegationTest due KT-9072 2015-09-08 02:06:34 +03:00
Michael Nedzelsky
873110c6ea add explicit type for PackagePartProvider.EMPTY in order to avoid compilation error due KT-9072 2015-09-08 02:06:26 +03:00
Michael Nedzelsky
e6e6b20885 fix tests in org.jetbrains.kotlin.js.test.semantics for secondary constructors: TODO: fix problem and remove this commit 2015-09-08 02:06:23 +03:00
Michael Nedzelsky
f6892580f6 fix tests in org.jetbrains.kotlin.js.test.semantics 2015-09-08 02:06:19 +03:00
Michael Nedzelsky
aa44606663 fix tests in org.jetbrains.kotlin.checkers (related to KT-9072) 2015-09-08 02:06:16 +03:00
Michael Nedzelsky
7c1758a8d3 fix tests in org.jetbrains.kotlin.idea.debugger.evaluate 2015-09-08 02:06:13 +03:00
Michael Nedzelsky
165e6a9100 fix tests in org.jetbrains.kotlin.serialization.builtins 2015-09-08 02:06:09 +03:00
Michael Nedzelsky
4b9ee88b9a fix tests for java 8 2015-09-08 02:06:05 +03:00
Michael Nedzelsky
aaff442f65 fix tests in org.jetbrains.kotlin.idea.structureView 2015-09-08 02:06:02 +03:00
Michael Nedzelsky
b9906f842d fix tests in org.jetbrains.kotlin.renderer 2015-09-08 02:05:58 +03:00
Michael Nedzelsky
aa8c90893e fix tests in org.jetbrains.kotlin.idea.stubs 2015-09-08 02:05:54 +03:00
Michael Nedzelsky
ce77ac4991 fix tests in org.jetbrains.kotlin.idea.refactoring.changeSignature 2015-09-08 02:05:49 +03:00
Michael Nedzelsky
daa1ac1918 fix tests in org.jetbrains.kotlin.idea.refactoring.introduce 2015-09-08 02:05:46 +03:00
Michael Nedzelsky
92ca057b4a fix tests in org.jetbrains.kotlin.idea.quickfix 2015-09-08 02:05:41 +03:00
Michael Nedzelsky
32c66914fe fix tests in org.jetbrains.kotlin.idea.highlighter 2015-09-08 02:05:38 +03:00
Michael Nedzelsky
fa97b8f91e fix tests in org.jetbrains.kotlin.idea.editor.quickDoc 2015-09-08 02:05:34 +03:00
Michael Nedzelsky
c861b036a0 fix tests in org.jetbrains.kotlin.idea.decompiler.textBuilder 2015-09-08 02:05:30 +03:00
Michael Nedzelsky
a119a6bbeb fix tests in org.jetbrains.kotlin.idea.decompiler.stubBuilder 2015-09-08 02:05:25 +03:00
Michael Nedzelsky
1a48ccff4c fix tests in org.jetbrains.kotlin.idea.decompiler.navigation 2015-09-08 02:05:21 +03:00
Michael Nedzelsky
68c6c7790a fix tests in org.jetbrains.kotlin.idea.codeInsight 2015-09-08 02:05:15 +03:00
Michael Nedzelsky
a40c80e90b fix tests in org.jetbrains.kotlin.codegen.generated 2015-09-08 02:05:09 +03:00
Michael Nedzelsky
de9b5695ae fix tests in org.jetbrains.kotlin.cli 2015-09-08 02:05:05 +03:00
Michael Nedzelsky
2684b7abb0 fix tests in org.jetbrains.kotlin.idea.resolve 2015-09-08 02:04:59 +03:00
Michael Nedzelsky
f717806138 fix tests in org.jetbrains.kotlin.repl 2015-09-08 02:04:54 +03:00
Michael Nedzelsky
d81490d2f2 fix tests in org.jetbrains.kotlin.serialization 2015-09-08 02:04:50 +03:00
Michael Nedzelsky
84b5a57c15 fix tests in org.jetbrains.kotlin.serialization.builtins 2015-09-08 02:04:44 +03:00
Michael Nedzelsky
ece8bb07b2 fix tests in org.jetbrains.kotlin.jvm.compiler 2015-09-08 02:04:38 +03:00
Michael Nedzelsky
bc5c9065d2 fix tests in org.jetbrains.kotlin.checkers 2015-09-08 02:04:32 +03:00
Michael Nedzelsky
a3f22939f1 add explicit type for LookupTracker.DO_NOTHING in order to avoid compilation error due KT-9072 2015-09-08 02:04:20 +03:00
Michael Nedzelsky
7b41106724 explicit internal modifier for JetWholeProjectForEachElementOfTypeFix in order to get rid ot the following error:
Cannot access effectively non-public-api private constructor JetWholeProjectForEachElementOfTypeFix,
defined in org.jetbrains.kotlin.idea.quickfix.JetWholeProjectForEachElementOfTypeFix member from effectively public-api public final fun createForMultiTaskOnElement
2015-09-08 02:04:16 +03:00
Michael Nedzelsky
5e35161d99 explicit internal modifier for some members of core/reflection.jvm in order to avoid generating documentaion 2015-09-08 02:04:09 +03:00
Michael Nedzelsky
d9bbc88112 default visibility: internal -> public 2015-09-08 02:04:04 +03:00
Michael Nedzelsky
b8aa5d43bd add constans Visibilities.DEFAULT_VISIBILITY and JetTokens.DEFAULT_VISIBILITY_KEYWORD 2015-09-08 02:03:58 +03:00
Nikolay Krasko
e7c9699bfa Fix build 2015-09-07 19:57:36 +03:00
Valentin Kipyatkov
97cf562dea Made convert to string template inspection less eager 2015-09-07 19:48:05 +03:00
Ilya Gorbunov
67d1cc80f6 Exclude kotlin-jdbc and kotlin-swing from maven deployment. 2015-09-07 19:36:29 +03:00
Ilya Gorbunov
dcf490d533 Update deprecation replacement. 2015-09-07 19:36:27 +03:00
Ilya Gorbunov
b5af83cb36 Drop deprecated StringTemplate from StdLib and move it to kotlin-jdbc, which is using it. 2015-09-07 19:36:25 +03:00
Valentin Kipyatkov
ef4a3047b9 Changes on code review 2015-09-07 19:34:32 +03:00
Valentin Kipyatkov
6781abb3da AddNameToArgumentFix to use up-to-date names + checking preconditions in isAvailable
#EA-72651 Fixed
2015-09-07 19:34:32 +03:00
Valentin Kipyatkov
527faec457 Moved test data 2015-09-07 19:34:32 +03:00
Valentin Kipyatkov
86830563b0 More refactoring 2015-09-07 19:34:32 +03:00
Valentin Kipyatkov
720dad5207 Minor code simplifications 2015-09-07 19:34:32 +03:00
Valentin Kipyatkov
955a0c2281 Converted to Kotlin + no i18n 2015-09-07 19:34:31 +03:00
Valentin Kipyatkov
55558e2969 Use ConstraintSystem.getPartialSubstitutor to get more correct substitution 2015-09-07 19:27:07 +03:00
Nikolay Krasko
fe8447903e Drop useless tasks for getting mirrored snapshot artifacts (see ADM-9281) 2015-09-07 18:45:46 +03:00
Nikolay Krasko
8c5582a849 Show "No SDK configured" annotation for Kotlin files (KT-8634)
#KT-8634 Fixed
2015-09-07 18:45:44 +03:00
Nikolay Krasko
df28d34f0f Ctrl-W works badly for selecting body of multi-line lambda starting with comment (KT-9014)
#KT-9014 Fixed
2015-09-07 18:45:43 +03:00
Nikolay Krasko
3d5c499773 Wrap test failure to FileComparisonFailure 2015-09-07 18:45:42 +03:00
Valentin Kipyatkov
988b42bba8 J2K to not generate obsolete syntax for accessing java class 2015-09-07 17:44:14 +03:00
Svetlana Isakova
d58a8437d7 Constraint system now may return partial substitutor 2015-09-07 17:05:40 +03:00
Svetlana Isakova
fe34d1673e Exception 'Base expression was not processed: function literal' fixed 2015-09-07 17:05:40 +03:00
Svetlana Isakova
0999d8ea8e Moved 'initial' (renamed from 'topLevel') flag to ConstraintContext 2015-09-07 17:05:39 +03:00
Svetlana Isakova
4f28a0a9a1 KT-8879 Stackoverflow exception on completion from inference
#KT-8879 Fixed
Added ConstraintContext storing 'derivedFrom' variables.
This information is used to prevent infinite recursion:
if a variable was substituted in a type of a bound, it shouldn't be substituted there for the second time.
2015-09-07 17:05:39 +03:00
Ilya Gorbunov
3c5de56e83 Improve diagnostics when test cleanup fails. 2015-09-07 16:45:06 +03:00
Michael Bogdanov
5805c42305 Write abi version to mapping file 2015-09-07 16:29:16 +03:00
Michael Bogdanov
d1964f5ff2 Abi version increased 2015-09-07 16:29:16 +03:00
Michael Bogdanov
225cbb417c Gradle support 2015-09-07 16:29:15 +03:00
Michael Bogdanov
0de83b6f4c Default module name extraction 2015-09-07 16:29:15 +03:00
Michael Bogdanov
b58479a169 TEST_MODULE_NAME extraction 2015-09-07 16:29:15 +03:00
Michael Bogdanov
49ee4169f3 Package part proto generation fix 2015-09-07 16:29:14 +03:00
Michael Bogdanov
4958116566 RuntimePackagePartProvider.registerModule refactoring 2015-09-07 16:29:14 +03:00
Michael Bogdanov
466b535ba9 Get rid of DeserializedNewPackageMemberScope.kt 2015-09-07 16:29:13 +03:00
Michael Bogdanov
cbe42aa0a2 Extracted 'kotlin_module' constant 2015-09-07 16:29:13 +03:00
Michael Bogdanov
bbf63aa38c lazy -> storageManager.createLazyValue 2015-09-07 16:29:12 +03:00
Michael Bogdanov
974095313c Catch NoSuchFieldException 2015-09-07 16:29:11 +03:00
Michael Bogdanov
606b39698c Kotlin module name extraction 2015-09-07 16:29:11 +03:00
Michael Bogdanov
2ca9b3ae0e Code clean 2015-09-07 16:29:10 +03:00
Michael Bogdanov
20bb9963b3 smoke test fix 2015-09-07 16:29:10 +03:00
Zalim Bashorov
2f9f5a3cd5 Minor: fix testdata files
(build.log files for incremental compilation tests)
2015-09-07 16:29:09 +03:00
Zalim Bashorov
5193e6a181 Minor fixes in KotlinJpsBuildTest 2015-09-07 16:29:09 +03:00
Zalim Bashorov
b8db33722c Generate kotlin_module incrementally and report source files 2015-09-07 16:29:08 +03:00
Zalim Bashorov
879b1a8abb Try to detect target for output items using outputDir when sourceFiles is empty 2015-09-07 16:29:08 +03:00
Zalim Bashorov
01f3710211 Save dependencies of kotlin_module in cache 2015-09-07 16:29:07 +03:00
Zalim Bashorov
f48346f272 Introduce IncrementalPackagePartProvider to load unchanged compiled package parts using module mapping info from incremental cache 2015-09-07 16:29:07 +03:00
Zalim Bashorov
ec62cccb1a Fix incremental compilation for new package parts 2015-09-07 16:29:06 +03:00
Zalim Bashorov
8e411e7274 Minor: add incrementalCompilationComponents to GenerationState 2015-09-07 16:29:06 +03:00
Michael Bogdanov
13ca5faa80 Code clean 2015-09-07 16:29:06 +03:00
Michael Bogdanov
25234f672a Maven plugin fixes 2015-09-07 16:29:05 +03:00
Michael Bogdanov
c31f2eecc1 updated build.xml 2015-09-07 16:29:05 +03:00
Michael Bogdanov
42e4d39083 Support module name in ant task 2015-09-07 16:29:04 +03:00
Michael Bogdanov
2b6ebedc3e onReceiver test fix 2015-09-07 16:29:04 +03:00
Michael Bogdanov
b3fc667c1e WrongAbi test data fix 2015-09-07 16:29:03 +03:00
Michael Bogdanov
f1c091e897 Serialize mappings via proto 2015-09-07 16:29:03 +03:00
Michael Bogdanov
672d25e7e0 PackagePartProvider refactoring 2015-09-07 16:29:02 +03:00
Dmitry Petrov
5ca8f7409a Fix debugger tests.
- Index binaries by facade class fqName
- Fix DebuggerUtils: should understand new facades
- Refactor IDELightClassGenerationSupport
- Add facadeSimpleName to KotlinFileStub
2015-09-07 16:29:02 +03:00
Dmitry Petrov
f9901f6075 Fix decompiler tests.
For now, JVM and JS backends produce different metadata for package facades (and package parts),
and thus different output is expected for JVM and JS decompiler.
Split decompiler tests into common (decompiledText), JVM-specific (decompiledTextJvm),
and JS-specific (decompiledTextJs)
Join them back together if JS backend migrates to JVM-like package model.
2015-09-07 16:29:01 +03:00
Michael Bogdanov
282727b9b2 Fix tests: DecompiledTextForWrongAbiVersionTest
- no package facades, public file facades
2015-09-07 16:29:01 +03:00
Dmitry Petrov
aebdaaab46 Fix tests: TextConstistencyBaseTest & DecompiledTextConsistencyTest
- no package facades, public file facades
2015-09-07 16:29:00 +03:00
Michael Bogdanov
0e5a5a2e25 ldifferentTypes test fix 2015-09-07 16:29:00 +03:00
Michael Bogdanov
378740f4be Jps test fix 2015-09-07 16:28:59 +03:00
Michael Bogdanov
47635c19a2 Generate calls through new minifacades 2015-09-07 16:28:59 +03:00
Dmitry Petrov
0289b8e290 Fix tests: ClsStubBuilderTestGenerated should honor new file part generation scheme. 2015-09-07 16:28:58 +03:00
Dmitry Petrov
8e6054f6c7 Fix tests:
- package parts are no longer built;
- test decompiled content for default file facades.
2015-09-07 16:28:58 +03:00
Michael Bogdanov
84649e4b26 Wrong abi test fix 2015-09-07 16:28:57 +03:00
Michael Bogdanov
939f28f293 Jps support 2015-09-07 16:28:57 +03:00
Michael Bogdanov
9e53a0d057 Debugger fix 2015-09-07 16:28:56 +03:00
Michael Bogdanov
9f0662468f Lazy module name propagation 2015-09-07 16:28:56 +03:00
Michael Bogdanov
c274ceffe8 PackageFacadeProvider refactoring 2015-09-07 16:28:55 +03:00
Michael Bogdanov
843241848f Test fix 2015-09-07 16:28:55 +03:00
Dmitry Petrov
42d14f6837 Navigate to corresponding implementation class (which is file part).
TODO: proper SourceElements for file parts / file facades / static facades.
2015-09-07 16:28:54 +03:00
Dmitry Petrov
0fa6e0730a jvmName should be applicable to FILE.
Get jvmName from Annotations
(JetFile is not Annotated, since it is a part of AST hierarchy, and there is no corresponding descriptor;
however, there is a standard way to obtain Annotations for JetFile, which is exactly what we need, and what Annotated provides).
2015-09-07 16:28:54 +03:00
Dmitry Petrov
b1b845d44d Proper light classes generation in presence of the new file facades. 2015-09-07 16:28:53 +03:00
Dmitry Petrov
5fdfe8df3c PackagePartClassUtils converted to Kotlin and refactored 2015-09-07 16:28:53 +03:00
Dmitry Petrov
e050ff3271 Generate ex-package parts as file facades.
Support new facade kind in stub building and incremental compilation.
2015-09-07 16:28:52 +03:00
Michael Bogdanov
43af127ce8 new fixes 2015-09-07 16:28:52 +03:00
Michael Bogdanov
e83ec1017b Reflection support 2015-09-07 16:28:51 +03:00
Michael Bogdanov
357a6d9902 repl fix 2015-09-07 16:28:51 +03:00
Michael Bogdanov
e18c1bb360 propagate proper packageMappingProvider in tests 2015-09-07 16:28:50 +03:00
Michael Bogdanov
21e9c9b0c1 package part indexing hack 2015-09-07 16:28:50 +03:00
Michael Bogdanov
5581d4e207 Don't verify mapping files and proper packagemapper propagation 2015-09-07 16:28:49 +03:00
Michael Bogdanov
0883781f8c TODO: support mapping processing in incremental compilation 2015-09-07 16:28:49 +03:00
Michael Bogdanov
ebb1629285 new scope and deserialization 2015-09-07 16:28:49 +03:00
Michael Bogdanov
7f2973dc7d proto serialization 2015-09-07 16:28:48 +03:00
Michael Bogdanov
1fcacecf93 stubs for new components 2015-09-07 16:28:48 +03:00
Michael Bogdanov
6dcd059009 new kompiler parameter 2015-09-07 16:28:47 +03:00
Michael Bogdanov
65308d6aaf Proper module name: HACK 2015-09-07 16:28:47 +03:00
Michael Bogdanov
42d46853c7 Module mapping generation 2015-09-07 16:28:46 +03:00
Dmitry Petrov
83336553df Use special index to record files corresponding to static facade classes. 2015-09-07 16:28:45 +03:00
Dmitry Petrov
ab8b5d05ed Light class generation for new facades/parts.
1st working (naive) implementation.
2015-09-07 16:28:45 +03:00
Dmitry Petrov
47f5b55e65 KotlinLightClassForPackage -> KotlinLightClassForFacade
(with minor changes)
2015-09-07 16:28:44 +03:00
Dmitry Petrov
1c81b00143 Use ASCII capitalization for part class names 2015-09-07 16:28:44 +03:00
Dmitry Petrov
7af88f6797 Update debug tests & incremental compilation tests depending on part class naming 2015-09-07 16:28:43 +03:00
Dmitry Petrov
cd6ff31129 Update tests depending on part class naming 2015-09-07 16:28:43 +03:00
Dmitry Petrov
a47eaa2cb5 Change part class naming scheme
update tests depending on part class naming
2015-09-07 16:28:42 +03:00
Michael Bogdanov
801d10229b Partially removed replaceHashWithStar 2015-09-07 16:28:41 +03:00
Michael Bogdanov
45a85e3e35 Removed packagePartHASH 2015-09-07 16:28:41 +03:00
Michael Bogdanov
17d9b93790 DelegationClassBuilderFactory class extraction 2015-09-07 16:28:41 +03:00
Michael Bogdanov
35d51a8ea4 Update duplicate diagnostic 2015-09-07 16:28:40 +03:00
Michael Bogdanov
d524cdeef7 ~Redeclaration 2015-09-07 16:28:40 +03:00
Michael Bogdanov
2c2ec508d3 Redeclaration tests patched 2015-09-07 16:28:39 +03:00
Michael Bogdanov
0936351983 Incremental tests patched 2015-09-07 16:28:39 +03:00
Michael Bogdanov
905e74f870 TODO: restore tests: files with same names 2015-09-07 16:28:38 +03:00
Michael Bogdanov
48c5e3d218 Debug tests patched 2015-09-07 16:28:38 +03:00
Michael Bogdanov
8e8ff860d6 New package part naming 2015-09-07 16:28:37 +03:00
Dmitry Jemerov
e388750ebb set flag allowing to update the Kotlin plugin from the repository even though it's bundled 2015-09-07 15:16:25 +02:00
Mikhail Glukhikh
8f7b29f80a Annotation rename: target --> @Target 2015-09-07 13:42:26 +03:00
Alexey Sedunov
6c903a607c Move Declarations: Filter out declarations which are not under source root (including libraries)
#KT-8922 Fixed
2015-09-06 18:09:49 +03:00
Alexey Sedunov
c493a76cfb Move Declarations: Forbid inside non-top-level declarations. Show error hint instead of window when invoked from editor
#KT-8993 Fixed
 #KT-8777 Fixed
2015-09-06 18:04:41 +03:00
Alexey Sedunov
14c657d448 Extract Function: Consider reference "broken" if corresponding diagnostics are changed after code fragment extraction
#KT-8633 Fixed
2015-09-06 18:04:39 +03:00
Alexey Sedunov
e03067846f Extract Function: Ignore internal smartcasts
#KT-8458 Fixed
2015-09-06 18:04:37 +03:00
Ilya Ryzhenkov
ba5d5cc87b Optimize away boxing in JvmDependenciesIndex 2015-09-06 17:01:32 +03:00
Ilya Ryzhenkov
a14d97d8e1 Optimize line mapping initialization. 2015-09-06 17:01:31 +03:00
Ilya Ryzhenkov
970bd46544 Optimize siblings() 2015-09-06 17:01:30 +03:00
Yan Zhulanow
4ca127ecb3 Create custom exception for lateinit 2015-09-05 00:54:20 +03:00
Yan Zhulanow
fc3bf3cca4 Implement lateinit in backend 2015-09-05 00:54:19 +03:00
Yan Zhulanow
e3967b9fa0 Diagnostic on lateinit 2015-09-05 00:54:19 +03:00
Yan Zhulanow
add13cae82 lateinit modifier on property 2015-09-05 00:54:18 +03:00
Valentin Kipyatkov
48bccab31e Minor changes on code review 2015-09-04 23:27:38 +03:00
Valentin Kipyatkov
fe3e9341a1 Smart completion: no instantiation of anonymous object with uninferred type arguments in code 2015-09-04 23:27:37 +03:00
Valentin Kipyatkov
40de063ebd Smart completion for generic class instantiation to not insert explicit type arguments (for they'll probably be inferred from the expected type) 2015-09-04 23:27:37 +03:00
Valentin Kipyatkov
f470fec840 "return emptyList()" & "return emptySet()" in completion 2015-09-04 23:27:37 +03:00
Valentin Kipyatkov
6dca9a4558 Auto-popup completion remebers cancellation for parameter name/type completion only 2015-09-04 23:27:36 +03:00
Valentin Kipyatkov
997aef8fee Smart completion to work when some of previous arguments do not match
#KT-8400 Fixed
2015-09-04 23:27:36 +03:00
Valentin Kipyatkov
7663793e3d Smart completion to work when some of previous arguments have errors (+ fixed testAfterEmptyArgument broken by previous changes) 2015-09-04 23:27:36 +03:00
Valentin Kipyatkov
b11f47ec33 Removed unused parameter 2015-09-04 23:27:36 +03:00
Valentin Kipyatkov
8859fd395d Simplified code 2015-09-04 23:27:36 +03:00
Valentin Kipyatkov
db4c163539 More correct named arguments completion 2015-09-04 23:27:35 +03:00
Dmitry Jemerov
7cf4d265bb remove converter from run confguration format which was used in some ancient Kotlin plugin versions 2015-09-04 20:36:52 +02:00
Alexander Udalov
d0a4f82203 Fix NO_KOTLIN_REFLECT directive handling in codegen tests
It was disabling reflection on classpath at compile time, but not at runtime
2015-09-04 20:18:59 +03:00
Alexander Udalov
308d24eeb4 Don't throw exceptions on unexpected annotation arguments in class file reader 2015-09-04 19:51:26 +03:00
Dmitry Jemerov
55640ac885 assorted Find Usages fixes: add missing read actions, better cancellation, fix search of componentN() usages for data class primary constructor parameter, remove workaround for usage of IDEA API which is now public 2015-09-04 18:25:36 +02:00
Mikhail Glukhikh
ccf78b6fa4 Drop support of annotation(retention, repeatable, mustBeDocumented) format 2015-09-04 19:21:41 +03:00
Mikhail Glukhikh
eab288bdd7 annotation() now has no arguments. Syntax migration to Retention / Repeatable / MustBeDocumented combination
Deprecated test for annotation(params) completion deleted. A lot of tests changed.
2015-09-04 19:21:12 +03:00
Denis Zharkov
86f35acf9e Fix testBuiltins result 2015-09-04 18:19:32 +03:00
Denis Zharkov
bf38f56261 Temporary workaround to compile bootstrap version
May be reverted soon
2015-09-04 18:19:32 +03:00
Denis Zharkov
4159c83282 Support decapitilized obsolete annotations in resolve
Annotations like `deprecated`, `jvmStatic`, etc. has been renamed to capitilized themselves.
But we're going to support both versions.
It's hard just to leave both versions of classes as their class-files can clash
when compiled on register-independent file system.

So here is solution (temporary hack):
we just wrap JetScopes for package fragments of `kotlin.*`
to make them search both versions of annotations if their names are contained
in our hardcoded set.
2015-09-04 18:19:32 +03:00
Denis Zharkov
31244edec9 Deprecate deprecated in favor of Deprecated 2015-09-04 18:19:31 +03:00
Denis Zharkov
952d45dc8b Deprecate JVM platform annotations in favor of capitilized themselves 2015-09-04 18:19:31 +03:00
Denis Zharkov
5471a1d18a Add kotlin.external annotation and deprecate kotlin.jvm.native 2015-09-04 18:19:31 +03:00
Denis Zharkov
26f9bd7b63 Deprecate some of JVM flag annotations in favor of capitilized themselves 2015-09-04 18:19:31 +03:00
Denis Zharkov
2b76941733 Deprecate throws annotation in favor of Throws 2015-09-04 17:23:26 +03:00
Denis Zharkov
9254b1b461 Deprecate tailRecursive in favor of tailrec 2015-09-04 17:23:26 +03:00
Denis Zharkov
bbc192fda5 Deprecate suppress annotation in favor of Suppress 2015-09-04 17:23:25 +03:00
Denis Zharkov
11fed1674e Deprecate extension annotation in favor of Extension 2015-09-04 17:23:25 +03:00
Dmitry Jemerov
3597234165 code review 2015-09-04 15:05:15 +02:00
Dmitry Jemerov
1e37927115 remove old usages search implementation 2015-09-04 15:05:14 +02:00
Dmitry Jemerov
9bd68f458f add missing read action (EA-72578) 2015-09-04 15:05:12 +02:00
Dmitry Jemerov
ebce992f20 search for members of companion object in KotlinReferencesSearch is optional 2015-09-04 15:05:11 +02:00
Dmitry Jemerov
fcb8b796c4 change expected testdata 2015-09-04 15:05:11 +02:00
Dmitry Jemerov
6462bda61c correct equals() for MyRequestResultProcessor 2015-09-04 15:05:10 +02:00
Dmitry Jemerov
c2f2e316af usage search for companion object searches for Java usages of its members 2015-09-04 15:05:09 +02:00
Dmitry Jemerov
256791cf02 fix search for usages of Java overrides 2015-09-04 15:05:08 +02:00
Dmitry Jemerov
0bc9ef5c0b replace UsagesSearch with ReferencesSearch in Find Usages 2015-09-04 15:05:08 +02:00
Dmitry Jemerov
f76520c771 use standard references search for searching usages of type parameter 2015-09-04 15:05:07 +02:00
Michael Nedzelsky
a59f14eede warning for access to private top-level declarations from another file 2015-09-04 15:35:28 +03:00
Mikhail Glukhikh
778ac7f25c annotation --> Retention / Repeatable / MustBeDocumented: converting from Java to Kotlin and back.
At this very short moment Kotlin supports both annotation(retention, repeatable, mustBeDocumented) and Retention / Repeatable / MustBeDocumented separately.
2015-09-04 12:49:36 +03:00
Mikhail Glukhikh
7dff4ad916 New built-in annotations: Retention, Repeatable, MustBeDocumented 2015-09-04 12:49:28 +03:00
Mikhail Glukhikh
4e3bd10cd3 Java annotation with target "TYPE" is now applicable to Kotlin targets "CLASSIFIER" and "FILE" 2015-09-04 12:49:24 +03:00
Mikhail Glukhikh
699f1e0a70 AnnotationTarget.PACKAGE was dropped 2015-09-04 12:49:14 +03:00
Natalia Ukhorskaya
c836060f3a Minor: do less work in debug thread during stepping commands for inline functions 2015-09-04 11:40:23 +03:00
Natalia Ukhorskaya
060b6e6b15 Debugger: support stepping out inline function 2015-09-04 11:40:22 +03:00
Natalia Ukhorskaya
ba686c701e Debugger for inline functions: check for available strata (faster than compute source position) 2015-09-04 11:40:21 +03:00
Natalia Ukhorskaya
4980780268 Minor: extract method 2015-09-04 11:40:20 +03:00
Natalia Ukhorskaya
73946050c1 Debugger: support stepping over inline function 2015-09-04 11:40:20 +03:00
Natalia Ukhorskaya
ff4d557eac Minor: extract method 2015-09-04 11:40:19 +03:00
nik
0772bbeb4f kotlin builder: print 'label in local history' message to log with 'debug' level and once per build
(https://github.com/JetBrains/kotlin/pull/745)
2015-09-04 11:31:00 +03:00
Alexey Sedunov
e4dd30599e Extraction Engine: Forbid extraction of non-singleton qualifiers
#KT-8297 Fixed
2015-09-03 22:06:20 +03:00
Alexey Sedunov
1db7195e94 Extract Function: Fix callee replacement in operation expressions
#KT-8294 Fixed
2015-09-03 22:06:18 +03:00
Alexey Sedunov
1ca3c5e3b8 PSI Unifier: Use convention-based call for array access expressions when comparing elements by resolved calls
#KT-8312 Fixed
2015-09-03 22:06:17 +03:00
Alexey Sedunov
d7e79e7f28 Introduce Variable: Forbid inside of type references and 'super' references
#KT-8324 Fixed
2015-09-03 22:06:15 +03:00
Alexey Sedunov
fa8fcb53c5 Introduce Variable: Forbid extraction from class initializer (aside of its
body)
 #KT-8329 Fixed
2015-09-03 22:06:13 +03:00
Alexey Sedunov
c005fe613f Introduce Variable: Fix extraction of expression from when-entry condition
#KT-8444 Fixed
2015-09-03 22:06:12 +03:00
Alexey Sedunov
3038e2382b Introduce Variable: Forbid in the class body and at the top level
#KT-8735 Fixed
2015-09-03 22:06:11 +03:00
Alexey Sedunov
0f5dff483a Introduce Variable: Proper occurrence search in generated block expression
#KT-7836 Fixed
 #KT-8443 Fixed
 #EA-71411 Fixed
2015-09-03 22:06:09 +03:00
Alexey Sedunov
ed090c2b2e Create from Usage: Prefer member declarations over extensions
#KT-9012 Fixed
2015-09-03 22:06:08 +03:00
Alexey Sedunov
b2eb53e4b2 Move/Change Package: Package name validation
#EA-70631 Fixed
2015-09-03 22:06:06 +03:00
Alexander Udalov
df935f5bb7 Support reflection on lambdas and function expressions
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly

 #KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Natalia Ukhorskaya
73ae0751ee Debugger tests: throw FileComparisonFailure instaed of ComparisonFailure 2015-09-03 20:14:51 +03:00
Natalia Ukhorskaya
f36f0f8de7 Revert commit ca907c4985
Update to 142.4245.2: register RunLineMarkerProvider not only for Java language (temp)
2015-09-03 20:14:49 +03:00
Natalia Ukhorskaya
86146ddf01 Update to Idea 142.4465.2 2015-09-03 20:14:47 +03:00
Michael Nedzelsky
3a4dfc5241 remove requirements for explicit return type for public members 2015-09-03 18:23:04 +03:00
Dmitry Jemerov
724f13954a searcher for more efficient search of Kotlin classes which have methods annotated with @Test
#KT-8557 Fixed
2015-09-03 17:17:01 +02:00
Dmitry Jemerov
2ae126e994 more understandable name for the stepping filter 2015-09-03 16:48:54 +02:00
Dmitry Jemerov
0f8b77d988 use ReferencesSearch instead of UsagesSearch for locating inline functions 2015-09-03 16:48:54 +02:00
Nikolay Krasko
6b4a0f90f9 loadresource doesn't work with redirects - use get instead 2015-09-03 16:22:45 +03:00
Valentin Kipyatkov
4085c1cf41 One more test 2015-09-03 15:56:00 +03:00
Valentin Kipyatkov
64e520b689 Moved test data 2015-09-03 15:56:00 +03:00
Valentin Kipyatkov
712df5682c Fixed test data after stdlib change 2015-09-03 15:56:00 +03:00
Valentin Kipyatkov
f6a2502f22 Fixed DeprecatedSymbolUsageFixSpecialTest 2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
c5891d255d Added test 2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
73da457798 Changes on code reivew 2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
6575fb8535 Annotations supported
#KT-8912 Fixed
2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
366204da85 Constructor usages are replaced too 2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
de13e23a0a Initial support for class usages replacement with ReplaceWith 2015-09-03 15:55:59 +03:00
Valentin Kipyatkov
e7e2a9b1e2 Code cleanup 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
d6c6c4db97 Rename 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
c8c79c647f Moved lot of code from companion object onto top-level in separate file 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
8dbe87a918 Moved classes 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
5f45236f39 Ran code cleanup on 3 files 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
af9b9d2bb1 Fixed recursion in reflection intialization 2015-09-03 15:55:58 +03:00
Valentin Kipyatkov
4fa13408de Minor 2015-09-03 15:55:57 +03:00
Valentin Kipyatkov
416ac6dfd8 Removed implemented TODO 2015-09-03 15:55:57 +03:00
Valentin Kipyatkov
4321969ba5 Restored properties "java" and "kotlin" in package kotlin.reflect.jvm but made them hidden 2015-09-03 15:55:57 +03:00
Valentin Kipyatkov
37ed77467f Fixed ReplaceWith quickfix not working when synthetic extensions are used in the pattern 2015-09-03 15:55:57 +03:00
Valentin Kipyatkov
16650e8f5c Conflicting extension is recognized as redundant for setter with expression body 2015-09-03 15:55:57 +03:00
Valentin Kipyatkov
f244bfb073 Removed conflicting extensions from our code 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
460001cc8f Stdlib: deprecated conflicting extensions that are not the same as synthetic ones 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
dab47a8caf Stdlib: marked with @HiddenDeclaration and @deprecated redundant explicit extension properties 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
ce02d822f7 More safe 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
086d29a44a Added second quickfix on conflicting extension to mark it hidden and deprecated 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
b2ea369129 Don't report conflicting extension for marked with @HiddenDeclaration 2015-09-03 15:55:56 +03:00
Valentin Kipyatkov
690473313f Minor 2015-09-03 15:55:55 +03:00
Valentin Kipyatkov
29479603e3 Minor 2015-09-03 15:55:55 +03:00
Valentin Kipyatkov
b859815c79 Renamed conflicting property in test 2015-09-03 15:55:55 +03:00
Valentin Kipyatkov
ed2f5ccfa2 Checking file name case for some of the auto-generated tests 2015-09-03 15:55:55 +03:00
Valentin Kipyatkov
10f7d6d7dd Inspection (and quickfix) for extension propeties conflicting with synthetic ones 2015-09-03 15:55:54 +03:00
Valentin Kipyatkov
d41e01c0e4 Added a test 2015-09-03 15:55:54 +03:00
Valentin Kipyatkov
14c2500261 Added a test 2015-09-03 15:55:54 +03:00
Valentin Kipyatkov
58e79037ed Renamed tests 2015-09-03 15:55:54 +03:00
Valentin Kipyatkov
e83711d41a More correct rendering of synthetic extension descriptors 2015-09-03 15:55:54 +03:00
Alexander Udalov
67e29ac566 ReadMe: update IDEA 14 EAP -> 15 EAP 2015-09-03 14:57:46 +03:00
Alexander Udalov
113957e38f ReadMe: update Twitter link 2015-09-03 14:56:02 +03:00
Alexander Udalov
2d44a853e9 Don't perform "ant compiler-quick" and "ant runtime" before All Tests
Although this made sure you'd not forget to rebuild the runtime before running
all tests locally, it had an unexpected side effect that All Tests would check
not the compiler built by "ant dist", but the compiler built by "ant
compiler-quick", which can and does in fact differ from the former (for
example, proguard is not run on it)
2015-09-03 14:52:26 +03:00
Alexander Udalov
f1a75508d3 Optimize non-generic CollectionToArray.toArray for empty collection 2015-09-03 14:52:24 +03:00
Nikolay Krasko
fe947d5665 Move since because of using api for line markers 2015-09-03 14:21:06 +03:00
Nikolay Krasko
dd7ef4d89f Fix null exception in setName() method (EA-70396) 2015-09-03 13:40:09 +03:00
Nikolay Krasko
5325767c61 Minor: fix spelling 2015-09-03 13:40:08 +03:00
Nikolay Krasko
d4bf109a60 Check project for null (EA-72492) 2015-09-03 13:40:07 +03:00
Dmitry Jemerov
239097a3f3 remove temporarily copied Java safe delete implementation (the underlying IDEA problem has been fixed) 2015-09-02 20:29:05 +02:00
Yan Zhulanow
55b2029b3c Remove FIELD target from jvmStatic and platformStatic annotations 2015-09-02 20:36:48 +03:00
Ilya Gorbunov
c4b18d8fb8 Special case of slice for int ranges, sliceArray returning array.
#KT-8711
2015-09-02 20:22:38 +03:00
Ilya Gorbunov
faa26cdb25 Introduce operations on Arrays returning Arrays: reversedArray, sortedArray.
#KT-8711
2015-09-02 20:22:27 +03:00
Ilya Gorbunov
89df3925fa Unify operations on Array<T> and Array<out T> (copyOf, copyOfRange) which return the same type as the receiver. 2015-09-02 20:21:20 +03:00
Ilya Gorbunov
a3056bea1a Accept in-projection of Comparator as a parameter. 2015-09-02 20:21:18 +03:00
Mikhail Glukhikh
f92e91f045 Regression test for annotated function after the last enum entry #KT-4693 Obsolete 2015-09-02 18:23:10 +03:00
Mikhail Glukhikh
fa292ec0e0 Enum entries now can have no initializer if default secondary constructor is available. #KT-8484 Fixed 2015-09-02 18:23:07 +03:00
Stanislav Erokhin
0fc8023f18 Use LoggingStorageManager only if necessary 2015-09-02 17:49:16 +03:00
Yan Zhulanow
acbc39bf9f Minor: move kapt-related stuff to AnnotationProcessingManager 2015-09-02 15:53:15 +03:00
Yan Zhulanow
b044e4be07 Minor: remove code duplication 2015-09-02 15:53:15 +03:00
Yan Zhulanow
39d7e98775 kapt: Support Kotlin code generation 2015-09-02 15:53:14 +03:00
Yan Zhulanow
edb35ae6ce kapt: Fix sequential builds (KT-8733) 2015-09-02 15:53:14 +03:00
Ilya Gorbunov
b3073dbd2d Provide lazy implementation with an external object to synchronize on. 2015-09-02 15:49:53 +03:00
Ilya Gorbunov
4fbf787f7d Change proposed replacements for Delegates.lazy and blockingLazy to preserve behavior. 2015-09-02 15:49:50 +03:00
Ilya Gorbunov
184978e3cb Remove usages from tests 2015-09-02 15:49:47 +03:00
Ilya Gorbunov
ceb3b7da9d Thread extension properties deprecated in favor of synthetic extension properties.
Executor.invoke and ExecutorService.invoke deprecated.
2015-09-02 15:49:44 +03:00
Ilya Gorbunov
ed8edd2ce4 Documented HiddenDeclaration 2015-09-02 15:45:42 +03:00
Nikolay Krasko
1132652026 Update to 142.4245.2: Temprorary modify test data after IDEA update
The problem is in order of cleanup actions. Each action can invalidate psi and that can prevent next action from execution.
2015-09-02 15:10:43 +03:00
Natalia Ukhorskaya
11331e74fd Update to 142.4245.2: Fix compilation 2015-09-02 15:10:42 +03:00
Natalia Ukhorskaya
ffe41b88a7 Update to 142.4245.2: Debugger tests: changes in testData 2015-09-02 15:10:41 +03:00
Nikolay Krasko
339f8ee2ab Update to 142.4245.2: Fix test data in pull up 2015-09-02 15:10:40 +03:00
Nikolay Krasko
a946db98a1 Update to 142.4245.2: Fix compilation after update 2015-09-02 15:10:39 +03:00
Nikolay Krasko
ca907c4985 Update to 142.4245.2: register RunLineMarkerProvider not only for Java language (temp) 2015-09-02 15:10:32 +03:00
Nikolay Krasko
5554a44f0f Update to 142.4245.2: Update Kotlin run line marker info to new API 2015-09-02 15:10:03 +03:00
Nikolay Krasko
6975afba3e Update to 142.4245.2 2015-09-02 13:49:12 +03:00
Nikolay Krasko
73a24435f7 Make Kotlin light classes pass "element instanceof StubBasedPsiElement" in LocalSearchScope scope 2015-09-02 13:49:10 +03:00
Nikolay Krasko
853c29be5a Add read-action call for looking for descriptor 2015-09-02 13:49:09 +03:00
Nikolay Krasko
01fd028799 Test base class of the test to be closer emulate IDE behaviour 2015-09-02 13:49:08 +03:00
Nikolay Krasko
73eca64769 Minor: too long lines 2015-09-02 13:49:06 +03:00
Mikhail Glukhikh
726cbe3755 Refactoring: VariableInitState --> VariableControlFlowState 2015-09-02 12:07:21 +03:00
Mikhail Glukhikh
285d5d06c7 More precise value reassignment analysis. #KT-7418 Fixed. #KT-6902 Fixed.
Variable can now be "exactly initialized", "may be initialized" and "not initialized".
A set of relevant tests. Some fixed tests.
2015-09-02 12:07:18 +03:00
Denis Zharkov
c59b118b09 Implement quckfix adding explicit upper bounds for generic when needed 2015-09-02 12:04:08 +03:00
Denis Zharkov
c17451cf5c Add quickfix for JAVA_TYPE_MISMATCH 2015-09-02 12:03:52 +03:00
Denis Zharkov
632e336782 Prohibit unsafe covariant conversion for collections invariant in Java 2015-09-02 10:39:29 +03:00
Denis Zharkov
6dc08f76a6 Preserve type capabilities while substituting
`val result` in test data rendered descriptors should be rendered as having raw type
2015-09-02 10:38:43 +03:00
Denis Zharkov
3b80bf5bda Make call to additional type checker if no error happened 2015-09-02 10:38:43 +03:00
Michael Bogdanov
4853e4f1cc Module name parameter added to ant tasks 2015-09-02 09:29:38 +03:00
Stanislav Erokhin
d015f713cb KT-6244 Overloads with no default parameters should take over ones with defaults
#KT-6244 Fixed
2015-09-01 23:37:43 +03:00
Stanislav Erokhin
5ded315cbb Improved error reporting for candidates with wrong parameter count 2015-09-01 23:37:42 +03:00
Alexey Tsvetkov
8ea6f36903 Minor: move comment to the member it was written for
Accidentally moved comment when refactored GenerationState
2015-09-01 19:16:22 +03:00
Alexey Tsvetkov
7101f9a3a4 Move GenerationState member up to further simplify constructor usages 2015-09-01 19:05:38 +03:00
Alexey Tsvetkov
1d5b869bee Clean up GenerationState initializer 2015-09-01 19:05:38 +03:00
Alexey Tsvetkov
ddd469bb88 Minor: change order of GenerationState members 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
0a11525dd5 Clean up GenerationState constructor usages 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
1e964c6302 Make "progress" parameter with last in GenerationState constructor
This parameter has a default value, so it's more convenient to have it
closer to the end of parameter list.
2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
79f450e174 Remove GenerationState secondary constructor 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
04e5cbb5d3 Convert some GenerationState functions to values 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
6e0332d418 Move GenerationState properties' initialization to declaration 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
de23f7ace8 Move property declaration to constructor 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
340929233e Remove unneeded brackets in GenerationState 2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
1fcfbbca1b Replace plus operator with string template
This fixes the conversion issue: there is no "JavaClass<T>.plus(s:
String)" overload.
2015-09-01 19:05:37 +03:00
Alexey Tsvetkov
224bf7fb43 Convert GenerationState: actual conversion 2015-09-01 19:05:36 +03:00
Alexey Tsvetkov
4476dd934c Convert GenerationState: change extension 2015-09-01 19:05:36 +03:00
Michael Nedzelsky
e39dec19fa regenerate tests 2015-09-01 19:00:56 +03:00
Zalim Bashorov
fcbf8b5a28 Fix marking some files as executable on mac and on linux 2015-09-01 17:38:30 +03:00
Zalim Bashorov
a12a7eb3f2 Minor: remove deprecated macrodefs from update_dependencies.xml 2015-09-01 17:38:30 +03:00
Dmitry Jemerov
4991aff086 validate FQ name when checking the Java mapping (EA-72095) 2015-09-01 15:02:32 +02:00
Nikolay Krasko
9054151546 Use storage manager to create lazy value 2015-09-01 15:55:47 +03:00
Nikolay Krasko
6c45d81b86 Revert "Use lazy to store split annotations, code simplification"
This reverts commit 0b24e56f5a.
2015-09-01 15:55:46 +03:00
Mikhail Glukhikh
754f8af3fc Type<*> is inferred now if Type<A> and Type<B> common supertype is Type<X> and X is not within parameter upper bound. #KT-7585 Fixed. #EA-68943 Fixed.
It provides also a fix for KT-7585 (empty type intersection assertion).
A set of relevant tests, one fixed test
2015-09-01 15:49:29 +03:00
Alexander Udalov
c90bcb41f3 Refactor and fix buildDecompiledText#appendDescriptor
Make it clear that first we render all enum entries, then the companion if it
exists, then anything else. Previously the companion wasn't rendered in the
case when the scope did not contain anything else (which was the case for the
scope of a class not found in the decompiler)
2015-09-01 15:06:45 +03:00
Michael Nedzelsky
be2324031d decompiled text: add test for inherited interface 2015-09-01 15:06:45 +03:00
Nikolay Krasko
add43407d3 Overridden methods with generic type shows no implementations found (KT-8723)
#KT-8723 Fixed
2015-09-01 12:45:12 +03:00
Nikolay Krasko
2af541cd4f Refactor: splict logic to different methods 2015-09-01 12:45:11 +03:00
Nikolay Krasko
f2145fb9a5 Minor: drop usage of deprecated method 2015-09-01 12:45:11 +03:00
Alexander Udalov
f7a178f978 Report warning on 'Singleton.javaClass'
As a temporary measure before 'javaClass' property is deprecated and removed.
Getting the Java class of a singleton this way is confusing and most of the
time is a failed attempt to get the Java class of a class with a companion
object (e.g. 'Int.javaClass')
2015-09-01 11:36:57 +03:00
Alexander Udalov
3f1bf46756 Minor, add toString() for debug 2015-09-01 11:36:57 +03:00
Ilya Chernikov
427b27b367 Merge pull request #743 from JetBrains/rr/compile-service
Kotlin compile daemon
2015-09-01 09:15:13 +02:00
Nikolay Krasko
142ab96a5a Run/Debug editor gutter drop down does not work in Kotlin files (KT-8720)
#KT-8720 Fixed
2015-08-31 21:38:46 +03:00
Nikolay Krasko
55456fdaf4 Minor: fix class-only local run 2015-08-31 21:38:45 +03:00
Nikolay Krasko
d6b7214a65 More psi-only checks for Kotlin main function 2015-08-31 21:38:44 +03:00
Ilya Chernikov
7c1c628823 Next round of refactoring after review 2015-08-31 19:10:28 +02:00
Ilya Chernikov
9bee97e810 Refactoring after review 2015-08-31 18:39:55 +02:00
Ilya Chernikov
2d45a37884 Passing JPS process JVM memory options to daemon, refactoring options processing 2015-08-31 18:39:54 +02:00
Ilya Chernikov
61de1c3212 Fixes after review 2015-08-31 18:39:54 +02:00
ligee
434c30c1bc Simple test with daemon compilation, minor fixes mostly for easier testing 2015-08-31 18:39:53 +02:00
ligee
6e3ce69faa Shutting down daemon from kotlin plugin on idea exit, passing jvm params to daemon launch 2015-08-31 18:39:53 +02:00
ligee
5fee180d09 Daemon log, controlling it from launching, proper stdout/err redirection technique, params to control jvm options of the daemon 2015-08-31 18:39:52 +02:00
ligee
39d6592e1f Adding compiler id digest calculation and check to detect replaced compiler jar, minor fixes and refactorings 2015-08-31 18:39:51 +02:00
ligee
f08476cba9 Adding daemon stop command to kotlinr, minor fixes 2015-08-31 18:39:51 +02:00
ligee
d8be831339 Switching to stream for logging to simplify interaction with use sites 2015-08-31 18:39:50 +02:00
ligee
7ab2208fc5 implementing daemon startup, basic check and restart machanisms, switching to kotlin everythere, additional logging and checks, in JPS plugin daemon compilation is off by default, turned on by "kotlin.daemon.enabled" property 2015-08-31 18:39:50 +02:00
ligee
33cead12e0 working version of jps-plugin integration with daemon 2015-08-31 18:39:49 +02:00
ligee
b55894499f incremental compilation via daemon 2015-08-31 18:39:49 +02:00
ligee
06b3ca8343 Initial version of rmi-interface, compile server and kotlinr - commandline compile server client app 2015-08-31 18:39:48 +02:00
Valentin Kipyatkov
937f243046 DeprecatedSymbolUsageInWholeProjectFix removes imports too 2015-08-31 15:48:25 +03:00
Valentin Kipyatkov
e98edbcbac Code cleanup to remove deprecated symbol imports that have ReplaceWith 2015-08-31 15:48:25 +03:00
Valentin Kipyatkov
c020189ad0 Added UsePropertyAccessSyntaxIntention as cleanup tool 2015-08-31 15:48:25 +03:00
Yan Zhulanow
d734e2e665 Increase stub version 2015-08-31 15:33:18 +03:00
Yan Zhulanow
0b24e56f5a Use lazy to store split annotations, code simplification 2015-08-31 15:33:17 +03:00
Yan Zhulanow
b6adaab94b Move AnnotationSplitter to descriptors/annotations 2015-08-31 15:33:16 +03:00
Yan Zhulanow
47a05e8bd6 Fix targets on stdlib annotations 2015-08-31 15:33:15 +03:00
Yan Zhulanow
e7703df0b6 Use a single AnnotatedCallableKind enum item for property 2015-08-31 15:33:14 +03:00
Yan Zhulanow
97e4c097ba Split annotations lazily 2015-08-31 15:33:14 +03:00
Yan Zhulanow
2ce9903356 Fix tests 2015-08-31 15:33:13 +03:00
Yan Zhulanow
552211b2f4 Add bytecode listing test for use site targets and default targets (with priorities) 2015-08-31 15:33:12 +03:00
Yan Zhulanow
9dbd355e92 Render targeted annotations without escaping brackets 2015-08-31 15:33:11 +03:00
Yan Zhulanow
298093c4bd Forbid deprecated on field 2015-08-31 15:33:10 +03:00
Yan Zhulanow
e0c85cba23 Fix platformStatic in reflection-jvm 2015-08-31 15:33:09 +03:00
Yan Zhulanow
4b3999bf6c Serialize annotation target psi element 2015-08-31 15:33:08 +03:00
Yan Zhulanow
c488ce4cb3 Check annotation site targets using psi elements 2015-08-31 15:33:08 +03:00
Yan Zhulanow
499d5e1103 Support property and field annotations in CallableClsStubBuilder 2015-08-31 15:33:07 +03:00
Yan Zhulanow
b8d2ba23e3 Support generation of new annotations 2015-08-31 15:33:06 +03:00
Yan Zhulanow
3624c4e5dc Use target priorities to split annotations to different descriptors 2015-08-31 15:33:05 +03:00
Yan Zhulanow
9838f9c942 Check deprecated annotations with use site targets 2015-08-31 15:33:04 +03:00
Yan Zhulanow
1a477bd540 Add field and property deserialization tests 2015-08-31 15:33:04 +03:00
Yan Zhulanow
1b9dab47ec Deserialize property and field annotations 2015-08-31 15:33:03 +03:00
Yan Zhulanow
f86fe6a8d5 Allow multiple non-repeatable annotations with different targets 2015-08-31 15:33:02 +03:00
Yan Zhulanow
4ead50352d Put @receiver-targeted annotations on receiver type 2015-08-31 15:33:01 +03:00
Yan Zhulanow
91626cf02e Check receiver type annotations in JetCallableDeclaration 2015-08-31 15:33:00 +03:00
Yan Zhulanow
54f0da300c Force resolve type annotations 2015-08-31 15:32:59 +03:00
Yan Zhulanow
a3ba1af421 Generate receiver annotations using extension receiver type parameter 2015-08-31 15:32:59 +03:00
Yan Zhulanow
866552f6ab Redundant annotation target warning 2015-08-31 15:32:58 +03:00
Yan Zhulanow
5cb74a2b12 Do not allow field annotations on properties 2015-08-31 15:32:57 +03:00
Yan Zhulanow
8b47f56eb9 Allow property annotations on primary constructor parameter 2015-08-31 15:32:56 +03:00
Yan Zhulanow
08c678ef46 Deserialize receiver parameter annotations for extension functions 2015-08-31 15:32:55 +03:00
Yan Zhulanow
397da8746a Report more detailed message if use site target is available 2015-08-31 15:32:55 +03:00
Yan Zhulanow
6e415984f0 Move AnnotatedWithAdditionalAnnotations to backend 2015-08-31 15:32:54 +03:00
Yan Zhulanow
b38b7071b7 Targeted annotation diagnostic tests 2015-08-31 15:32:53 +03:00
Yan Zhulanow
8849d7d10a Check @param target applicability 2015-08-31 15:32:52 +03:00
Yan Zhulanow
e72ce555e0 Move annotation use-site checks to AnnotationUseSiteTargetChecker 2015-08-31 15:32:51 +03:00
Yan Zhulanow
8741b2d083 Allow targeted annotations in parameter list 2015-08-31 15:32:50 +03:00
Yan Zhulanow
8e65ceefd0 Check use-site targeted annotations with AnnotationTarget in declaration-site 2015-08-31 15:07:16 +03:00
Yan Zhulanow
a1eb544807 Parser tests for targeted annotations 2015-08-31 15:07:15 +03:00
Yan Zhulanow
2f1def6832 Support @param and @sparam annotations 2015-08-31 15:05:05 +03:00
Yan Zhulanow
00cfb3054a Support @receiver annotations 2015-08-31 15:05:05 +03:00
Yan Zhulanow
93579564c8 Support @property annotations 2015-08-31 15:05:04 +03:00
Yan Zhulanow
b1a28bcc6a Support @get and @set annotations 2015-08-31 15:05:04 +03:00
Yan Zhulanow
1010658a85 Parse other use-site targeted annotations 2015-08-31 15:05:03 +03:00
Yan Zhulanow
d56a3f97c6 Render annotations with use-site target 2015-08-31 15:05:03 +03:00
Yan Zhulanow
2bacbc9046 Support @field: annotations 2015-08-31 15:05:02 +03:00
Dmitry Jemerov
0499335c34 remove non-standard implementation of collectRefs() which is no longer necessary 2015-08-31 12:19:26 +02:00
Dmitry Jemerov
8abc6892ad use references search in introduce parameter 2015-08-31 12:19:23 +02:00
Dmitry Jemerov
adb10136a3 use ReferencesSearch when converting between function and property 2015-08-31 12:18:30 +02:00
Dmitry Jemerov
37c40c9a23 change the origin of light methods for property accessors to the property itself 2015-08-31 12:18:25 +02:00
Dmitry Jemerov
e283dbb8f4 when renaming a companion object, filter out references to companion object via its containing class, which shouldn't be updated by the rename 2015-08-31 12:08:13 +02:00
Dmitry Jemerov
e99316d22e rename tests: defaultObject -> companionObject 2015-08-31 12:08:12 +02:00
Dmitry Jemerov
039738a995 consider a companion object to be used if it contains any members 2015-08-31 12:08:05 +02:00
Dmitry Jemerov
c645b9c237 RenameKotlinClassProcessor: J2K 2015-08-31 12:08:04 +02:00
Dmitry Jemerov
3437891848 RenameJetClassProcessor: rename to .kt 2015-08-31 12:08:03 +02:00
Dmitry Jemerov
1f170e48e7 use references search for unused symbol inspection 2015-08-31 12:08:02 +02:00
Alexander Udalov
fb09c91714 Minor, rename PlatformStatic* -> JvmStatic* in reflection 2015-08-29 18:42:09 +03:00
Alexander Udalov
408a86c761 Minor, add toString() for easier debug 2015-08-29 18:37:42 +03:00
Alexander Udalov
a1097f7081 Add val KClass.staticProperties: Collection<KProperty0<*>>
To get static fields from Java classes
2015-08-29 18:37:41 +03:00
Alexander Udalov
593937d302 Support KCallable.callBy with map of parameters to arguments
callBy is able to handle optional parameters.

 #KT-8827 Fixed
2015-08-29 18:37:40 +03:00
Alexander Udalov
0d62680f63 Support KParameter.isOptional
#KT-8825 Fixed
2015-08-29 18:37:39 +03:00
Alexander Udalov
fd97383f8a Fix mapping of jvmStatic functions
#KT-8800 Fixed
2015-08-29 18:37:38 +03:00
Alexander Udalov
9a8cf23ed4 Support KClass.companionObject and companionObjectInstance
#KT-7636 Fixed
2015-08-29 18:37:32 +03:00
Alexander Udalov
94d45f35d4 Support KClass.nestedClasses 2015-08-29 17:59:45 +03:00
Valentin Kipyatkov
e8dc9ede31 Implemented HiddenDeclaration annotation (doc-comment to be added!) 2015-08-29 10:54:59 +03:00
Stanislav Erokhin
ba4fb3e37c Add hack for Repl 2015-08-29 01:46:00 +03:00
Stanislav Erokhin
2cb3842c39 Take snapshot for LexicalWritableScope when subscopes created 2015-08-29 01:45:59 +03:00
Stanislav Erokhin
4c7bafce45 Global replace JetScope to LexicalScope 2015-08-29 01:45:56 +03:00
Stanislav Erokhin
1b1fae8899 Minor. Added some util methods for LexicalScope 2015-08-29 01:44:36 +03:00
Stanislav Erokhin
d1efadf168 Created slice key LEXICAL_SCOPE 2015-08-29 01:44:35 +03:00
Stanislav Erokhin
1d5cd8f7e1 Created LexicalWritableScope add added RedeclarationHandler for LexicalScopeImpl 2015-08-29 01:44:34 +03:00
Stanislav Erokhin
04ccb4cf90 Added hashCode & equals to LexicalToJetScopeAdapter for correct rewrite in trace 2015-08-29 01:44:34 +03:00
Alexander Udalov
7c28a2e732 Support KClass.defaultType 2015-08-28 21:22:11 +03:00
Alexander Udalov
ea8fe56704 Include property type to KProperty.toString 2015-08-28 21:11:31 +03:00
Alexander Udalov
d36ef90dd6 Provide equals/hashCode/toString for KParameter implementation
Two KParameter instances are equal iff their backing descriptors are equal and
their callables are equal
2015-08-28 21:11:30 +03:00
Alexander Udalov
d4825cf4f0 Support KParameter.kind: instance, extension receiver, or value 2015-08-28 21:11:22 +03:00
Alexander Udalov
a73d02418d Introduce additional API for introspecting functions
memberFunctions, declaredMemberFunctions, staticFunctions, etc.

 #KT-8797 Fixed
2015-08-28 21:11:21 +03:00
Alexander Udalov
ebe4a8ec89 Provide equals/hashCode/toString for KType implementation 2015-08-28 21:11:20 +03:00
Alexander Udalov
9882e86ecb Don't render contents of enum entry classes in .txt tests, regenerate tests
They are irrelevant because cannot be accessed from the outside anyway
2015-08-28 21:11:06 +03:00
Alexander Udalov
29abf94327 Prohibit clone() for enum classes
#KT-8972 Fixed
2015-08-28 21:11:02 +03:00
Alexander Udalov
89f3cfc704 Support parameter names for Java 8 classes in reflection
Also support specifying additional options to javac in codegen tests, which was
needed to compile Java sources with the "-parameters" option
2015-08-28 21:11:01 +03:00
Alexander Udalov
30967baca8 Minor, rename extension property to avoid name clash 2015-08-28 21:11:00 +03:00
Denis Zharkov
e8f91e596c Adjust test data after fixes about generic nullability 2015-08-28 18:50:26 +03:00
Denis Zharkov
4a3fbcc16e Make project compilable after fixes about generic nullability 2015-08-28 18:50:26 +03:00
Denis Zharkov
5e09a0c2c9 Add some test cases after review 2015-08-28 18:50:25 +03:00
Denis Zharkov
00a78fce0c Get rid of special logic when check receiver
Instead of manually checking nullability when reporing UNSAFE_CALL_ERROR
just check if receiver type is subtype of receiver parameter

Make it in two steps
1. Check subtype with respect to smart casts but ignoring nullability (if it's not satisfied -> ERROR)
2. Check subtype with respect to nullability and smartcasts (record latter if needed)
2015-08-28 18:50:25 +03:00
Denis Zharkov
6ed6b2e298 Move and expand hack about not-null smart casts for type parameters 2015-08-28 18:50:25 +03:00
Denis Zharkov
acf6491eed Simplify getSmartCastVariantsExcludingReceiver
Use DataFlowValueFactory.createDataFlowValue instead of manual instanceof
2015-08-28 18:50:25 +03:00
Denis Zharkov
9f8f0e9d37 Fix DataFlowValue creation for Transient/Script receivers 2015-08-28 18:50:25 +03:00
Denis Zharkov
b471767e03 Refine smart cast check for type parameters 2015-08-28 18:50:25 +03:00
Denis Zharkov
aad977d204 Properly check whether nullability of receiver argument fits to parameter's nullability
It's should behave like we check isSubtype(receiverType, parameterType) + use nullability info from smart cast

 #KT-1090 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov
70d4a7997e Minor. Extract getDataFlowValueExcludingReceiver 2015-08-28 18:50:25 +03:00
Denis Zharkov
6ecfa6e985 Refine subtyping check: pay attention to corresponding supertype nullability
F: Any, T : F? => !isSubtype(T, Any)

It helps to identify upper bounds violation like in KT-7455

 #KT-7455 Fixed
 #KT-2924 Fixed
 #KT-3015 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov
a906be6dd7 Prohibit using null as a value of generic type
#KT-7350 Fixed
 #KT-7736 Fixed
 #KT-7485 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov
dfac2205fd Use makeNullable when checking if initial constraints are satisfied
In most cases it should not matter what to use makeNotNullable or makeNullable.
But the first one breaks for this type of constraint:
T <: Any? (where T is type parameter with upper bound Any?)

Currently makeNotNullable(T) doesn't differs from T, in contrast to makeNotNullable(Any?)
So makeNotNullable(T) <: makeNotNullable(Any?) is not satisfied, but it's obvious that T <: Any?.
2015-08-28 18:50:24 +03:00
Ilya Gorbunov
83f9ee2737 Concurrent getOrPut for concurrent maps.
#KT-5800 Fixed
2015-08-28 17:51:48 +03:00
Dmitry Jemerov
c7b26ed7ca improve support for renaming overriding methods in enum entries
#KT-8891 Fixed
2015-08-28 15:49:07 +02:00
Valentin Kipyatkov
a012fd0c7d Minor changes after code review 2015-08-28 16:22:48 +03:00
Valentin Kipyatkov
02922f3f93 No parameter name&type completion for anonymous function 2015-08-28 16:22:48 +03:00
Valentin Kipyatkov
bd4f1c65c2 Insert type arguments by Tab too 2015-08-28 16:22:47 +03:00
Valentin Kipyatkov
9df3bb8a06 More correct sorting of parameter name&type suggestions in completion 2015-08-28 16:22:47 +03:00
Valentin Kipyatkov
7ef9a9d6d4 Better presentation 2015-08-28 16:22:47 +03:00
Valentin Kipyatkov
2de5229098 Additional item inserting lambda provided by completion when all parameters before the last are optional 2015-08-28 16:22:47 +03:00
Valentin Kipyatkov
dfe4f8e34f Renamed parameters + slightly more correct logic 2015-08-28 16:22:46 +03:00
Valentin Kipyatkov
a4c5907a1f KT-8898 If invocation context contains functional value compatible with function in completion list, show non-literal item
#KT-8898 Fixed
2015-08-28 16:22:46 +03:00
Valentin Kipyatkov
fbb37f0154 Refactored ReferenceVariantsHelper to allow specifying receiver 2015-08-28 16:22:46 +03:00
Valentin Kipyatkov
6dde70e358 Split LookupElementFactory into 3 classes 2015-08-28 16:22:45 +03:00
Valentin Kipyatkov
cff817d03b Moved class 2015-08-28 16:22:45 +03:00
Valentin Kipyatkov
6e6e80cc2a Moved method 2015-08-28 16:22:45 +03:00
Valentin Kipyatkov
363295f6af Moved creation of additional items like special items for functions accepting lambda into LookupElementFactory to provide them in smart completion too 2015-08-28 16:22:44 +03:00
Valentin Kipyatkov
5b3e83d547 Deprecated method usage fix 2015-08-28 16:22:44 +03:00
Valentin Kipyatkov
66719923c2 KT-6050 Support completion for super qualifier
#KT-6050 Fixed
2015-08-28 16:22:44 +03:00
Valentin Kipyatkov
7458000f14 Use DescriptorToSourceUtilsIde because DescriptorToSourceUtils does not work for compiled Kotlin descriptors 2015-08-28 16:22:44 +03:00
Dmitry Jemerov
19eea4bf4e store cached Java file stub in the userdata of a JetFile (project specific), not of VirtualFile (app global) 2015-08-28 15:16:22 +02:00
Nikolay Krasko
1a47d6754d Allow to search marker classes in dumb mode (EA-67309) 2015-08-28 13:44:02 +03:00
Nikolay Krasko
4c9af37526 Can't navigate to SAM adapter function declaration (KT-8918)
#KT-8918 Fixed
2015-08-28 13:43:59 +03:00
Valentin Kipyatkov
ab783e052f No override for private to this 2015-08-27 23:21:22 +03:00
Valentin Kipyatkov
4717b17418 Inspection & fix for redundant supertype qualification 2015-08-27 23:21:22 +03:00
Valentin Kipyatkov
d62eeb1c25 Better test 2015-08-27 23:21:22 +03:00
Valentin Kipyatkov
dcfe9b98d7 Fixed bug with duplicated members in Override Members dialog 2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
ccfa48b564 MInor 2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
40638de67c Override members does not generate qualified super when not needed 2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
dd6702b832 Minor 2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
9497856d8e KT-8868 "Implement members" generates unqualified reference for member class/interface
#KT-8868 Fixed
2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
14763a7ffa Renames 2015-08-27 23:21:21 +03:00
Valentin Kipyatkov
ba33c834c1 Add name to argument intention to work not only on the last argument 2015-08-27 23:21:20 +03:00
Dmitry Jemerov
5e1d8bc503 test for safe delete of data class parameter used as componentN() function in Kotlin code 2015-08-27 21:15:48 +02:00
Dmitry Jemerov
63d477e355 fix broken merge; support for renaming primary constructor parameter which declares an overridden property 2015-08-27 21:15:47 +02:00
Dmitry Jemerov
3e5c687e9d additional tests to verify that cases from KT-4793 are fixed
#KT-4793 Fixed
2015-08-27 21:15:47 +02:00
Dmitry Jemerov
ef4b32db0d fix find usages and rename for primary constructor properties
#KT-8807 Fixed
2015-08-27 21:15:46 +02:00
Yan Zhulanow
0c87639514 Fix annotation list parsing: @identifier:[a b c] 2015-08-27 18:16:06 +03:00
Nikolay Krasko
440379dfad Add univeral targets for idea_continuous that can work not only in JB local network 2015-08-27 15:51:57 +03:00
Nikolay Krasko
53db747a55 Use local mirror for getting idea artifacts 2015-08-27 15:51:56 +03:00
Nikolay Krasko
75396ff7bb Remove deprecated targets 2015-08-27 15:51:55 +03:00
Nikolay Krasko
a2f30f9619 Add simple pattern pre-check in hasMetadata() 2015-08-27 15:49:18 +03:00
Dmitry Jemerov
18223dfaaa update backing field references when renaming Kotlin property
#KT-7905 Fixed
2015-08-27 14:31:17 +02:00
Dmitry Jemerov
96f2257b23 disable rename refactoring for function literals (KT-8917) 2015-08-27 14:18:55 +02:00
Valentin Kipyatkov
9d7e6600d4 Got rid of allKotlinClasses() method 2015-08-27 13:34:33 +03:00
Valentin Kipyatkov
542fa34c2d KT-8680 Change priority of imported descriptors (user imports vs default imports)
#KT-8680 Fixed
2015-08-27 13:34:33 +03:00
Stanislav Erokhin
d92e71861e Changed JetScope to LexicalScope in ClassDescriptorWithResolutionScopes and DeclarationScopeProvider 2015-08-27 12:01:13 +03:00
Stanislav Erokhin
47f88eb1c1 Created LexicalChainedScope and LexicalScopeImpl 2015-08-27 12:01:12 +03:00
Stanislav Erokhin
2a0159f23b Created JetScope.memberScopeAsFileScope() 2015-08-27 12:01:11 +03:00
Stanislav Erokhin
aa3be395a4 Extract WritableScopeStorage from WritableScopeImpl 2015-08-27 12:01:10 +03:00
Stanislav Erokhin
40c3b03a54 Minor. Change return type for method WritableScope.changeLockLevel 2015-08-27 12:01:09 +03:00
Stanislav Erokhin
3152d722cd Fix bug in ScopeUtils. 2015-08-27 12:01:09 +03:00
Stanislav Erokhin
aaebe70342 Improved logic of finding conflicts for refactoring actions 2015-08-27 12:01:08 +03:00
Stanislav Erokhin
9a435e332f Fix InnerClassesScopeWrapper - remove properties and functions from this scope. 2015-08-27 12:01:07 +03:00
Stanislav Erokhin
49b294b8b4 Move MutableClassDescriptor to backend module 2015-08-27 12:01:06 +03:00
Stanislav Erokhin
a4599ef5e2 Clean up MutableClassDescriptor 2015-08-27 12:01:06 +03:00
Ilya Gorbunov
84d3d42e05 Replace deprecated reverse method usages. 2015-08-27 11:45:44 +03:00
Ilya Gorbunov
ca798d8d71 Rename reverse to reversed.
#KT-8171
2015-08-27 11:45:30 +03:00
Alexander Udalov
56e12787a8 Fix exception on overridding var-property with a val constructor parameter
#KT-3810 Fixed
2015-08-27 10:23:49 +03:00
Alexander Udalov
59a15092da Drop old preloader command-line interface, use new one instead 2015-08-27 08:19:51 +03:00
Alexander Udalov
2a93629305 Render original descriptor in the deprecation warning
Otherwise it gets confusing when multiple instantiations of the same deprecated
symbol (e.g. javaClass<T>()) are diagnosed with different type arguments
2015-08-27 08:19:51 +03:00
Alexander Udalov
8d9618348d Move .java and .kotlin extension properties to kotlin.jvm
Delete the old ones in package kotlin.reflect.jvm because otherwise the code
using those functions will become red in a lot less meaningful way (overload
resolution ambiguity) than if they're deleted (unresolved import)

Based on the work originally done by @dnpetrov

 #KT-8380 Fixed
2015-08-27 08:19:50 +03:00
Ilya Gorbunov
b8badd59ba Introduce reversed extension for Comparator. 2015-08-27 00:10:11 +03:00
Ilya Gorbunov
5a474adf59 Unify selector parameter names. 2015-08-27 00:09:57 +03:00
Ilya Gorbunov
7d33599fc2 Parameterless nullsFirst and nullsLast and misc comparator combining functions. 2015-08-27 00:09:44 +03:00
Ilya Gorbunov
5a4e598ba7 Another approach for sorting nulls. 2015-08-27 00:09:31 +03:00
Ilya Gorbunov
d49a1973e5 Change null handling in compareValuesBy(a, b, functions). Provide nullsFirst() and nullsLast() to extend Comparator<T> to Comparator<T?>. 2015-08-27 00:09:17 +03:00
Ilya Gorbunov
63110dcdf8 Remove StdLibArraysTest and include collections/ArraysTest.kt into StdLibTestToJSTest smoke tests instead.
Move helper methods, so they are available in JS semantics tests.
2015-08-27 00:09:04 +03:00
Ilya Gorbunov
521e0b679d Rename sortedDescendingBy to sortedByDescending 2015-08-27 00:08:50 +03:00
Ilya Gorbunov
002c3e850f Tests for sorting methods. 2015-08-27 00:08:37 +03:00
Ilya Gorbunov
5eb69334b4 compareBy and related Comparator constructors have the same null-comparison semantics as compareValuesBy. 2015-08-27 00:08:23 +03:00
Ilya Gorbunov
0f5c3678f8 Provide asIterable for sequences. 2015-08-27 00:08:10 +03:00
Ilya Gorbunov
6f71e54268 In-place array sorting in JS. 2015-08-27 00:07:56 +03:00
Ilya Gorbunov
8d481fc611 Deprecate all sort methods and provide sorted ones.
#KT-4903
2015-08-27 00:07:43 +03:00
Michael Nedzelsky
c061a3dbd8 disable parallel compilation for Kotlin modules 2015-08-26 23:02:55 +03:00
Dmitry Jemerov
ca20d9c1b3 use custom exception class to represent the "no descriptor for declaration" case 2015-08-26 17:33:57 +02:00
Nikolay Krasko
a2a259552b Log isPhysical() for file 2015-08-26 13:17:02 +03:00
Nikolay Krasko
9dcd73418e Stop crashing in building report - diagnostic for EA-70372 2015-08-26 13:17:00 +03:00
Nikolay Krasko
b5b5305456 Diagnostics for Rewrite at slice RESOLUTION_SCOPE key: REFERENCE_EXPRESSION (EA-64051) 2015-08-26 13:16:58 +03:00
Natalia Ukhorskaya
576b4f445c Debugger: add tests for smart casted property 2015-08-26 12:16:08 +03:00
Natalia Ukhorskaya
19e8c9edb0 Debugger: Support parameters of inlined lambda in evaluate expression 2015-08-26 12:16:08 +03:00
Natalia Ukhorskaya
32bf7d9520 Debugger: quote localVariableName if needed 2015-08-26 12:16:07 +03:00
Natalia Ukhorskaya
06b13f1292 Debugger: get topmost element at offset as contextElement 2015-08-26 12:16:06 +03:00
Natalia Ukhorskaya
c6d29cc1d5 Debugger: support labels for non object references (primitive, array) 2015-08-26 12:16:05 +03:00
Natalia Ukhorskaya
35cb23ffbe Debugger: add tmp file to exception report 2015-08-26 12:16:04 +03:00
Natalia Ukhorskaya
73099c3a41 Minor: move to base class 2015-08-26 12:16:03 +03:00
Natalia Ukhorskaya
bd43dbc7f4 Minor: use property access syntax if possible 2015-08-26 12:16:02 +03:00
Natalia Ukhorskaya
d675c12a32 Minor: change method return type 2015-08-26 12:16:02 +03:00
Natalia Ukhorskaya
d46765d460 Completion in JetCodeFragment: optimize descriptors comparasion 2015-08-26 12:16:01 +03:00
Natalia Ukhorskaya
87735749ea Fix warnings 2015-08-26 12:16:00 +03:00
Stanislav Erokhin
abb18b7bb9 KT-8861 Package name vs property with wrong receiver
#KT-8861 Fixed
2015-08-25 20:43:52 +03:00
Valentin Kipyatkov
0883bfa615 Changes on code review 2015-08-25 18:56:45 +03:00
Valentin Kipyatkov
92f5ec2ce5 Overriding LookupElement.getPsiElement() for all our LookupElement's because some IDEA features may use it 2015-08-25 18:56:18 +03:00
Valentin Kipyatkov
9a641974f8 Dropped LocationWeigher because it was duplicated by proximity weigher (only preference of symbols from project sources was not duplicated but it's doubtful) 2015-08-25 18:56:18 +03:00
Valentin Kipyatkov
6c46e3ec02 Better test 2015-08-25 18:56:18 +03:00
Valentin Kipyatkov
fd34ff3239 Implemented own version of LookupElementProximityWeigher (the standard one checks getObject() instanceof PsiElement)
#KT-8842 Fixed
2015-08-25 18:56:18 +03:00
Valentin Kipyatkov
f86850061b Use original descriptor for statistics 2015-08-25 18:56:18 +03:00
Valentin Kipyatkov
dc875194eb Better Statistician for completion 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
4bbd1927a7 Fixed usage of deprecated method 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
d7bc7871c5 Preference of properties to functions made lower priority in completion 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
83feffec63 Shorter rendering in StatisticsInfo 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
628ce4ea32 Better sorting of variants in add import popup 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
5a4cd96c75 Fix in extractableAnalysisUtil.kt 2015-08-25 18:56:17 +03:00
Valentin Kipyatkov
0f332bd8b9 Refactored sorting in completion
Also changed semantics of DeclarationDescriptor.importableFqName - it now returns null when descriptor cannot be referenced by import + dropped DeclarationDescriptor.importableFqNameSafe
2015-08-25 18:56:16 +03:00
Valentin Kipyatkov
68c0c83879 Better sorting: current package is preferred 2015-08-25 18:56:16 +03:00
Valentin Kipyatkov
b4e71364a3 Super-naive implementation of CompletionStatistician 2015-08-25 18:56:16 +03:00
Valentin Kipyatkov
9837d383a9 Completion and add import popup to use same sorter
#KT-8842 In progress
2015-08-25 18:56:16 +03:00
Valentin Kipyatkov
adea67b219 KT-7790 Import popup should show the most preferable item in its text
#KT-7790 Fixed
2015-08-25 18:56:16 +03:00
Valentin Kipyatkov
32cecf5a4c KT-8828 Parameter name and type completion should not pop up when typing-in parameter name in template mode
#KT-8828 Fixed
2015-08-25 18:56:15 +03:00
Valentin Kipyatkov
9900506254 No repeating of completion auto-popup after Esc in all positions 2015-08-25 18:56:15 +03:00
Valentin Kipyatkov
a015c44a60 KT-8843 When typing in lambda parameters' names, smart completion kicks in and makes it impossible to type names
#KT-8843 Fixed
2015-08-25 18:56:15 +03:00
Valentin Kipyatkov
9b04afc278 Minor optimization 2015-08-25 18:56:15 +03:00
Valentin Kipyatkov
5fc6525db6 Completion to insert type arguments for a call when they are likely required 2015-08-25 18:56:15 +03:00
Dmitry Jemerov
4743a69d76 rename platformName annotation to jvmName 2015-08-25 15:40:46 +02:00
Zalim Bashorov
3465126bee Add test lookup tracking for local declarations 2015-08-24 19:50:10 +03:00
Zalim Bashorov
3b21d391c5 Add test for lookups to classifier members 2015-08-24 19:50:09 +03:00
Zalim Bashorov
bdd834604a Add lacation parameter to ModuleDescriptor.resolveTopLevelClass (in DescriptorUtils.kt) 2015-08-24 19:50:09 +03:00
Zalim Bashorov
eaacd46b4e Add location parameter to DescriptorUtils#getInnerClassByName 2015-08-24 19:50:08 +03:00
Zalim Bashorov
4dbc08635c Minor: inline last usages of deprecated JetScope::getFunctions(Name) and drop it 2015-08-24 19:50:08 +03:00
Zalim Bashorov
a395b8b4dd Minor: drop deprecated JetScope::getProperties which no longer have usages 2015-08-24 19:50:07 +03:00
Zalim Bashorov
024c2761c8 Ignore lookups to parent scope for find super members 2015-08-24 19:50:07 +03:00
Zalim Bashorov
2f13c89fd8 Ignore lookups when typing unqualified super 2015-08-24 19:50:06 +03:00
Zalim Bashorov
30d2d9624a Minor: add missed ignores 2015-08-24 19:50:06 +03:00
Zalim Bashorov
3c2762dd1d Don't track lookups for JetScope::getDescriptors (and JetScope::getAllDescriptors) 2015-08-24 19:50:05 +03:00
Zalim Bashorov
6a3200764f Don't try to record lookups which already tracked 2015-08-24 19:50:05 +03:00
Zalim Bashorov
cca57af401 Provide LookupLocation when resolve calls 2015-08-24 19:50:04 +03:00
Zalim Bashorov
45e6747061 Minor: use synthetic properties everywhere in CallableDescriptorCollectors.kt 2015-08-24 19:50:04 +03:00
Zalim Bashorov
556c755e83 Add test for lookups to top level declarations 2015-08-24 19:50:03 +03:00
Zalim Bashorov
0ba18ca8cd Track the top level declarations, note not usages
It'll be useful for more accurate tracking dependencies inside package.
2015-08-24 19:50:03 +03:00
Zalim Bashorov
673df1f085 No more record path to file which contains current scope in LookupTracker 2015-08-24 19:50:02 +03:00
Zalim Bashorov
7790c2fd71 Minor: ignore KDoc like comments which starts with /**
for example it can be used to mark lookups which we can't report yet
2015-08-24 19:50:02 +03:00
Zalim Bashorov
6bed076228 Minor: fix warnings in AbstractIncrementalJpsTest.kt
* used new property access syntax
* splitBy -> split
* used string template instead of concatenation
2015-08-24 19:50:02 +03:00
Zalim Bashorov
b32040f610 Store lookup info inside testData code instead of separate file 2015-08-24 19:50:01 +03:00
Dmitry Jemerov
704e72eee1 correcty find Java usages of static methods generated for companion object members annotated as jvmStatic
#KT-8902 Fixed
2015-08-24 18:12:13 +02:00
Dmitry Jemerov
24f45a382e ReferencesSearch finds references of data class component functions in Java code
#KT-8808 Fixed
2015-08-24 18:12:05 +02:00
Dmitry Jemerov
056d8dfd9f correcty index escaped identifiers
#KT-8846 Fixed
2015-08-24 15:47:28 +02:00
Dmitry Jemerov
d9a854608b test to verify that renaming fields of local objects works
#KT-6528 Fixed
2015-08-24 15:12:45 +02:00
Dmitry Jemerov
24ba5a46f1 use correct safe delete processor for members of local classes and objects
#KT-8894 Fixed
2015-08-24 15:12:45 +02:00
Nikolay Krasko
522a5ea0f2 Safe Delete does not warn about class literal - tests (KT-8919)
#KT-8919 In Progress
2015-08-24 15:50:20 +03:00
Dmitry Jemerov
b45af1d47a the source for a parameter of the generated copy() function is the corresponding constructor parameter
#KT-8698 Fixed
2015-08-24 12:20:40 +02:00
Natalia Ukhorskaya
351e1863fc J2K: Support for method references
#KT-8721 Fixed
2015-08-24 12:37:41 +03:00
Natalia Ukhorskaya
ddd7251fce J2K: Add RemoveRedundantSamConstructor postprocessing 2015-08-24 12:37:39 +03:00
Natalia Ukhorskaya
bf7f56d458 Redundant Sam Constructor inspection 2015-08-24 12:37:37 +03:00
Natalia Ukhorskaya
ccb4abee95 Refactor AbstractInspectionTest to allow java files 2015-08-24 12:37:35 +03:00
Natalia Ukhorskaya
ba48a5b7fc Formatter: space between type argument list and function literal argument 2015-08-24 12:37:33 +03:00
Natalia Ukhorskaya
03097d3453 J2K: Idea doesn't proposed to insert imports on copy-paste if explicit import was inserted
#KT-8738 Fixed
2015-08-24 12:37:31 +03:00
Natalia Ukhorskaya
2226ace683 Ddebugger: fix problem with imports in codeFragments when import is inserted during creation (ex. from variables view)
(cherry picked from commit a2322621cb48cd1dfa2227c1baeb3983c1580c54)
2015-08-24 10:39:05 +03:00
Dmitry Petrov
641a59dcf2 - Create independent instances of MandatoryMethodTrasformer.
- Properly encapsulate LabelNormalizationMethodTransformer state.
2015-08-24 09:52:29 +03:00
Alexander Udalov
36c88da93a Minor, fix deprecation warnings in android-compiler-plugin 2015-08-24 01:29:59 +03:00
Alexander Udalov
63831387cf Only catch exceptions originating from incorrect use in preloader 2015-08-24 01:29:59 +03:00
Alexander Udalov
aba6ab1299 Refactor command-line interface to kotlin-preloader.jar
Use reasonable defaults for the options: no time profiling, no instrumenters,
empty classpath, 4096 as the class number estimate. Replace 4096 in the
codebase with the constant field.

Keep the old interface intact until the build is bootstrapped and the new one
can be used in all compilation steps
2015-08-24 01:29:58 +03:00
Alexander Udalov
a592b42357 Refactor Preloader: simplify mode parsing, unify output 2015-08-24 01:29:58 +03:00
Alexander Udalov
7dcb690254 Additional tests on reflection calls 2015-08-24 01:29:58 +03:00
Alexander Udalov
ccb58d8601 Minor, add some tests on get/set/name/instanceof for properties w/o reflection 2015-08-24 01:29:58 +03:00
Alexander Udalov
9f7cb752db Minor, rename KCallableContainerImpl -> KDeclarationContainerImpl
Also rename DeclarationContainerImpl -> ClassBasedDeclarationContainer and make
non-public
2015-08-24 01:29:57 +03:00
Alexander Udalov
df76695e72 Somewhat improve 'incomplete hierarchy' diagnostic message 2015-08-24 01:29:57 +03:00
Alexander Udalov
9095fa2844 Make PropertyMetadataImpl a data class
To allow property delegates to use property metadata as a key in the hash map,
and to improve debugging experience
2015-08-24 01:29:57 +03:00
Pavel V. Talanov
ea292fa6d2 Remove some usages of JetElement.analyzeAndGetResult 2015-08-21 21:12:46 +03:00
Pavel V. Talanov
608345df7b Improve ResolutionFacade api: it stores moduleInfo and provides moduleDescriptor
Remove some redundant parameters passed along with ResolutionFacade
2015-08-21 21:11:59 +03:00
Yan Zhulanow
a802ab5300 Fix safe delete tests
Relevant intellij-community commit: b696a371747caa9a2be16c482df37e91936f86c6
2015-08-21 18:56:52 +03:00
Nikolay Krasko
230877c1a8 Update to idea 142.4083.2 2015-08-21 18:56:50 +03:00
Nikolay Krasko
90b67eea41 Fix test for kdoc - add processing of new node 2015-08-21 18:56:48 +03:00
Nikolay Krasko
9b5b5bb0ee Drop absent jdk annotation notifier 2015-08-21 18:56:45 +03:00
Dmitry Jemerov
341f09afd3 rename platformStatic to jvmStatic 2015-08-21 16:59:05 +02:00
Dmitry Jemerov
4053c19260 increase codecache size for tests run configuration 2015-08-21 12:59:42 +02:00
Dmitry Jemerov
301e79033d delete the UI for editing Kotlin signatures in Java files 2015-08-21 12:14:25 +02:00
Dmitry Jemerov
482406b0d9 remove descriptor field from LightClassDataForKotlinClass 2015-08-21 12:09:09 +02:00
Dmitry Jemerov
c00fbb236f don't perform full resolve and stub building for isInheritor() checks
#KT-8656 Fixed
2015-08-21 12:08:53 +02:00
Dmitry Jemerov
6c32f655f9 KotlinLightClassForExplicitDeclaration: cleanup 2015-08-21 12:08:52 +02:00
Dmitry Jemerov
f2ff752dd1 KotlinLightClassForExplicitDeclaration: J2K 2015-08-21 12:08:51 +02:00
Dmitry Jemerov
4b2a662eb3 KotlinLightClassForExplicitDeclaration: rename to .kt 2015-08-21 12:08:51 +02:00
Nikolay Krasko
e13d1d3e44 Workaround for exception from analyze (KT-8749) 2015-08-21 13:00:49 +03:00
Nikolay Krasko
5b3c05d039 Don't filter class files and jars from build script. Get a warning about their absence. 2015-08-20 18:48:38 +03:00
Nikolay Krasko
ffb9cb0ce0 Cache information about library in file user data (KT-8537)
KT-8537 Kotlin plugin is causing Intellij to freeze during Indexing

 #Fix KT-8537
2015-08-20 15:28:30 +03:00
Nikolay Krasko
0946e1b279 Store on local jar files to have valid timestamp 2015-08-20 15:28:29 +03:00
Nikolay Krasko
ee36de9602 Simplify jar-processor framework 2015-08-20 15:28:28 +03:00
Nikolay Krasko
3b14241224 Create background jar-processor that can store meta information for jars 2015-08-20 15:28:27 +03:00
Nikolay Krasko
e17908e5c6 Minor: rewrite with Kotlin stdlib 2015-08-20 15:28:26 +03:00
Alexey Sedunov
a085c93b5e Light Classes: Fix computation of base type in anonymous light class 2015-08-19 23:30:13 +03:00
Alexey Sedunov
d48851ba63 Create From Usage: Fix ClassCastException on local property with delegate
#EA-69707 Fixed
2015-08-19 23:30:10 +03:00
Alexey Sedunov
85f85e85b4 Create From Usage: Quote declaration name if it's not a valid identifier
#EA-70291 Fixed
2015-08-19 23:30:07 +03:00
Alexey Sedunov
d18a9f6d8a Create From Usage: Fix StackOverflowException on recursive type parameter bounds
#EA-69240 Fixed
2015-08-19 23:29:55 +03:00
Alexey Sedunov
69218e2647 Find Usages: Fix NPE on constructor with missing name
#EA-69907 Fixed
2015-08-19 23:26:17 +03:00
Alexey Sedunov
06cca689fc Call Hierarchy: Forbid interfaces
#EA-64406 Fixed
2015-08-19 23:26:15 +03:00
Pavel V. Talanov
2432571a8c Get SmartCastManager as a service in ReferenceVariantsHelper 2015-08-19 21:18:47 +03:00
Pavel V. Talanov
6c48c29bf9 Make AnalyzerFacade an abstract class instead of interface
Seems to workaround some compiler bug
2015-08-19 21:18:46 +03:00
Pavel V. Talanov
72710c0318 Fix usages of AnalyzerUtil
Sadly contains some changes that hard to merge into appropriate commits introduced after rebasing repeatedly
2015-08-19 21:18:45 +03:00
Pavel V. Talanov
5cc39e3fb2 GlobalJavaResolverContext -> JavaResolverComponents 2015-08-19 21:18:45 +03:00
Pavel V. Talanov
0101f30261 Drop containerForMacros 2015-08-19 21:18:44 +03:00
Pavel V. Talanov
fae6968dda UsePropertyAccessSyntaxIntention: drop usage of containerForMacros 2015-08-19 21:18:44 +03:00
Pavel V. Talanov
ea8c17adeb Pass ResolutionFacade into ReferenceVariantsHelper and ShadowedDeclarationsFilter 2015-08-19 21:18:43 +03:00
Pavel V. Talanov
d7c1798ee6 Move ResolutionFacade to ide-common module 2015-08-19 21:18:42 +03:00
Pavel V. Talanov
dd0823010f Refactor: Make ResolutionFacade.getFileTopLevelScope an utility 2015-08-19 21:18:42 +03:00
Pavel V. Talanov
0d78c8acb5 Refactor: Make ResolutionFacade.resolveImportReference an utility 2015-08-19 21:18:41 +03:00
Pavel V. Talanov
06b96c2b12 Drop CacheExtension 2015-08-19 21:18:40 +03:00
Pavel V. Talanov
e041042328 Minor: move getResolveScope out of ResolutionFacade 2015-08-19 21:18:40 +03:00
Pavel V. Talanov
d09f4a4dbb Merge ResolutionFacadeImpl and KotlinResolveCache, rewrite JavaResolveExtension 2015-08-19 21:18:39 +03:00
Pavel V. Talanov
94431bc3fa Move ResolutionFacadeImpl to a separate file 2015-08-19 21:18:39 +03:00
Pavel V. Talanov
e88ea1f807 Improve naming 2015-08-19 21:18:38 +03:00
Pavel V. Talanov
1a3886f9b7 Inject TypeResolver into HeuristicSignatures 2015-08-19 21:18:37 +03:00
Pavel V. Talanov
f98cb74d53 Make HeuristicSignatures an IDE service 2015-08-19 21:18:37 +03:00
Pavel V. Talanov
87f826d1b8 Refactor: IterableTypesDetector into an IDE component 2015-08-19 21:18:36 +03:00
Pavel V. Talanov
5836fd39e4 Refactor: Move AnalyzerUtil to "idea-analysis" module and rewrite using new api 2015-08-19 21:18:36 +03:00
Pavel V. Talanov
6802973743 Refactor: merge duplicated code for code fragment analysis
Introduce CodeFragmentAnalyzer
2015-08-19 21:18:35 +03:00
Pavel V. Talanov
7130e9f881 "container" module exports "javax.inject" dependency 2015-08-19 21:18:34 +03:00
Pavel V. Talanov
f38abd5258 Refactor Descriptor renderer test to avoid creating ResolveElementCache explicitly 2015-08-19 21:18:34 +03:00
Pavel V. Talanov
ddbf4c18d3 Minor: inject targetPlatform into ResolveElementCache 2015-08-19 21:18:33 +03:00
Pavel V. Talanov
7cbac51018 Refactor: merge ElementResolver into ResolveElementCache
This is a bit questionable since there are plans to use it in eclipse plugin, but we do it for now
It's possible that we can come up with a better abstraction later
2015-08-19 21:18:32 +03:00
Pavel V. Talanov
0a40b375a1 Minor: get SmartCastManager as a service in CompletionSession and KotlinIndicesHelper 2015-08-19 21:18:32 +03:00
Pavel V. Talanov
2b9d49e787 Remove a couple of usages of createContainerForMacros 2015-08-19 21:18:31 +03:00
Pavel V. Talanov
0c2650c86c Provide API to get frontend services from plugin code via resoltion facade
API to create ide-side services using frontend services (for now "ide services" cannot be injected into other ide services)
2015-08-19 21:18:31 +03:00
Pavel V. Talanov
84ebc7a0f8 Rename SmartCastUtils -> SmartCastManager and make it a component 2015-08-19 21:18:30 +03:00
Pavel V. Talanov
da025475a8 Make TypeIntersector a component and inject it into some points of usage 2015-08-19 21:18:29 +03:00
Pavel V. Talanov
f393ce598d Extract TypeIntersector from TypeUtils 2015-08-19 21:18:29 +03:00
Pavel V. Talanov
52bc84cb5f Introduce LocalDescriptorResolver which handles differences in local declaration resolution between compiler and ide environments 2015-08-19 21:18:28 +03:00
Pavel V. Talanov
2ef5e03f27 Introduce TargetEnvironment and CompilerEnvironment 2015-08-19 21:18:27 +03:00
Valentin Kipyatkov
b3adf27b81 Don't invoke applicabilityRange twice for each highlighting 2015-08-19 20:46:38 +03:00
Valentin Kipyatkov
4bf20d747a Changes on code review 2015-08-19 20:46:38 +03:00
Valentin Kipyatkov
4876668716 Correct read/write access detection in case of plusAssign etc 2015-08-19 20:46:38 +03:00
Valentin Kipyatkov
97bf6f820a Fix in read/write detection 2015-08-19 20:46:38 +03:00
Valentin Kipyatkov
5e97387e8d Public utility to detect read/write access for an expression
Implemented ReadWriteAccessDetector which gives read/write access in Highlight Usages and Find Usages
+ More correct UsageType detection
2015-08-19 20:46:37 +03:00
Valentin Kipyatkov
1fd0578b9e Fixed deprecated symbol usage fix for functions with optional parameters from libraries
#KT-8525 Fixed
2015-08-19 18:06:31 +03:00
Dmitry Jemerov
d53b990655 add missing read actions for Find Usages (EA-66822) 2015-08-19 16:58:10 +02:00
Valentin Kipyatkov
30a9a8787e Optimize imports to use "packages to import with *" setting 2015-08-19 17:27:47 +03:00
Valentin Kipyatkov
9b4e3b15c4 KT-8822 Override Members: do not show private members from java classes
#KT-8822 Fixed
2015-08-19 17:26:44 +03:00
Michael Nedzelsky
f42a589ddc enable testKotlinOnlyDaemonMemory 2015-08-19 09:02:07 +03:00
Stanislav Erokhin
ec43f49ab4 Fixed completion for extension function after removing members for implicit receiver from scope. 2015-08-18 21:28:28 +03:00
Stanislav Erokhin
a1274f91ba Minor. Inline NO_RECEIVER_PARAMETER = null 2015-08-18 21:28:06 +03:00
Stanislav Erokhin
2ee8f1c454 Change outer scope for nested class and object -- removed implicit outer class receiver.
#KT-5362 Fixed
#KT-8814 Fixed
2015-08-18 21:26:42 +03:00
Stanislav Erokhin
b83b298f68 Minor. move static scope from ClassResolutionScopesSupport to LazyClassDescriptor 2015-08-18 21:26:42 +03:00
Stanislav Erokhin
17d8424cee Remove member scope from scopeForMemberDeclarationResolution 2015-08-18 21:26:41 +03:00
Stanislav Erokhin
0d8ae8f949 Use member scope for declaration instead resolution scope in LazyDeclarationResolver 2015-08-18 21:26:41 +03:00
Stanislav Erokhin
d762d75942 Created LexicalScope and FileScope. 2015-08-18 21:26:35 +03:00
Stanislav Erokhin
f5c6e8cb77 Minor. Removed unused code. 2015-08-18 21:26:34 +03:00
Valentin Kipyatkov
947db74b62 Minor 2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
275299f5e2 Merged 2 tests 2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
ba8c2f1084 Refactored RemoveModifierFix + some psi API refactoring
#EA-69237 Fixed
2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
fd517d41d1 Converted to Kotlin 2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
aaaf033338 Added diagnostic for EA-69526 - assert: JavaToKotlinConverter.checkReferenceValid 2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
fdf7e483b0 Added diagnostic for EA-70090 - assert: PsiUtilPackage$psiUtils$bbf.getElementTextWithContext 2015-08-18 18:50:00 +03:00
Valentin Kipyatkov
469c5a24de Rewritten ReplaceInfixCallFix
#EA-70093 Fixed
2015-08-18 18:49:59 +03:00
Valentin Kipyatkov
81acf72d0b No i18n 2015-08-18 18:49:59 +03:00
Valentin Kipyatkov
b6311d7be7 Converted to Kotlin 2015-08-18 18:49:59 +03:00
Valentin Kipyatkov
4ba1f423e1 EA-70229 - IOOBE (KotlinFunctionInsertHandler): ImmutableText.findLeaf
#EA-70229 Fixed
2015-08-18 18:49:59 +03:00
Valentin Kipyatkov
b7c1bed809 EA-70292 - KNPE: BindingContext.TYPE_RESOLUTION_SCOPE returns null
#EA-70292 Fixed
2015-08-18 18:49:59 +03:00
Valentin Kipyatkov
b715e2e9f5 KT-8688 Classes in Go To class list are misaligned with Java neighbors
#KT-8688 Fixed
2015-08-18 18:49:58 +03:00
Valentin Kipyatkov
93619ddc00 Likely fixed EA-70294 - Uncommited document on applying intention
#EA-70294 Fixed
2015-08-18 18:49:58 +03:00
Valentin Kipyatkov
a7d4f600b7 Added better diagnostic for EA-70945 2015-08-18 18:49:58 +03:00
Valentin Kipyatkov
da16a4017e Hopefully fixed EA-71700 and EA-71699
#EA-71700 Fixed
 #EA-71699 Fixed
2015-08-18 18:49:58 +03:00
Valentin Kipyatkov
cd8fa97a20 Hopefully fixed EA-71565 and similar problems
#EA-71565 Fixed
2015-08-18 18:49:57 +03:00
Valentin Kipyatkov
6d163a7a8c Used more specific API 2015-08-18 15:35:59 +03:00
Valentin Kipyatkov
ad5bd36e65 Added parameter "isStatement" for analyzeInContext and used it in UsePropertyAccessSyntaxIntention 2015-08-18 15:35:59 +03:00
Zalim Bashorov
16e1138374 LookupLocation.NO_LOCATION -> NoLookupLocation.UNSORTED 2015-08-18 12:34:20 +03:00
Zalim Bashorov
6c28dbd407 LookupLocation.NO_LOCATION_FROM_BACKEND -> NoLookupLocation.FROM_BACKEND 2015-08-18 12:34:19 +03:00
Zalim Bashorov
8e7786817d LookupLocation.NO_LOCATION_FROM_TEST -> NoLookupLocation.FROM_TEST 2015-08-18 12:34:19 +03:00
Zalim Bashorov
595975a66e LookupLocation.NO_LOCATION_FROM_IDE -> NoLookupLocation.FROM_IDE 2015-08-18 12:34:18 +03:00
Zalim Bashorov
bcacef7bb9 Move all NoLookupLocation instances to the one place to make them more discoverable and close constructor 2015-08-18 12:34:17 +03:00
Zalim Bashorov
69e0f23db9 Classify Location.NO_LOCATION usages 2015-08-18 12:21:31 +03:00
Zalim Bashorov
0ca9c6fd40 Introduce NoLookupLocation and some new constants to classify LookupLocation.NO_LOCATION usages 2015-08-18 12:21:30 +03:00
Zalim Bashorov
e692b7b9c4 Minor: no more use default value for location parameter in JetScope members
Temporary introduced overloads which emulated default value behavior
2015-08-18 12:21:30 +03:00
Zalim Bashorov
2df55b5694 Minor: remove obsolete settings 2015-08-18 12:21:29 +03:00
Alexey Sedunov
982655f553 Pull Up: Resolve target light class separately for each Java field usage as it may change along the way 2015-08-17 20:28:18 +03:00
Alexey Sedunov
46fe7dc7a1 Move Directory: Support Kotlin files
#KT-8350 Fixed
 #KT-8351 Fixed
2015-08-17 20:28:17 +03:00
Alexey Sedunov
feacefe50a Project View: Fix "Show Members" behavior for Kotlin files
#KT-8409 Fixed
2015-08-17 20:28:16 +03:00
Alexey Sedunov
3edc903daf Move Declarations: Support multiple files
#KT-8431 Fixed
2015-08-17 20:28:14 +03:00
Alexey Sedunov
74ef93fd0c Move Declarations: Do not show "Package doesn't exist" message twice 2015-08-17 20:28:13 +03:00
Alexey Sedunov
3134e58251 J2K Converter: Add copy/paste tests for references in extends/implements clauses 2015-08-17 20:28:11 +03:00
Alexey Sedunov
96f255225b Push Down: Conflict analysis 2015-08-17 20:28:10 +03:00
Alexey Sedunov
a66ef47887 Push Down: Initial Support 2015-08-17 20:28:08 +03:00
Alexey Sedunov
5168ccc159 Add/Remove Modifier: Do not add modifier if it's already present in the modifier list 2015-08-17 20:28:05 +03:00
Alexey Sedunov
969b90d301 Move Declarations: Use custom hashing strategy to account for different instances of light elements with common origin 2015-08-17 20:28:04 +03:00
Alexey Sedunov
03f08326fa Move File: Process external and internal usages after all package directives are updated 2015-08-17 20:28:03 +03:00
Valentin Kipyatkov
b6c94a9e68 ResolveElementCache works correctly for non-physical files 2015-08-17 14:24:07 +03:00
Evgeny Gerashchenko
4b6991603f Minor. Split test file into two. 2015-08-15 12:29:46 +02:00
Evgeny Gerashchenko
799368386b KT-6877 Wrong unused function inspection on anonymous object member
#KT-6877 fixed
2015-08-15 12:29:46 +02:00
Evgeny Gerashchenko
da4be8a0f5 KT-7484 Companion object is marked unused if it's only usages are statically imported from Java
#KT-7484 fixed
2015-08-15 12:29:44 +02:00
Evgeny Gerashchenko
3a4010503e Minor. Renamed test data dir. 2015-08-15 12:29:43 +02:00
Evgeny Gerashchenko
fe1d4e38b3 KT-8273 Don't mark serialVersionUID as unused
#KT-8273 fixed
2015-08-15 12:29:42 +02:00
Evgeny Gerashchenko
50dbf080f7 Test for KT-2082 Missing 'Unused expression' warning
#KT-2082 obsolete
2015-08-15 12:29:41 +02:00
Evgeny Gerashchenko
1cf433909b Test for KT-7134 Command line entry point (main function is highlighted as unused)
#KT-7134 obsolete
2015-08-15 12:29:12 +02:00
Natalia Ukhorskaya
e3c5e2eca2 Update to IDEA 142.3926.4 2015-08-15 01:40:39 +03:00
Natalia Ukhorskaya
9b0cfd4027 Debugger tests: migrate to new API
(cherry picked from commit 430c718)
2015-08-15 01:40:39 +03:00
Natalia Ukhorskaya
be5c1d0a44 Debugger tests: changes in testData
(cherry picked from commit 0e4b133)
2015-08-15 01:40:38 +03:00
Sergey Mashkov
77a8eddb2a Selenium tests module pom.xml: module shouldn't depend to kotlin-js-library as it makes IDEA
detect it as a JavaScript module
2015-08-14 18:51:52 +03:00
Sergey Mashkov
3a323d562d Selenium longer per-test timeout 2015-08-14 18:51:50 +03:00
Valentin Kipyatkov
c3ccd6da57 Renamed test data folder 2015-08-14 18:10:41 +03:00
Valentin Kipyatkov
b6cf39981f SAM-adapters are sorted as non-extensions in completion and with correct boldness + no parameter names when from compiled 2015-08-14 18:10:41 +03:00
Valentin Kipyatkov
13fc12bbae Moving test data into subfolders 2015-08-14 18:10:40 +03:00
Valentin Kipyatkov
9546e46ae0 Moving test data into java-specific folder 2015-08-14 18:10:40 +03:00
Valentin Kipyatkov
ec7c55c9be Synthetic java properties are not always bold in completion and are not sorted as extensions 2015-08-14 18:10:39 +03:00
Valentin Kipyatkov
000d2f0cd1 Lower priority for extensions on own type parameters 2015-08-14 17:38:38 +03:00
Valentin Kipyatkov
9e26d0eacf Graying members from smart cast receiver types that require explicit receiver cast
+ changed immediate member criteria (override member is not counted as immediate anymore)
+ fixed a bug in graying members
2015-08-14 17:38:29 +03:00
Valentin Kipyatkov
b21226ac1c More correct calculation of smart casts in smart completion 2015-08-14 17:38:29 +03:00
Valentin Kipyatkov
f3e7560593 Enabled test 2015-08-14 17:38:29 +03:00
Valentin Kipyatkov
7b149c10c1 UsePropertyAccessSyntaxIntention: handled case when property type is more specific 2015-08-13 17:29:03 +03:00
Valentin Kipyatkov
6fcb75cfb5 One more test added 2015-08-13 17:29:03 +03:00
Valentin Kipyatkov
1fd4d4fe11 More efficient and correct implementation of conflicts checking in UsePropertyAccessSyntaxIntention 2015-08-13 17:29:02 +03:00
Valentin Kipyatkov
a5306d9e4b Minor optimization 2015-08-13 17:29:02 +03:00
Valentin Kipyatkov
0d27e7a259 Faster replacement of get/set to synthetic extensions in converter - don't search for extension property again 2015-08-13 17:29:01 +03:00
Valentin Kipyatkov
21639c4785 J2k post-processings based on diagnostics are included into the common scheme 2015-08-13 17:29:01 +03:00
Valentin Kipyatkov
e66d0f71ac Implemented more general scheme of post-processing with intentions in J2K + added replacement of get/set with property access there 2015-08-13 17:29:00 +03:00
Valentin Kipyatkov
671b9f5d56 Finally fixed KT-8751 2015-08-13 15:02:52 +03:00
Sergey Mashkov
2f7193064f #KT-8708 migrate tests to new trimIdent() and prependIndent 2015-08-13 14:40:07 +03:00
Sergey Mashkov
84ef068f5d #KT-8708 refactor trimIndent, trimMargin, replaceIndent, replaceIndentByMargin, prependIndent 2015-08-12 18:45:10 +03:00
Sergey Mashkov
b146b0eda9 Remove deprecated function usage 2015-08-12 18:45:10 +03:00
Sergey Mashkov
c0078a53e6 Temporary move trimIndent implementations to tests as private members to avoid resolution ambiguity 2015-08-12 18:45:10 +03:00
Sergey Mashkov
7afa40590d KT-8708 Function to strip leading whitespace (stripMargin, trimMargin, stripIndent?) 2015-08-12 18:45:10 +03:00
Valentin Kipyatkov
468919f5d9 Fixed codegen crash on use of protected synthetic extension property 2015-08-12 18:17:09 +03:00
ligee
d75bece6d0 Minor: moving a pom autogenerated by maven shade plugin to ignored targets dir 2015-08-12 17:03:09 +02:00
Ilya Ryzhenkov
a717afd9db Fix NPE in checkLValue when selector is absent. Add test for incomplete syntax. 2015-08-12 17:08:16 +03:00
Valentin Kipyatkov
8104a78746 Fixed completion for type parameters broken recently 2015-08-12 13:34:28 +03:00
Dmitry Petrov
b59bf6227f unqualified super: should be able to invoke methods of Any without extra hassle
when Any is an implicit immediate superclass
2015-08-12 12:14:14 +03:00
Ilya Chernikov
3b03cfaf4f Merge pull request #739 from JetBrains/rr/gradle-plugin-classloading-M13-2
merging gradle plugin classloading changes
2015-08-11 17:26:11 +02:00
ligee
0c84648b6a Minor: style fixes after review 2015-08-11 17:22:50 +02:00
ligee
961905a8da Disabling gradle daemon test as unsafe, adding gradle wrapper 2.4, fixing maven build test
(cherry picked after edit from commit 703d71d)
2015-08-11 13:19:03 +02:00
ligee
43aaacaa06 Fixing source build script search, attempt to fix KT-8705
(cherry picked from commit 89c5885)
2015-08-11 13:18:19 +02:00
ligee
05e8a080a9 Refactoring test base class to support gradle options and daemon stopping, implementing daemon build test with memory check
(cherry picked from commit a28ce9e)
2015-08-11 13:17:28 +02:00
ligee
97bc3005f4 Some more minor fixes after review
(cherry picked from commit 1ffdeff)
2015-08-11 13:16:08 +02:00
ligee
c2c1fb2d0a moving embeddable compiler jar creation to libraries/maven, using maven-shade-plugin instead of jarjar; configuring more relocations of 3-party libs
(cherry picked from commit c905770)
2015-08-11 13:16:07 +02:00
ligee
5b9094301c Fixing minor issues after review
(cherry picked from commit 928769e)
2015-08-11 13:16:07 +02:00
ligee
0a9f98545b Dropping custom classloading again, now without creating a transparent one, restoring cleanup for gradle <2.4 to minimize leaks under daemon, adding diagnostics
(cherry picked from commit a3b7be4)
2015-08-11 13:16:00 +02:00
ligee
3b322520bd Using isolated classloader again, but as a singleton; regular compiler jar instead of embeddable; more logging
(cherry picked from commit 6801d8a)
2015-08-11 13:15:24 +02:00
ligee
ee73373441 Implementing simple classloading for plugin core, since embeddable compiler allows it 2015-08-11 13:15:23 +02:00
ligee
d08570b8a8 Adding new target - embeddable compiler (after jarjar), using it in the gradle plugin
(cherry picked from commit bf4b26f)
2015-08-11 13:15:23 +02:00
Valentin Kipyatkov
41f80cde9e Checked that "KT-6898 References to type arguments of unresolved class name are not resolved" has been fixed 2015-08-11 13:51:29 +03:00
Valentin Kipyatkov
ae552f49a7 Added test for KT-8471 2015-08-11 13:35:32 +03:00
Valentin Kipyatkov
209281fbab More correct suppression of error 2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
bce691bf8c Moved resolve of type arguments into other place 2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
e3bca3010c Fixed infinite recursion 2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
7f42c8b482 No report of wrong class literal for unresolved 2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
ceae7eda39 Fixed test data 2015-08-11 13:21:56 +03:00
Valentin Kipyatkov
98c970d394 Fixed resolving class name before dot and nothing else 2015-08-11 13:21:56 +03:00
Valentin Kipyatkov
8b749ee76d KT-6891 Type argument of generic type before dot is not resolved
KT-7373 Type parameter names are not suggested
KT-6838 Class declared in same file is not suggested in completion

 #KT-6891 Fixed
 #KT-7373 Fixed
 #KT-6838 Fixed
2015-08-11 13:21:56 +03:00
Valentin Kipyatkov
f658cce1f1 KT-8176 References to type arguments are not resolved when number of them does not match type parameters
KT-8078 FQ-name inserted on class name completion in type arguments

 #KT-8176 Fixed
 #KT-8078 Fixed
2015-08-11 13:21:56 +03:00
Mikhail Glukhikh
de78ab6fe6 Some psi factory functions are dropped 2015-08-11 10:38:23 +03:00
Mikhail Glukhikh
adf43519d6 Code mover fix: correct commas / semicolons after enum entries, relevant test fixes, extra tests 2015-08-11 10:38:20 +03:00
Mikhail Glukhikh
3f14e74b08 Drop old enum syntax. Comma / semicolon are now a syntactic part of enum entry.
Comma must present now between enum entries, semicolon between last entry & first member, constructor calls must be without colons / specifiers.
A swarm of tests fixed accordingly.
2015-08-11 10:38:10 +03:00
Mikhail Glukhikh
e5ab7de870 Enum entry stub name fixed 2015-08-11 10:38:02 +03:00
Mikhail Glukhikh
3793d99b00 Decompiler fix: enum entries are now separated by , and have ; at the end, relevant tests fixed 2015-08-11 10:37:48 +03:00
Ilya Gorbunov
15d69499d0 Stop matching after the end of the input sequence was reached.
#KT-8763 Fixed
2015-08-11 05:11:32 +03:00
Michael Nedzelsky
c74577951e minor fix in idea/testData: ImplementFunctionType.kt -> implementFunctionType.kt 2015-08-11 04:23:18 +03:00
Michael Nedzelsky
6a1eb91e18 temporarily adjust timeout limit for testCancelLongKotlinCompilation 2015-08-11 02:24:34 +03:00
Valentin Kipyatkov
377201bbcd KT-8716 Exception on attempt to implement function
#KT-8716 Fixed
2015-08-10 20:29:51 +03:00
Valentin Kipyatkov
c943ec104d KT-8718 KNPE at PropertyUsagesSearchHelper.makeItemList() on erasing parameter name
#KT-8718 Fixed
2015-08-10 20:29:51 +03:00
Valentin Kipyatkov
1cfdbdea82 KT-8751 Assertion in HeuriticSignatures
#KT-8751 Fixed
2015-08-10 20:28:52 +03:00
Zalim Bashorov
bfa44af76b Make SeleniumQUnit more robust by using per test timeout instead of per all tests. 2015-08-10 17:57:53 +03:00
Valentin Kipyatkov
98ac13fd59 KT-8743 Propose class names for extension receiver in completion after 'fun' if a capital letter was entered
#KT-8743 Fixed
2015-08-10 17:49:36 +03:00
Valentin Kipyatkov
cafb5ac10a Fixed parameter name&type completion for type parameters 2015-08-10 17:49:36 +03:00
Valentin Kipyatkov
df32dcac39 Added smart priorities for true, false and null into basic completion 2015-08-10 17:49:36 +03:00
Valentin Kipyatkov
c05d7d51ec "true" and "false" in smart completion when Boolean? expected 2015-08-10 17:49:36 +03:00
Valentin Kipyatkov
cd6d8ffa98 Basic completion prefers right type in lambda value 2015-08-10 17:49:36 +03:00
Valentin Kipyatkov
96109230eb Fixed crash on runtime 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
200c99e722 Reordered methods + minor 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
7016a087c3 Refactoring 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
2728047acd No useless null in return value of ExpectedInfos.calculate 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
e6f5cefce3 Basic completion shows items from smart completion after "as" + do not insert any tail in basic completion 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
be0a0e4401 Items filtered out from smart completion take lower priority in ordinary one + lower priority for Enum.valueOf 2015-08-10 17:49:35 +03:00
Valentin Kipyatkov
2a8dcabbce Filtering of smart completion items in ordinary completion 2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
af2b6588c0 Ordinary completion includes some items from smart completion + changed priority for multi-args item in smart completion
#KT-8580 Fixed
2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
73b98aba17 Moving logic into ExpectedInfos 2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
c76f6333a0 Minor 2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
b475860327 Moved classes 2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
9497143b26 Smart completion works in initializer of variable with unknown type (the same as ordinary completion)
#KT-8691 Fixed
2015-08-10 17:49:34 +03:00
Valentin Kipyatkov
22e79d89f4 Completion sorts items by name similarity in intializer of variable with no explicit type 2015-08-10 17:49:33 +03:00
Valentin Kipyatkov
9cba912fe5 Ordinary completion prefers item matching expected name 2015-08-10 17:49:33 +03:00
Valentin Kipyatkov
07311234db "this" with matching type are preferred in ordinary completion 2015-08-10 17:49:33 +03:00
Valentin Kipyatkov
2b61f4c552 KT-4915 Smart completion should work for auto-casted 'this'
#KT-4915 Fixed
2015-08-10 17:49:33 +03:00
Valentin Kipyatkov
44d277af87 Completion prefers items matching expected type(s) 2015-08-10 17:49:33 +03:00
Valentin Kipyatkov
99f604f1c3 Refactored smart completion so that completion in for-loop range and after "in" are covered by ExpectedInfo's 2015-08-10 17:48:53 +03:00
Mikhail Glukhikh
89e0d310e3 Deprecated enum syntax removed: idea completion tests 2015-08-10 16:24:19 +03:00
Mikhail Glukhikh
022e7d1169 Deprecated enum syntax removed: most idea tests 2015-08-10 16:24:16 +03:00
Mikhail Glukhikh
b2653ad1e9 Deprecated enum syntax removed: most compiler tests 2015-08-10 16:24:12 +03:00
Mikhail Glukhikh
90f94b47db Deprecated enum syntax removed: JS plugin tests 2015-08-10 16:24:08 +03:00
Mikhail Glukhikh
b87bbfc3e0 Deprecated enum syntax removed: change signature tests 2015-08-10 16:24:04 +03:00
Mikhail Glukhikh
076ac4f5ee Create class from usage fix: enum entries are created with new constructor syntax 2015-08-10 16:24:01 +03:00
Mikhail Glukhikh
fe716d7e56 Change signature fix: correct parameter add / remove from enum constructor calls, relevant test fixes 2015-08-10 16:23:57 +03:00
Mikhail Glukhikh
8405a9a021 Enum syntax: source code fixed 2015-08-10 16:23:53 +03:00
Nikolay Krasko
0ccdf1d43b J2K: JetClassFileDecompiler.java converter 2015-08-10 13:07:42 +03:00
Nikolay Krasko
99b70b49c4 J2K: JetClassFileDecompiler.java file rename 2015-08-10 13:07:39 +03:00
Nikolay Krasko
99444c4eea Update to 142.3728.3 2015-08-10 13:07:37 +03:00
Nikolay Krasko
0b35aa69a3 Update since to 142.3553.1 2015-08-10 13:07:35 +03:00
Dmitry Jemerov
e7044f33ef Merge pull request #736 from jsyeo/fix-broken-link
Fix broken link in README.md
2015-08-09 15:36:34 +02:00
Jason Yeo
089a4e8779 Fix broken link in README.md 2015-08-09 07:21:01 +08:00
Zalim Bashorov
7e250ab2ca Add test infrastructure to check the tracking lookups
Added simple test to verify infrastructure.
2015-08-08 02:08:19 +03:00
Zalim Bashorov
36f69d9fd6 Minor: move some properties of AbstractIncrementalJpsTest to constructor 2015-08-08 02:08:19 +03:00
Zalim Bashorov
5017153c72 Provide LookupLocation when lookup simple name 2015-08-08 02:08:18 +03:00
Zalim Bashorov
ca4f975451 Track lookups to package and class member scopes 2015-08-08 02:08:17 +03:00
Zalim Bashorov
7cd678e03b Add ability to provide custom LookupTracker from JPS 2015-08-08 02:08:17 +03:00
Zalim Bashorov
e1ed5667d4 Add API to record lookups and introduce KotlinLookupLocation to store the processing JetElement 2015-08-08 02:08:16 +03:00
Zalim Bashorov
0978e9f169 Minor: move LookupLocation to org.jetbrains.kotlin.incremental.components 2015-08-08 02:08:16 +03:00
Zalim Bashorov
2aa4c383cd UsageLocation -> LookupLocation 2015-08-08 02:08:15 +03:00
Zalim Bashorov
96696c6846 UsageCollector -> LookupTracker 2015-08-08 02:08:14 +03:00
Alexey Sedunov
7125989c69 Pull Up: Java -> Kotlin interoperability
#KT-5803 Fixed
2015-08-07 23:30:12 +03:00
Alexey Sedunov
556285f2c7 PSI: Added addAnnotationEntry() function 2015-08-07 23:30:10 +03:00
Alexey Sedunov
e331f13a32 J2K Converter: Support class references as top-level elements 2015-08-07 23:30:09 +03:00
Alexey Sedunov
a9783ffe81 Pull Up: Kotlin -> Java interoperability 2015-08-07 23:30:08 +03:00
Alexey Sedunov
ffc56a7c31 Pull Up: Move Kotlin -> Kotlin tests to separate directory 2015-08-07 23:30:06 +03:00
Alexey Sedunov
a695202846 Pull Up: Minor: Use property access syntax 2015-08-07 23:30:05 +03:00
Alexey Sedunov
c4ec694c9f Minor: Move class to proper package 2015-08-07 23:30:04 +03:00
Alexey Sedunov
6e142d3f62 Create From Usage: Allow extension properties on Java interfaces 2015-08-07 23:30:02 +03:00
Alexander Udalov
74760acf66 Parameter names of Java methods: store enum field instead of two booleans 2015-08-07 23:01:27 +03:00
Alexander Udalov
d7b1e5d7a8 Improve toReadOnlyList(), consider the case when size = 1 2015-08-07 23:01:26 +03:00
Alexander Udalov
182e2ebbab Avoid creating empty hash maps in DataFlowInfoForArgumentsImpl 2015-08-07 23:01:25 +03:00
Alexander Udalov
fd006c521f Add capacities to some ArrayList instances in project
The changed lists were visible in the profiler memory snapshot. It's unclear
what this will save, but each of these lists was retaining at least several
megabytes of memory
2015-08-07 23:01:24 +03:00
Alexander Udalov
dce99e2fef Get rid of LinkedHashSet in some places in favor of ArrayList 2015-08-07 23:01:23 +03:00
Alexander Udalov
f3857cbb89 Change overriddenDescriptors' type from Set to Collection
So that the easiest way of constructing a HashSet in the implementation will be
not the only possible way to implement getOverriddenDescriptors(). If there's
not too many overridden descriptors, an implementation may decide to return a
small list for example instead
2015-08-07 23:01:23 +03:00
Alexander Udalov
d328727cea Don't store overridden descriptors in ValueParameterDescriptor
Compute it on each access instead, because it's too costly and not really
needed to store a LinkedHashSet for each parameter. Also inline
'bindFakeOverride'
2015-08-07 23:01:22 +03:00
Alexander Udalov
5aad063076 Extract VariableDescriptorWithInitializerImpl out of VariableDescriptorImpl
Because ValueParameterDescriptorImpl extends from VariableDescriptorImpl, but
it never has a compile-time initializer, so it was always storing an extra null
2015-08-07 23:01:21 +03:00
Alexander Udalov
942ab9ef6d Make 'hasDefaultValue' an extension on ValueParameterDescriptor
To avoid storing a Boolean and a boolean. It isn't called frequently enough to
justify this wasted space for each parameter of every function out there
2015-08-07 23:01:20 +03:00
Alexander Udalov
8dddce5ac5 Minor, replace some usages of hasDefaultValue -> declaresDefaultValue 2015-08-07 23:01:20 +03:00
Nikolay Krasko
c13396d92f Refactoring: inline method 2015-08-07 19:14:20 +03:00
Nikolay Krasko
5fe81d67a3 Refactoring: move function and avoid return lambda 2015-08-07 19:14:18 +03:00
Nikolay Krasko
7de35baa4b Idea start configuration with fixed fonts on Windows
Run with Java 1.7 and add tools.jar to Idea classpath explicitly.
2015-08-07 19:14:13 +03:00
Nikolay Krasko
470a062254 Add kotlin-reflect to additional classpath 2015-08-07 19:14:11 +03:00
Denis Zharkov
5323310950 Use LookupCancelWatcher as component instead of service 2015-08-07 19:14:09 +03:00
Natalia Ukhorskaya
93a3d3a4c4 Fix compilation error 2015-08-07 19:14:07 +03:00
Natalia Ukhorskaya
fbe192b75f Suppress warnings about org.imgscalr.Scalr class 2015-08-07 19:14:04 +03:00
Nikolay Krasko
4a06ed1271 Update to 142.3553.1 2015-08-07 19:14:02 +03:00
Dmitry Jemerov
5e1b44eac8 fix tests: imported FQ name of an import directive is nullable 2015-08-07 11:41:51 +02:00
Dmitry Jemerov
43bbed495b code review 2015-08-07 11:41:50 +02:00
Dmitry Jemerov
c29ebfbb04 KotlinAnnotatedElementsSearcher: handle local scope; correctly handle import aliases 2015-08-07 11:41:49 +02:00
Dmitry Jemerov
cca7f08400 store imported FQ name in import directive stub 2015-08-07 11:41:48 +02:00
Dmitry Jemerov
2429ff00f6 KotlinImportDirectiveStubImpl: J2K 2015-08-07 11:41:48 +02:00
Dmitry Jemerov
dfd9ee499b KotlinImportDirectiveStubImpl: rename to .kt 2015-08-07 11:41:47 +02:00
Dmitry Jemerov
2b3e435401 KotlinFileStubImpl: cleanup after J2K 2015-08-07 11:41:46 +02:00
Dmitry Jemerov
ae6acd1f85 KotlinFileStubImpl: J2K 2015-08-07 11:41:45 +02:00
Dmitry Jemerov
2f724e6a99 KotlinFileStubImpl: rename to .kt 2015-08-07 11:41:44 +02:00
Dmitry Jemerov
df21eee761 KotlinAnnotatedElementsSearcher: cleanup after J2K; correctly handle consumer returning false 2015-08-07 11:41:44 +02:00
Dmitry Jemerov
6b5a227752 KotlinAnnotatedElementsSearcher: J2K 2015-08-07 11:41:43 +02:00
Dmitry Jemerov
b2553ccc38 KotlinAnnotatedElementsSearcher: rename to .kt 2015-08-07 11:41:42 +02:00
Alexander Udalov
0d0ccfef8c Refactor and simplify FunctionCaller 2015-08-07 00:55:44 +03:00
Alexander Udalov
d3e39812cb Support mapping of KType to j.l.reflect.Type 2015-08-07 00:55:35 +03:00
Alexander Udalov
49b689f883 Do not allow to assign null to a non-null property via reflection
This was already working for accessor-based properties because the assertions
were already generated into corresponding accessors, but for fields we must
manually check the value against null
2015-08-07 00:55:33 +03:00
Alexander Udalov
3091f2af3b Report argument number mismatch nicely on wrong 'call()' invocation
The default Java reflection message in such case is not very helpful: "wrong
number of arguments"
2015-08-07 00:55:32 +03:00
Alexander Udalov
9c522b4d49 Refactor property calls in reflection, fix some corner cases
- compute a FunctionCaller instance for getter and setter so that "call" only
  delegates to that FunctionCaller's "call", in the same way it's done in
  KFunctionImpl
- use RuntimeTypeMapper.mapPropertySignature to get the exact origin and
  signature of a property and its accessors. This makes unwrapFakeOverride call
  unnecessary and also fixes some cases like private Java fields
- temporarily drop custom range checks, will be re-added soon
2015-08-07 00:55:30 +03:00
Alexander Udalov
a91729e041 Fix isAccessible for property accessors 2015-08-07 00:55:30 +03:00
Alexander Udalov
9f2feb1d27 Set failOnError = true by default in kotlinc Ant task as in javac
#KT-8742 Fixed
2015-08-06 22:38:41 +03:00
Dmitry Jemerov
7e7374e28b bump max permgen size for All tests configuration 2015-08-06 19:51:27 +02:00
Alexey Tsvetkov
102c5f6569 Add SourceElement to LazyJavaPackageFragment 2015-08-06 19:31:07 +03:00
Alexey Tsvetkov
53eccb98e3 Save class file to deserialized descriptor 2015-08-06 19:31:06 +03:00
Alexey Tsvetkov
0688afbb0c Introduce ClassDataProvider 2015-08-06 19:31:06 +03:00
Denis Zharkov
cb7518c3ee Minor. Drop irrelevant field from testData 2015-08-06 08:18:18 +03:00
Denis Zharkov
41d4af2cb9 Implement rendering of raw types
Also add some clarification in spec
2015-08-06 08:18:18 +03:00
Denis Zharkov
51668b4cc3 Do not substitute arguments while replacing them
It prevents from creating complicated types
2015-08-06 08:18:18 +03:00
Denis Zharkov
32c23728b3 Implement raw types (de)serialization via special TypeCapabilities 2015-08-06 08:18:18 +03:00
Denis Zharkov
3593356e1a Minor. Move RawSubstitution into separate file 2015-08-06 08:18:18 +03:00
Denis Zharkov
460c719753 Make constructor of JetTypeImpl private, introduce factory methods 2015-08-06 08:18:18 +03:00
Denis Zharkov
101ab03721 J2K JetTypeImpl: Convert and clean 2015-08-06 08:18:18 +03:00
Denis Zharkov
ce78dae281 J2K JetTypeImpl: .java -> .kt 2015-08-06 08:18:17 +03:00
Denis Zharkov
ac7c5a93b0 Introduce TypeCapabilities concept
It encapsulates special features of type like custom substitution.
2015-08-06 08:18:17 +03:00
Denis Zharkov
4563f4b1f9 Minor. Pull computeMemberScope to AbstractLazyType 2015-08-06 08:18:17 +03:00
Denis Zharkov
b7c042510d Do not create redundant special variance when enhancing types
#KT-8538 Fixed
2015-08-06 08:18:17 +03:00
Denis Zharkov
b2766bfb57 Add test for obsolete issue
#KT-4609 Obsolete
2015-08-06 08:18:17 +03:00
Alexander Udalov
47439603bb Minor, delete useless instanceof
A follow-up to 9b832d4
2015-08-05 19:04:31 +03:00
Alexander Udalov
8556f18ed5 Rename Java scopes to reduce confusion 2015-08-05 19:01:53 +03:00
Alexander Udalov
a336e9c930 Don't cache nulls for invalid names in Java resolve 2015-08-05 19:01:52 +03:00
Alexander Udalov
d3d0cbde97 Refactor KotlinClassLookupResult, make it sealed 2015-08-05 19:01:51 +03:00
Mikhail Glukhikh
bd3b5690a2 Standard annotations: must be documented 2015-08-05 18:32:12 +03:00
Mikhail Glukhikh
5b31560808 x?.y is now nullable even if y is Unit + three tests + codegen test fix + source code fix #KT-7936 Fixed #KT-8347 Fixed 2015-08-05 12:26:01 +03:00
Mikhail Glukhikh
850580dc87 Java annotation mapper refactoring (constant names) 2015-08-05 12:25:53 +03:00
Mikhail Glukhikh
45cc3c025f Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests 2015-08-05 12:25:39 +03:00
Valentin Kipyatkov
7d02b45558 Fixed test data 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
4c0404ea82 Changes on code review 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
6df218df52 Fixed test data 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
9150c53832 Fixed codegen for non-public SAM-adapters 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
5bceefe8df Added UsageLocation parameter 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
a7db995f05 Correct icon shown for synthetic extensions 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
c3064e2b0f Synthetic extensions for non-public get/set java methods 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
d5f95cf126 Correct visibility for non-public SAM-adapters 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
2eb04db95a Extension SAM-adapters shown in completion 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
cb9ef9e1f0 Fixed nullability for return and parameter types in SAM-adapters 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
321bf40b65 Fixed compilation 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
729085ec9a Iniital implementation of synthetic extensions for SAM-adapter functions (non-static only) 2015-08-04 18:05:55 +03:00
Valentin Kipyatkov
8b3870cc33 Optimization 2015-08-04 18:05:55 +03:00
Valentin Kipyatkov
ece4d8b82f Added JetScope.getSyntheticExtensionFunctions() 2015-08-04 18:05:55 +03:00
Dmitry Jemerov
456cdab814 reset init time in all compiler invocations 2015-08-04 17:00:33 +02:00
Valentin Kipyatkov
4187be2fe5 KT-8255 Intention actions popup: there are duplicates between quickfixes and intentions
#KT-8255 Fixed
2015-08-04 17:57:02 +03:00
Dmitry Jemerov
f49ccb22ab report correct compiler init timings 2015-08-04 16:12:05 +02:00
Dmitry Jemerov
00ec19a709 use correct API for converting URL to string 2015-08-04 14:53:07 +02:00
Zalim Bashorov
7ea58bb097 Move UsageCollector.kt to descriptors module
* to fix bare plugin
* in the future it will be used in scopes declared in descriptors module
2015-08-04 15:34:29 +03:00
Mikhail Glukhikh
25cc5e1801 annotationChecker visibility corrected 2015-08-04 10:28:44 +03:00
Mikhail Glukhikh
4596edd19a 'dynamic' keyword is no longer a modifier (soft keyword only) 2015-08-04 10:28:42 +03:00
Dmitry Petrov
2275a4cb77 assert: CallResolverUtilPackage$CallResolverUtil$eba.hasUnknownReturnType
- ignore expressions with non-callable expected type resolved as callable reference expressions
(this can happen when we have incorrect code)
2015-08-04 09:41:14 +03:00
Alexander Udalov
6878453d44 Support KClass.objectInstance for objects and companion objects 2015-08-03 23:33:21 +03:00
Alexander Udalov
2eb5201575 Introduce KAnnotatedElement and val annotations: List<Annotation> 2015-08-03 23:32:23 +03:00
Alexander Udalov
d1e67805fc Fix supertypes for reflected Java classes, always include j.l.Object
equals/hashCode/toString had not appeared in Java classes' "members" because of
this
2015-08-03 23:06:15 +03:00
Alexander Udalov
af9ae46f9a Minor, fix test on KParameter.index 2015-08-03 23:06:14 +03:00
Mikhail Glukhikh
61fbe0d1e8 Refactoring of repeatable on retention SOURCE check (correct additional checker usage) 2015-08-03 19:43:24 +03:00
Mikhail Glukhikh
992c019c1e Redundant modifier targets introduced (abstract / open on interface, final on enum or object) 2015-08-03 19:42:00 +03:00
Mikhail Glukhikh
d127162a6d Removed LOCAL_ENUM_NOT_ALLOWED 2015-08-03 19:41:58 +03:00
Mikhail Glukhikh
a104b2c84c Dead code removed (wrong annotation target for enum) 2015-08-03 19:41:55 +03:00
Mikhail Glukhikh
722a078968 15 separate modifier diagnostics are gone now 2015-08-03 19:41:53 +03:00
Mikhail Glukhikh
4bd48c4796 Regular modifier checker implemented (initial version). A set of tests fixed accordingly.
Most of modifier diagnostic is expressed by REDUNDANT_MODIFIER, INCOMPATIBLE_MODIFIERS, REPEATED_MODIFIER, WRONG_MODIFIER_TARGET, WRONG_MODIFIER_PARENT.
A set of modifier diagnostics is not in use now (but not deleted yet).
2015-08-03 19:41:50 +03:00
Mikhail Glukhikh
faac06ff7e Annotation option 'mustBeDocumented': definition, mapping from Kotlin to Java Documented and back, tests 2015-08-03 19:41:48 +03:00
Mikhail Glukhikh
dfaed3fef3 Binary or runtime repeatable annotations are not allowed for JVM. Some tests fixed accordingly. 2015-08-03 19:41:45 +03:00
Dmitry Jemerov
f51107b502 enlarge use scope scope of PSI elements in built-in sources to Project and Libraries (to counteract the effect of 897d7cabe6) 2015-08-03 18:16:53 +02:00
Valentin Kipyatkov
1b3f4def15 Don't try to schedule optimize imports on the fly in batch inspections 2015-08-03 17:11:13 +03:00
Valentin Kipyatkov
315a73fd12 Minor optimization: don't walk through parent directories 2015-08-03 17:11:12 +03:00
Valentin Kipyatkov
d308c959ff Moved soft keyword highlighting and other analysis that do not require keywords into separate pass executed before running any resolve 2015-08-03 17:11:12 +03:00
Valentin Kipyatkov
f378b9bb75 Do not invalidate resolve of everything after change inside a code block 2015-08-03 17:11:12 +03:00
Valentin Kipyatkov
e59b621931 DeprecatedSymbolUsageInWholeProjectFix uses ReferenceSearch instead of Find Usages 2015-08-03 16:28:44 +03:00
Valentin Kipyatkov
c2c6ba59fd Changes on code review 2015-08-03 16:28:44 +03:00
Valentin Kipyatkov
397e48a11d ReferenceSearch searches references to parameters using optimized way too
#KT-8625 Fixed
2015-08-03 16:28:44 +03:00
Valentin Kipyatkov
d6f724c55d Never find overriding parameter usages via old way 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov
1bb8ca6ed5 On searching parameter usages asking if user wants to search usages of parameters of overriders too (as in Java) 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov
3d71610d96 Fixed parsing tests 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov
c5f7f08d24 Removed scanning non-strings and non-comments for plain text (as it's not clear why it can be needed) 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov
9bb2fe9a67 Optimization of parameter usages search 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov
1d1d834901 Minor optimization 2015-08-03 16:28:43 +03:00
Zalim Bashorov
84543c4ed4 Merge pull request #733 from JetBrains/rr/nik
get rid of deprecated method usage
2015-08-03 14:01:21 +03:00
nik
97d9889bb1 get rid of deprecated method usage 2015-08-03 12:33:34 +03:00
Dmitry Jemerov
ef095dd559 better filtering of elements in KDoc link completion 2015-07-31 19:17:21 +02:00
Dmitry Jemerov
969f702a70 force resolve doesn't seem to be necessary 2015-07-31 19:07:47 +02:00
Dmitry Jemerov
df1a72e107 since BuiltInsReferenceResolver is initialized on-demand, we can't use async initialization 2015-07-31 19:07:46 +02:00
Dmitry Jemerov
d6455ebfd8 BuiltInsReferenceResolver: avoid premature initialization, more cleanup
#KT-8631 Fixed
2015-07-31 19:07:45 +02:00
Dmitry Jemerov
1c3f30bd8e BuiltInsReferenceResolver: cleanup and convert to service 2015-07-31 19:07:44 +02:00
Dmitry Jemerov
79bbb820bd BuiltInsReferenceResolver: J2K 2015-07-31 19:07:43 +02:00
Dmitry Jemerov
13a8f86049 BuiltInsReferenceResolver: rename to .kt 2015-07-31 19:07:42 +02:00
Denis Zharkov
f850ff9d39 Minor. Fix compilation after raw types introduction
- Condition parameter loaded as SAM-adapter
- Use wildcards instead of raw
2015-07-31 17:33:21 +03:00
Denis Zharkov
6b92f67eac Load raw types as platform with specific bounds
Raw(A<T_i>) = (A<UP(T_i)>..A<*>)
Raw types have specific scopes that behaves like JVM signature erasure
2015-07-31 17:33:21 +03:00
Denis Zharkov
5b07eea1b9 Prevent recursion when processing star projection 2015-07-31 17:33:21 +03:00
Denis Zharkov
37420527f2 Add substitution concept into JetType
In most cases it's just a map { Parameter_i => Argument_i }
Will be used when loading Raw types from Java.

Also add ClassDescriptor.getMemberScope by substitution.
2015-07-31 17:33:21 +03:00
Denis Zharkov
557450677f Rename, convert and optimize CompositeTypeSubstitution
- Get rid of storing array of inner substituions
- Rename is important as it wasn't actually composition
2015-07-31 17:33:21 +03:00
Denis Zharkov
70bf4d2faf J2K: rename CompositeTypeSubstitution.java -> DisjointKeysUnionTypeSubstitution.kt 2015-07-31 17:33:21 +03:00
Denis Zharkov
465ed9973f Minor. Make DeserializedType subclass of AbstractLazyType 2015-07-31 17:33:21 +03:00
Denis Zharkov
a07a1829c5 Rework TypeSubstituion, now it applies to types instead of constructors
Also introduce IndexedParametersSubstitution
2015-07-31 17:33:21 +03:00
Denis Zharkov
1aef9b77f1 J2K TypeSubstitution: Convert 2015-07-31 17:33:20 +03:00
Denis Zharkov
d762155e36 J2K TypeSubstitution: .java -> .kt 2015-07-31 17:33:20 +03:00
Denis Zharkov
0fba28a8f0 Do not retrieve parent of FQname for root
#KT-8642 Fixed
2015-07-31 17:33:20 +03:00
Denis Zharkov
8b537bc6dd Minor. Get rid of raw types in upper bounds 2015-07-31 17:33:20 +03:00
Michael Nedzelsky
2adf1e0e96 add ProtoBugCompareConsistencyTest 2015-07-31 16:51:24 +03:00
Michael Nedzelsky
31d5ec2370 minor: GenerateProtoBuf: get rid of weak warnings, add a reminder about GenerateProtoBufCompare. 2015-07-31 16:51:20 +03:00
Dmitry Jemerov
8ef5adb5bd remove usages of ant-contrib from Ant build scripts 2015-07-31 14:26:57 +02:00
Sergey Mashkov
0e25a5ea82 JS: arrayToString should use toString() instead of direct join to handle nulls properly
#KT-8663 Fixed
2015-07-31 14:28:30 +03:00
Sergey Mashkov
2826f193dd AbstractCollection should use Kotlin.toString
#KT-8662 Fixed
2015-07-31 14:28:30 +03:00
Ilya Gorbunov
81cbbad1e5 Add test comparing behavior of a reversed list and a reversed view on a list. 2015-07-31 14:28:29 +03:00
Sergey Mashkov
8a0c752f99 KT-4844 Support asReversed() for lists 2015-07-31 14:28:29 +03:00
Dmitry Jemerov
f86bb119bb download ProGuard from Artifactory 2015-07-31 13:18:11 +02:00
Sanket Dasgupta
b82ba117cc update readme.md to include try.kotlinlang.org 2015-07-31 13:24:27 +03:00
Alexander Udalov
0ad9dc9abf Specification for function type reform 2015-07-30 23:06:06 +03:00
Sergey Mashkov
8353b4d3e8 Maven: integration test should remove escape sequences from build log 2015-07-30 19:20:30 +03:00
Valentin Kipyatkov
196cecfe70 Fixed exception 2015-07-30 18:02:54 +03:00
Valentin Kipyatkov
422a9613f1 More correct detection of real methods to override 2015-07-30 18:02:54 +03:00
Valentin Kipyatkov
a4c9aa43a5 Experimental feature to show properties in completion after prefix with "get" or "set" 2015-07-30 18:02:54 +03:00
Dmitry Jemerov
23dca520d5 ensure that a JetEnumEntry is equivalent to a KotlinLightEnumConstant
#KT-5057 Fixed
2015-07-30 16:36:18 +02:00
Michael Nedzelsky
194aa57c07 add call to GenerateProtoBufCompare at the end of GenerateProtoBuf 2015-07-30 16:35:56 +03:00
Natalia Ukhorskaya
2b19f58d3f Change since for plugin, because of usage of SourcePositionHighlighter in debugger 2015-07-30 15:53:47 +03:00
Alexander Udalov
9991d45a15 Fix maven plugin test, properties -> memberProperties 2015-07-30 15:19:43 +03:00
Dmitry Jemerov
ee42da48e1 support multideclarations in Select Word
#KT-6833 Fixed
2015-07-30 13:53:03 +02:00
Dmitry Jemerov
e545a7c699 add word selection step for selecting a type parameter or type argument list with enclosing brackets
#KT-6697 Fixed
2015-07-30 13:52:56 +02:00
Dmitry Jemerov
77caa0d644 highlight Kotlin files with errors in project view
#KT-8609 Fixed
2015-07-30 13:34:27 +02:00
Dmitry Petrov
8b73ffd25b EA-71185 - assert: CallResolverUtilPackage$CallResolverUtil$fcfb.hasUnknownReturnType
- Accept any subclasses of KCallable<R> as "callable reflection types"
(this includes KProperty and KFunction with their subclasses).
- Provide more detailed information on the callable reference type in question in case of assertion failures.
2015-07-30 13:44:50 +03:00
Dmitry Petrov
9bf0211152 KT-8408 Prohibit Array<T>::class for non-reified T 2015-07-30 12:18:29 +03:00
Alexander Udalov
a0cc313156 Support class reference expression for reified type parameters
Also make KClass::java an intrinsic property.

Based on the work by @dnpetrov

 #KT-6976 Fixed
2015-07-30 12:18:28 +03:00
Alexander Udalov
628bb774fd Support class reference expressions without kotlin-reflect.jar in classpath
Currently not much you can do with them, but in the future '.java' extension
property will allow to get the Class instance from it.

Also introduce codegen tests with stdlib but without reflection in the
classpath.

Based on the work by @dnpetrov
2015-07-30 12:18:28 +03:00
Andrey Breslav
0b30758987 Specification for annotation options (initial version).
target, retention, repeatable, documented. 'annotation' is an annotation declared in kotlin.annotation.
'target' is also an annotation with vararg argument. All others are 'annotation' properties.
2015-07-30 12:00:27 +03:00
Dmitry Jemerov
6d1ccc22ab reduce vertical whitespace in rendered KDoc comments 2015-07-30 10:38:16 +02:00
Dmitry Jemerov
b483713f2c Render code blocks in KDoc 2015-07-30 10:38:15 +02:00
Dmitry Jemerov
909d094896 Fixed rendering of line breaks and apostrophes in KDoc
#KT-8531 Fixed
 #KT-8392 Fixed
2015-07-30 10:38:14 +02:00
Natalia Ukhorskaya
ff0a064908 Debugger: Implement SourcePositionHighlighter to highlight lambda expressions during debug 2015-07-30 10:00:27 +03:00
Natalia Ukhorskaya
ad6611b930 J2K: If last expression in Method Call is Lambda add it outside the parenthesis 2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
40d2fd7994 J2K: Do not skip any unknown expression 2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
28f0866467 J2K: Convert Java8 lambdas properly
#KT-7149 Fixed
2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
8759601ef6 J2K: extract base class for Parameter 2015-07-30 10:00:25 +03:00
Natalia Ukhorskaya
f713e66484 Minor: move methods 2015-07-30 10:00:25 +03:00
Natalia Ukhorskaya
3ab53eb5e3 Minor: change parameters order 2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
c86b25b1dc Make j2k depends on idea-core instead of idea-full 2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
22ee063269 Add platformStatic annotation to main method from java
#KT-8219 Fixed
2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
b54da25108 J2K: do not convert doc comments on WebDemo
#KT-7968 Fixed
2015-07-30 10:00:23 +03:00
Alexander Udalov
ae277a0ad7 Delete RemovableSlice and MutableSlicedMap.remove 2015-07-29 23:44:25 +03:00
Alexander Udalov
96ded4d5d2 Simplify slices: remove SliceWithOpposite, defaultValue, etc. 2015-07-29 23:44:24 +03:00
Alexander Udalov
9a0e322c51 Minor refactoring in Kotlin binary class resolution 2015-07-29 23:44:23 +03:00
Alexander Udalov
0d9b60dcbc Fix "Class name must not be root" assertion + inline some utilities
Fix EA-60649, EA-65875; do not lookup classes with an empty name.
No test added since no steps to reproduce are known
2015-07-29 23:44:22 +03:00
Alexander Udalov
98b057f495 Don't look for classes with empty or special name in deserialized scope
Fix EA-59962, EA-64281, EA-65698. No new tests added because the only repro
reported as KT-8187 now fails with another (much more understandable though)
exception

 #KT-8187 Open
2015-07-29 23:44:21 +03:00
Alexander Udalov
d0e21c53d4 Minor, pull 'name' up to KPropertyImpl 2015-07-29 23:44:20 +03:00
Alexander Udalov
a93484b457 Fix callable reference to member of generic class 2015-07-29 23:44:19 +03:00
Alexander Udalov
49a8c7a947 Drop BindingContext.ANNOTATION_DESCRIPTOR_TO_PSI_ELEMENT
Use AnnotationDescriptor.getSource() instead
2015-07-29 23:44:19 +03:00
Alexander Udalov
d0562b7b90 Add SourceElement to AnnotationDescriptor
Use KotlinSourceElement in the compiler for annotations resolved from PSI,
introduce ReflectAnnotationSource for reflection
2015-07-29 23:44:18 +03:00
Alexander Udalov
ef4a5e78ed Catch IllegalAccessException in KFunction.call
Rename IllegalPropertyAccessException -> IllegalCallableAccessException
2015-07-29 21:36:51 +03:00
Alexander Udalov
262099c899 Fix KFunction.javaMethod for property accessors 2015-07-29 21:36:50 +03:00
Alexander Udalov
9c4ba711b8 Rename and implement KProperty.accessible -> KCallable.isAccessible 2015-07-29 21:36:49 +03:00
Alexander Udalov
8f0885ca03 Rename KClass.properties and extensionProperties: prepend 'member'
To better emphasize the fact that all returned properties require an instance
of the class they are declared in. Another issue was that
'Some::class.extensionProperties' was sometimes incorrectly perceived as
"get all extension properties available on the class Some"
2015-07-29 21:36:47 +03:00
Alexander Udalov
6b24cfa3e4 Deprecate val Field.kotlin due to poor name in favor of kotlinProperty 2015-07-29 21:36:47 +03:00
Alexander Udalov
7fc499df46 Support KClass.primaryConstructor 2015-07-29 21:36:46 +03:00
Alexander Udalov
699a801ce9 Add KCallable.returnType 2015-07-29 21:36:45 +03:00
Alexander Udalov
be77a2feee Fix KCallable.call for equals/hashCode/toString
Other built-in functions should be supported in the same way one day
2015-07-29 21:36:44 +03:00
Alexander Udalov
681c45ef61 Refactor KFunctionImpl internals, get rid of unwrapFakeOverride 2015-07-29 21:36:44 +03:00
Alexander Udalov
4c0caad79a Refactor RuntimeTypeMapper, introduce JVM signature classes
Currently only used to obtain the string identical to the one which would be
produced by JetTypeMapper.mapSignature, but soon will be used to obtain
corresponding reflection objects from classes
2015-07-29 21:36:43 +03:00
Alexander Udalov
e079b8f425 Support KCallable.call
#KT-2187 Fixed
2015-07-29 21:36:42 +03:00
Alexander Udalov
ffe32e0b6d Simplify RuntimeTypeMapper, use Java reflection to get erased types 2015-07-29 21:36:42 +03:00
Alexander Udalov
936bede8b1 Support mapping between Kotlin functions and JVM methods/constructors 2015-07-29 21:36:41 +03:00
Alexander Udalov
93656c93c1 Support KPackage.members, functions and properties 2015-07-29 21:36:40 +03:00
Alexander Udalov
95be8b11f5 Don't write JetValueParameter to the bytecode
The class itself can't be deleted at this point because it's used in the old
bytecode and tools (e.g. proguard) will complain if they can't find it in the
new runtime
2015-07-29 21:36:39 +03:00
Alexander Udalov
6ab1c6bfb3 Add KParameter.type, KType, KType.isMarkedNullable 2015-07-29 21:36:38 +03:00
Alexander Udalov
b0db9c5b03 Fix reflection on enhanced Java methods, call getOriginal()
Also use the provided mechanism for binding overrides instead of a custom for
loop, because it also binds corresponding value parameters
2015-07-29 21:36:38 +03:00
Alexander Udalov
81ef1c19d8 Support KClass.constructors in reflection 2015-07-29 21:36:37 +03:00
Alexander Udalov
da5cffdb60 Support KClass.functions and declaredFunctions 2015-07-29 21:36:36 +03:00
Alexander Udalov
50dbda1e1a Introduce KClass.members, make properties/extensionProperties extensions
To avoid significant growth of KClass and KPackage interfaces
2015-07-29 21:36:36 +03:00
Alexander Udalov
2492977274 Additional tests on reflection for Java methods 2015-07-29 21:36:35 +03:00
Alexander Udalov
5962b79126 Support introspection of parameter names and indices in reflection 2015-07-29 21:36:34 +03:00
Alexander Udalov
87c70aa2ae Make Class<*>.kotlinPackage nullable 2015-07-29 21:36:33 +03:00
Pavel V. Talanov
0513994749 Minor: remove "? extends" when injecting iterable into java class 2015-07-29 17:09:41 +03:00
Ilya Ryzhenkov
28df61b6f1 Support ordinary Java invariant Iterable<T> in component container. 2015-07-29 17:09:40 +03:00
Ilya Ryzhenkov
e12e67468f Distinguish implicit components in dump 2015-07-29 17:09:39 +03:00
Mikhail Glukhikh
41500c916b java Retention + Repeatable = kotlin.annotation.annotation (but java Repeatable is still intact), a few tests 2015-07-29 16:28:36 +03:00
Mikhail Glukhikh
10ba9c7264 Repeatable test renamed 2015-07-29 16:28:33 +03:00
Mikhail Glukhikh
a072550931 Class is an annotation iff it is annotated by kotlin.annotation.annotation, or is kotlin.annotation.annotation itself.
JetClassOrObject.isAnnotation() is no more in use during resolve. Additional test.
2015-07-29 16:28:26 +03:00
Alexey Sedunov
d71217eb5c Pull Up: Rewrite some classes to Java to allow compilation against both Java 6 and Java 8 2015-07-29 16:21:29 +03:00
Michael Nedzelsky
e9d7bbf493 fix KT-8648 Exception from incremental compilation
#KT-8648 Fixed
2015-07-29 15:14:45 +03:00
Mikhail Glukhikh
00eaec766d Function name fixed in AnnotationConverter 2015-07-29 11:37:16 +03:00
Mikhail Glukhikh
b657713f1c JavaAnnotationMapper code cleanup (imports) 2015-07-29 11:36:24 +03:00
Mikhail Glukhikh
8a61441be9 AnnotationChecker code cleanup (property access syntax, imports) 2015-07-29 11:35:40 +03:00
Mikhail Glukhikh
39b29068cb Refactoring: AnnotationTargetChecker --> AnnotationChecker 2015-07-29 11:33:33 +03:00
Alexey Sedunov
c11f1807bc Rename: ClassKind.TRAIT -> ClassKind.INTERFACE 2015-07-28 23:24:23 +03:00
Alexey Sedunov
5bc2a4b14c Create From Usage: Do not keep semantic information in quickfix instances directly as it leads to memory leaks 2015-07-28 23:24:22 +03:00
Valentin Kipyatkov
9d84e4b60a Fixed EA-70681 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov
8f940b07fb Fixed EA-70733 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov
4355b3ed00 Fixed EA-70940 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov
eb03c5a6d0 Fixed exception 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov
bccaf6b340 Moved and renamed DescriptorClassMember 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov
63dc843c71 KT-8542 Override dialog: only one class from hierarchy is shown
#KT-8542 Fixed
2015-07-28 22:39:31 +03:00
Valentin Kipyatkov
29379c061a Code improvements 2015-07-28 22:39:31 +03:00
Valentin Kipyatkov
a2b759ef78 More proper package name 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov
421a764eb9 Converted to Kotlin 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov
e98ce30333 Moved OverrideMethodsHandler 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov
977bf593e0 KT-8574 'Convert to block body' inserts spurious < token
#KT-8574 Fixed
2015-07-28 22:39:29 +03:00
Valentin Kipyatkov
e09fadae51 KT-8623 Completion get in the way when function as declared
#KT-8623 Fixed
2015-07-28 22:39:29 +03:00
Michael Nedzelsky
2e18b3de9d prepare to retire Type.Constructor message in descriptors.proto after M13 2015-07-28 19:49:00 +03:00
Michael Nedzelsky
b3659486d9 IncrementalCacheImpl: do not recompile other files if all changes are private 2015-07-28 19:48:56 +03:00
Michael Nedzelsky
75f178fec2 JvmProtoBufUtil: add readClassDataFrom(data: ByteArray) 2015-07-28 19:48:54 +03:00
Michael Nedzelsky
62f6cc7f0b add tests for incremental compilation when only private part changed 2015-07-28 19:48:51 +03:00
Michael Nedzelsky
2f304c0d99 add GenerateProtoBufCompare 2015-07-28 19:48:48 +03:00
Michael Nedzelsky
459eed7d28 introduce custom options for messages in proto files 2015-07-28 19:48:44 +03:00
Michael Nedzelsky
f91f957703 add a copy of descriptor.proto file from protobuf installation 2015-07-28 19:48:41 +03:00
Michael Nedzelsky
ef8381f8af two optional fields have been added to Type.Constructor message in descriptors.proto in preparation to remove field which requires double interpetation 2015-07-28 19:48:37 +03:00
Mikhail Glukhikh
dbf6da89b7 java.lang.annotation.Repeatable is deprecated + test in a new group: diagnostic tests with Java 8. 2015-07-28 19:03:55 +03:00
Alexey Sedunov
421f082d43 Pull Up: Minor: Extract local functions 2015-07-28 18:48:37 +03:00
Alexey Sedunov
7280be7bbc Pull Up: Do not render modifiers (except ABSTRACT and INNER) in MemberInfo text 2015-07-28 18:48:36 +03:00
Alexey Sedunov
7dc430e50b Pull Up: Support super-interfaces 2015-07-28 18:48:35 +03:00
Alexey Sedunov
1a09741c0a Pull Up: Move property initializers 2015-07-28 18:48:33 +03:00
Alexey Sedunov
390f352e75 Pull Up: Implement conflict analysis 2015-07-28 18:48:32 +03:00
Alexey Sedunov
8493908710 Conflicts Dialog: Add handler for "Show conflicts" action 2015-07-28 18:48:30 +03:00
Alexey Sedunov
39ff3c3000 Pull Up: Initial support
#KT-7330 Fixed
2015-07-28 18:48:29 +03:00
Alexey Sedunov
e303a38f9e Member Info: Extended implementation (for Pull Up/Push Down) 2015-07-28 18:48:27 +03:00
Alexey Sedunov
3c36795984 Refactoring: Extract JetClassOrObject.getOrCreateBody() function 2015-07-28 18:48:26 +03:00
Alexey Sedunov
83e28b360f Refactoring: Move non-specific TypeSubstitutor factories to substitutionUtils.kt in compiler
Merge typeUtils.kt with changeSignatureUtils.kt
2015-07-28 18:48:24 +03:00
Alexey Sedunov
d23da408a8 Formatter: Add blank line before class/object declaration inside of declaration body 2015-07-28 18:48:23 +03:00
Sergey Mashkov
16ec066437 Maven: integration test should aomit downloading/downloaded messages even if they are printed with no log level 2015-07-28 18:24:21 +03:00
Sergey Mashkov
8b358558c9 Maven: integration test should escape compiler version 2015-07-28 18:04:00 +03:00
Sergey Mashkov
3c3e1a0a52 Maven: eliminate warning classpath entry doesn't exist. Fix integration test 2015-07-28 17:46:15 +03:00
Mikhail Glukhikh
a86857fbb5 Java Deprecated is mapped in accordance with Java Target / Retention, some diagnostic changed 2015-07-28 17:13:37 +03:00
Mikhail Glukhikh
219ffa4fb3 Dead code removed 2015-07-28 17:13:34 +03:00
Mikhail Glukhikh
d6406d8d4a Annotation repetition checking with a pair of tests, some old tests changes 2015-07-28 17:13:32 +03:00
Mikhail Glukhikh
8beafe90a0 Retention / target for some standard annotations 2015-07-28 17:13:29 +03:00
Sergey Mashkov
82165d2a93 Maven: Introduce test for plugin output
Use mvn integration-test to run tests
2015-07-28 13:37:33 +03:00
Sergey Mashkov
015ac0cd5b Maven: take logger every time
The root cause of problem is that we take logger at too early stage so there is initial bootstrap maven logger that is replaced by plexus container via injector at later initialization stage. We have to use injected logger rather than initial bootstrap logger. At the same time there is no actual performance advantage to have LOG field because of JIT inliner will inline getLog() body anyway.

#KT-8630 Fixed
2015-07-28 13:37:23 +03:00
Dmitry Jemerov
38151d4932 remove ReadMe.md with outdated information 2015-07-28 11:12:16 +02:00
Ilya Gorbunov
2f1c8a3dfa Remove special case of generation for numeric and toPrimitiveArrays. 2015-07-27 19:02:49 +03:00
Ilya Gorbunov
dd71cbb96e Accept more generic ranges in contains. 2015-07-27 19:02:47 +03:00
Ilya Gorbunov
e127e234f8 Stdlib Generators: add generic ranges, allow specify concrete primitive for generic, render types in receiver. 2015-07-27 19:02:45 +03:00
Alexey Sedunov
f4ebd895ca Change Signature: Reduce JetChangeSignatureUsageProcessor state to prevent
memory leaks. JetMethodDescriptor is stored in UsageInfo list
2015-07-27 17:29:02 +03:00
Alexey Sedunov
4f12dcc069 Move: Make MoveKotlinFileHandler stateless to prevent memory leaks. MoveKotlinTopLevelDeclarationsProcessor is made part of transient state, PackageNameInfo is recomputed based on file user data and container 2015-07-27 17:29:01 +03:00
Dmitry Jemerov
978fb2c1cf don't go outside of file when trying to find enclosing element for declaration 2015-07-27 11:43:12 +02:00
Natalia Ukhorskaya
47b94326ec Add NotNull assertions at project.getComponent
(cherry picked from commit 9b1167c)
2015-07-27 12:06:01 +03:00
Natalia Ukhorskaya
728290f99e Fix compilation error in tests
(cherry picked from commit ea5b532)
2015-07-27 12:06:01 +03:00
Natalia Ukhorskaya
71bf9b1b30 LightProjectDescriptor is no longer an interface
(cherry picked from commit b99235b)
2015-07-27 12:06:00 +03:00
Natalia Ukhorskaya
e66569c451 Update to IDEA 3371.3 2015-07-27 12:06:00 +03:00
Dmitry Petrov
a64f1a86c0 Fix KT-8608: Compiler crashes with assertion Restore stack is unavailable
- fix SAVE_STACK_BEFORE_TRY insertion:
  TRYCATCHBLOCK LA, LB, LC
  LA
    NOP
    try_body
  LB
    ...
  LC
    handler_body
should be transformed into:
  LA
    {SAVE_STACK_BEFORE_TRY}
  LA' // new TCB start label
    NOP
    try_body
  LB
    ...
  LC
    handler_body
with all TCBs start labels remapped

- properly wrap exceptions from MandatoryMethodTransformer

 #KT-8608 Fixed
2015-07-27 10:40:14 +03:00
Valentin Kipyatkov
a58f249a01 KT-8576 Parameter name&type completion: don't auto-popup for the second time
#KT-8576
2015-07-27 10:37:12 +03:00
Valentin Kipyatkov
b9a62d0acf Fixed parameter name&type auto-popup completion to insert "dynamic" on typing ": " 2015-07-27 10:37:11 +03:00
Alexey Sedunov
acb8c54902 Move: Get rid of MoveKotlinTopLevelDeclarationsOptions.sourceFile 2015-07-24 21:03:07 +03:00
Alexey Sedunov
9219f2214e Move: Fix ClassCastException on attempt to move several classes (located in different files) to the same file
#KT-8437 Fixed
2015-07-24 21:03:06 +03:00
Alexey Sedunov
e74749eea1 Move: Reinitialize move context as MoveFileHandler.findUsages() can be bypassed
#KT-8436 Fixed
2015-07-24 21:03:05 +03:00
Alexey Sedunov
5179c10b4c Move: Disable "Update package directive" check box when moving separate declarations instead of entire file
#KT-8414 Fixed
2015-07-24 21:03:04 +03:00
Alexey Sedunov
05fd4b75dd Move: NPE fix
#KT-8410 Fixed
2015-07-24 21:03:03 +03:00
Alexey Sedunov
fc885dedc5 Move: Do not use "Search references" Java options when silently invoking Move refactoring for entire file. Default to true instead 2015-07-24 21:03:02 +03:00
Alexey Sedunov
cc13c157f6 Move: Forbind moving to non-Kotlin file
#KT-8500 Fixed
2015-07-24 21:03:01 +03:00
Alexey Sedunov
82a47a0f2d Move: Fix "Update package directive" label
#KT-8546 Fixed
2015-07-24 21:03:00 +03:00
Sergey Mashkov
0453368990 Better main function recognition and tests
fix vararg main
2015-07-24 17:20:40 +03:00
Sergey Mashkov
8457b53f8b Better main function recognition and tests 2015-07-24 17:20:40 +03:00
Pavel V. Talanov
273e69c02c Refactor: Pass buitlins into IntegerValueTypeConstant and IntegerValueTypeConstructor 2015-07-24 13:47:59 +03:00
Pavel V. Talanov
a1a38e2eba Minor: CompileTimeConstant use utils instead of JetType#equals 2015-07-24 13:47:58 +03:00
Pavel V. Talanov
0bed8bb7d4 Minor: Inject builtins into OverloadingConflictResolver 2015-07-24 13:47:57 +03:00
Pavel V. Talanov
4599c962f0 Refactor: make OverloadingConflictResolver and ResolutionResultsHandler components instead of singletons 2015-07-24 13:47:57 +03:00
Pavel V. Talanov
1559c53007 Minor: Inject builtins into DataFlowAnalyzer 2015-07-24 13:47:56 +03:00
Pavel V. Talanov
78f55583f0 Minor: CompileTimeConstantUtils, builtins are not needed to check for string type 2015-07-24 13:47:55 +03:00
Pavel V. Talanov
7203a7833a Minor: Inject builtins in ControlFlowAnalyzer 2015-07-24 13:47:55 +03:00
Pavel V. Talanov
0830e48029 Minor: FakePureImplementationsProvider does not need builtins, just fq names 2015-07-24 13:47:54 +03:00
Pavel V. Talanov
83503b66d2 Minor: get rid of minor KotlinBuiltins.getInstance usage 2015-07-24 13:47:53 +03:00
Pavel V. Talanov
99e8ba1947 Get rid of static function ConstantExpressionEvaluator.evaluateToConstant 2015-07-24 13:47:53 +03:00
Pavel V. Talanov
6698b3b070 Refactor: get rid of static ConstantExpressionEvaluator.evaluate function
Move ArgumentTypeResolver.getLastElementDeparenthesized to JetPsiUtil
2015-07-24 13:47:52 +03:00
Pavel V. Talanov
2b9fc5268e Inject ConstantExpressionEvaluator into JsCallChecker
Do not pass expected type into evaluateExpression
2015-07-24 13:47:51 +03:00
Ilya Gorbunov
065945176e Use bare types in check and remove unneeded cast after.
Do not check whether a sequence is actually a collection or list.
2015-07-24 04:35:45 +03:00
Ilya Gorbunov
e799c92131 Accept more generic range for coerceIn. 2015-07-24 04:35:33 +03:00
Ilya Gorbunov
877cb72ba1 Array.copyOfRange: rename from, to to fromIndex, toIndex 2015-07-24 04:35:21 +03:00
Ilya Gorbunov
aeb7666578 Provide binarySearch with comparator for arrays. 2015-07-24 04:35:08 +03:00
Ilya Gorbunov
34afb450d8 List binarySearch and binarySearchBy methods and tests.
#KT-5444 Fixed
#KT-8217 Fixed
2015-07-24 04:34:56 +03:00
Ilya Gorbunov
3a7f6d7db0 Add inlineable compareValuesBy for single selector. 2015-07-24 04:34:44 +03:00
Ilya Gorbunov
d831509cee Provide listOfNotNull method. 2015-07-24 04:34:31 +03:00
Ilya Gorbunov
46858ddabd Allow to specify optional from and to indices for filling an array.
#KT-8382 Fixed
2015-07-24 04:34:19 +03:00
Ilya Gorbunov
c1975d0b2e Array.fill returns Unit since it's an in-place array operation.
Revised #KT-4760
2015-07-24 04:34:07 +03:00
Ilya Gorbunov
12e3542bce Provide toTypedArray method for primitive arrays. 2015-07-24 04:33:55 +03:00
Ilya Gorbunov
f57c207ed2 Introduce NotImplementedError instead of UnsupportedOperationException to throw from TODO function.
#KT-8153
2015-07-24 04:32:52 +03:00
Ilya Gorbunov
b7829d8471 JS: Make js Error to be mapped to kotlin.Throwable, inherit Exception and Error from Throwable. 2015-07-24 04:32:03 +03:00
Ilya Gorbunov
f2716a973c TODO as a function. Add an overload with a string reason.
#KT-8153 Fixed
2015-07-24 04:30:10 +03:00
Ilya Gorbunov
bfb116c0b2 Provide TODO as a substitution for not yet implemented method body.
#KT-8153
2015-07-24 04:29:31 +03:00
Ilya Gorbunov
da3ec891d0 Provide unzip method for Iterables, Arrays and Sequences of pairs.
#KT-5793 Fixed
2015-07-24 04:28:57 +03:00
Ilya Gorbunov
f604eef2fe Undeprecate find(predicate) and generate it for all collection-like types. Provide findLast(predicate).
Drop deprecated method findNot and extension properties first, last, head, tail
#KT-5185 Fixed
2015-07-24 04:28:46 +03:00
Ilya Gorbunov
1cc94f92e2 Also generate contains for meaningless combinations of types to prevent mistakenly using contains from an Iterable.
#KT-6361
2015-07-24 04:28:34 +03:00
Ilya Gorbunov
b7fbb60db4 Generate contains function for all combinations of primitive numeric ranges and arguments.
#KT-6361
2015-07-24 04:14:06 +03:00
Ilya Gorbunov
8892192e9c Generate openRange tests for compiler.
#KT-4665
2015-07-24 04:13:53 +03:00
Ilya Gorbunov
71f3e3049a Provide until function to construct integer ranges with an end being excluded from range.
#KT-4665 Fixed
2015-07-24 04:13:41 +03:00
Ilya Gorbunov
808170a84b Generate range downTos with templates DSL 2015-07-24 04:13:29 +03:00
Valentin Kipyatkov
e677049d00 Test for no annotations rendered in parameter info 2015-07-23 22:02:06 +03:00
Valentin Kipyatkov
383a4da231 No annotations rendered in completion and other places
KT-5517 Completion shouldn't show inlineOptions annotation

 #KT-5517 Fixed
2015-07-23 22:02:06 +03:00
Dmitry Jemerov
0ff0fc847d delete the rest of KDoc 2015-07-23 19:00:46 +02:00
Pavel V. Talanov
8cc9739f72 Refactor: Pass TargetPlatform instead of configurator, hide DynamicTypesSettings inside configurator 2015-07-23 16:15:38 +03:00
Pavel V. Talanov
84b8ed00c5 Refactor: Move TargetPlatform to frontend, make it expose platform dependant resolve services
AdditionalCheckerProvider -> PlatformConfigurator which operates directly on container
2015-07-23 16:15:35 +03:00
Pavel V. Talanov
b452c20cc2 Minor: Remove unused references to AdditionalCheckerProvider 2015-07-23 16:15:31 +03:00
Pavel V. Talanov
3227ae5577 Inject non-context dependent CallCheckers instead of getting them from context 2015-07-23 16:15:28 +03:00
Pavel V. Talanov
2885da8993 Remove AdditionalTypeChecker from context, inject into points of usage 2015-07-23 16:15:18 +03:00
Pavel V. Talanov
be98c4f96d DataFlowUtils -> DataFlowAnalyzer and make it a component 2015-07-23 16:15:13 +03:00
Pavel V. Talanov
985336d6cc Remove SymbolUsageValidator from contexts 2015-07-23 16:15:10 +03:00
Pavel V. Talanov
b75779b425 Inject SymbolUsageValidator into CallExpressionResolver 2015-07-23 16:15:01 +03:00
Pavel V. Talanov
a75b80c70d Inject declarations checkers into ModifiersChecker 2015-07-23 14:43:08 +03:00
Pavel V. Talanov
f5878eddd4 Refactor ModifiersChecker to be more component-like
A couple of minor prettifications
2015-07-23 14:42:34 +03:00
Natalia Ukhorskaya
ee49d13d89 Add tests on smart step into lambda 2015-07-23 11:54:43 +03:00
Natalia Ukhorskaya
c8f57e007c Fix smart step into functions with expression body 2015-07-23 11:54:42 +03:00
Natalia Ukhorskaya
6c9da53414 Fix smart step into in libraries 2015-07-23 11:54:41 +03:00
Natalia Ukhorskaya
b76b251489 SmartStepInto: render kotlin functions properly 2015-07-23 11:54:40 +03:00
Natalia Ukhorskaya
e4d5984cf0 Descriptor renderer: add option to render function without return type 2015-07-23 11:54:40 +03:00
Natalia Ukhorskaya
346039d262 Stepping: do not use MockSourcePosition in production code 2015-07-23 11:54:39 +03:00
Natalia Ukhorskaya
d8e0d77b66 Rewrite smart step into kotlin functions, do not use MethodFilter for java because it doesn't work for libraries 2015-07-23 11:54:38 +03:00
Natalia Ukhorskaya
d75c21a5a7 Smart step into function literal 2015-07-23 11:54:37 +03:00
Natalia Ukhorskaya
f7e35fab42 Minor: extract class 2015-07-23 11:54:36 +03:00
Natalia Ukhorskaya
488a4b6680 Minor: move classes 2015-07-23 11:54:36 +03:00
Natalia Ukhorskaya
4f238a44c3 Minor: extract class to separate file 2015-07-23 11:54:35 +03:00
Natalia Ukhorskaya
bf4e3bdac9 Minor: fix warnings in KotlinSmartStepIntoHandler 2015-07-23 11:54:34 +03:00
Natalia Ukhorskaya
2121f707ab Fix completion for codeFragments on functions with expression body 2015-07-23 11:54:33 +03:00
Natalia Ukhorskaya
86c7d11750 Debugger: do not create codeFragments with context of PsiFile 2015-07-23 11:54:32 +03:00
Alexander Udalov
74ed3b9562 Provide equals/hashCode for Kotlin light classes
KotlinLightClassForExplicitDeclaration already had equals/hashCode, but the
other three implementations of KotlinLightClass did not; this resulted in type
mismatch errors in Java code where the signatures of a super method and the
corresponding sub method wouldn't match because types of parameters were
different

 #KT-8543 Fixed
2015-07-23 03:51:50 +03:00
Alexander Udalov
4af0ed822f Minor, improve comment about ReflectProperties usefulness 2015-07-23 03:51:49 +03:00
Alexander Udalov
83bcfd090c Delete obsolete comment at RuntimeSourceElementFactory
Source elements are now used for Kotlin->Java reflection object mapping,
get/set of reflected properties, invoke of reflected functions, etc.
2015-07-23 03:51:49 +03:00
Valentin Kipyatkov
153316c313 Changes on code review 2015-07-22 21:16:15 +03:00
Valentin Kipyatkov
851057a9ef Highlighting duplicated and redandant *-imports as unused 2015-07-22 21:16:15 +03:00
Valentin Kipyatkov
feccee2c3e Added quickfix to enable optimize imports on the fly 2015-07-22 21:16:14 +03:00
Valentin Kipyatkov
2f438d0722 Errors in import list do not prevent from on-the-fly optimization - unresolved imports can be removed automatically 2015-07-22 21:16:14 +03:00
Valentin Kipyatkov
9c03661ce5 Rewritten UnusedImportInspection to not use buildVisitor method and to not crash on non-Kotlin files 2015-07-22 21:16:13 +03:00
Valentin Kipyatkov
edcb330281 Corrected/removed tests related to on-the-fly import optimization 2015-07-22 21:16:13 +03:00
Valentin Kipyatkov
b612e7a6b0 On-the-fly import optimization 2015-07-22 21:16:12 +03:00
Valentin Kipyatkov
8793c6fb76 Lowered intention priority 2015-07-22 21:16:12 +03:00
Valentin Kipyatkov
1324ce5928 Added quickfix on unused import 2015-07-22 21:16:11 +03:00
Valentin Kipyatkov
af192698ed Imports from current package are redundant too 2015-07-22 21:11:00 +03:00
Valentin Kipyatkov
68dec99ad7 KT-8389 Meaningless self-import insterted on "optimize imports"
#KT-8389 Fixed
2015-07-22 21:11:00 +03:00
Valentin Kipyatkov
344529a09a Fixed test 2015-07-22 21:11:00 +03:00
Valentin Kipyatkov
e5d8eecc9d Unused import highlighting
#KT-5236 Fixed
2015-07-22 21:11:00 +03:00
Valentin Kipyatkov
8c02ce73a4 Corrections on code review 2015-07-22 21:06:14 +03:00
Valentin Kipyatkov
2ad981d5c9 Smart completion: don't use outer call's expected type too much 2015-07-22 21:06:14 +03:00
Valentin Kipyatkov
a5384cdc28 Smart completion works for cases when no exact type known (generic parameter substitution is not known) 2015-07-22 21:06:13 +03:00
Valentin Kipyatkov
7b0b2d38c5 KT-8560 Smart completion for lambda value and more in smart completion
#KT-8560 Fixed
2015-07-22 21:04:30 +03:00
Mikhail Glukhikh
f551d64ea2 Refactoring: AnnotationTarget / AnnotationRetention renamed to KotlinTarget / KotlinRetention
(for not clashing with the same built-in classes)
2015-07-22 19:01:25 +03:00
Mikhail Glukhikh
414c44ade5 Make retention of 'kotlin.annotation.annotation' to SOURCE. Serialize / deserialize it instead. Some fixed tests. 2015-07-22 19:00:51 +03:00
Mikhail Glukhikh
11f87e6ca1 No more java Target / Retention loaded. Render java Retention / Target. Related test changes. 2015-07-22 19:00:39 +03:00
Mikhail Glukhikh
c2480d1183 Java to Kotlin annotation retention mapping + new test + JvmLoader test adaptation 2015-07-22 19:00:26 +03:00
Mikhail Glukhikh
c3c02e49c9 Retention for 'kotlin.throws' 2015-07-22 18:58:21 +03:00
Nikolay Krasko
bab01f3822 Use partial resolve for getting annotation fqn
#KT-8557 In Progress
2015-07-22 12:59:49 +03:00
Nikolay Krasko
cbd4b6e204 Additional resolve for annotation on top level classes 2015-07-22 12:59:48 +03:00
Nikolay Krasko
7b85f88dfd Minor: remove commented code 2015-07-22 12:59:47 +03:00
Dmitry Petrov
0ca5cc63e0 Fix accidentally pushed compiler.xml 2015-07-22 09:59:51 +03:00
Valentin Kipyatkov
bddcd58665 Fixed test 2015-07-22 09:55:32 +03:00
Valentin Kipyatkov
10b405f961 Merge branch 'rr/valentin/for-loop-indices' 2015-07-22 09:48:18 +03:00
Zalim Bashorov
679d5fe496 Introduce UsageCollector 2015-07-21 22:27:27 +03:00
Zalim Bashorov
91b87f41bc incremental.cache -> incremental.components; IncrementalCacheProvider -> IncrementalCompilationComponents 2015-07-21 22:27:26 +03:00
Zalim Bashorov
1a96b45f27 To avoid NoSuchMethodError when overriden method declare more specific return type and the super method has an argument with default value (KT-5785) 2015-07-21 22:27:26 +03:00
Zalim Bashorov
df4f43267b Provide location parameter in delegations 2015-07-21 22:27:26 +03:00
Zalim Bashorov
41449c107e Location.NOWHERE -> UsageLocation.NO_LOCATION 2015-07-21 22:27:25 +03:00
Zalim Bashorov
e2e3520c3d Add location parameter to JetScope::getClassifier 2015-07-21 22:27:25 +03:00
Zalim Bashorov
0f92036353 Add location parameter to JetScope::getFunctions 2015-07-21 22:27:25 +03:00
Zalim Bashorov
f79155df97 Add location parameter to JetScope::getProperties 2015-07-21 22:27:24 +03:00
Zalim Bashorov
2d2d510ef0 Introduce Location class to provide usage information in scopes 2015-07-21 22:27:24 +03:00
Stanislav Erokhin
8c912fdb6d Fixed compilation 2015-07-21 21:59:17 +03:00
Stanislav Erokhin
47be8a7f06 Optimized equals method for TypeConstructor 2015-07-21 21:50:28 +03:00
Stanislav Erokhin
9e36e5a8b1 Not store call to resolutionResultsCache in INDEPENDENT mode 2015-07-21 21:50:27 +03:00
Stanislav Erokhin
f802d79305 Minor. move method 2015-07-21 21:50:27 +03:00
Pavel V. Talanov
edc3755b91 Do not build light classes for decompiled enum entries 2015-07-21 20:52:44 +03:00
Pavel V. Talanov
4e0d2bc23c CompileTimeConstantUtils: use getConstant instead of evaluate
Hacky way to avoid passing builtins into this code
2015-07-21 20:52:43 +03:00
Pavel V. Talanov
855e3d2bf4 Inject ConstantExpressionEvaluator in BasicExpressionTypingVisitor via ExpressionTypingComponents 2015-07-21 20:52:42 +03:00
Pavel V. Talanov
add8387141 Fix some problems with jsCode function
1. Fix a bug in frontend when passing non-String constant led to exception
2. Fix a bug in backend when passing non-JetStringTeplate string constant led to exception
3. Avoid recomputing constant argument in backend
2015-07-21 20:52:42 +03:00
Pavel V. Talanov
b4825ada69 Refactor ExpressionTypingVisitorDispatcher
Inject in in ExpressionTypingServices
2015-07-21 20:52:41 +03:00
Dmitry Jemerov
3012815f5f create KotlinReferenceUsageInfo in read action 2015-07-21 18:26:47 +02:00
Alexander Udalov
90d2a0dd3c Revert incorrect change to .idea/compiler.xml 2015-07-21 19:12:06 +03:00
Dmitry Petrov
6437a4bdc6 Support overload ambiguity resolution for callable references by expected type.
Resolve callable references taking into account expected callable types.

This affects call resolution procedure (resolve 'foo' in for 'foo(::bar)') similar to the approach used for function literals:

* During "shape arguments" phase of call resolution, callable references are resolved in independent context without expected type. If the callable reference is ambiguous, its shape type is a function placeholder type without parameter types and return type information. Otherwise, it is a reflection type for the resolved function or property. Upper-level call is resolved without taking into account ambiguous callable references.

* During "complete call" phase of call resolution, resolve callable reference arguments to actual descriptors (if possible), and update constraint system for the given call accordingly.

 #KT-6982 Fixed
 #KT-5780 Fixed
2015-07-21 18:33:15 +03:00
Dmitry Jemerov
b3a2ee2148 delete KDoc Maven plugin 2015-07-21 16:48:38 +02:00
Dmitry Jemerov
b791ea03a9 code cleanup: cli-common module 2015-07-21 16:21:48 +02:00
Dmitry Jemerov
aa1f6f2252 code cleanup: core modules 2015-07-21 16:21:45 +02:00
Dmitry Jemerov
6a6f369e5d code cleanup: plugin-api module 2015-07-21 16:20:56 +02:00
Dmitry Jemerov
43d2af166e code cleanup: light-classes module 2015-07-21 16:20:56 +02:00
Dmitry Jemerov
a73df901ae code cleanup: frontend.java module 2015-07-21 16:20:55 +02:00
Dmitry Jemerov
6bf934b472 code cleanup: frontend module 2015-07-21 16:20:51 +02:00
Dmitry Jemerov
e6776ebd8e code cleanup: container module 2015-07-21 16:20:12 +02:00
Dmitry Jemerov
7c2b2dcc6a code cleanup: backend-common, cli modules 2015-07-21 16:20:11 +02:00
Dmitry Jemerov
7db1650149 code cleanup: ant, backend modules 2015-07-21 16:20:10 +02:00
Dmitry Jemerov
af722c8acd code cleanup: j2k module 2015-07-21 16:20:09 +02:00
Valentin Kipyatkov
e05c20b5c0 Completion: fixed ordering for packages + exclude for package items supported too 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov
ace38ac57f Fixed completion of explicitly imported non-top level packages broken by optimization before 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov
4cfe92f1e5 Renamed method 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov
14b63759a9 Added comment 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov
3c289ade82 Removed unused method 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov
e934d7166b DescriptorKindFilter: more correct filtering of kind mask from excludes 2015-07-21 16:00:09 +03:00
Valentin Kipyatkov
82cd58a556 Restored live template but made it more useful 2015-07-21 15:55:57 +03:00
Mikhail Glukhikh
94a00540be Targeting / retention for a set of standard annotations, some inapplicable annotation checks replaced with target check, some fixed tests 2015-07-21 15:36:53 +03:00
Dmitry Jemerov
a75daf85e2 code cleanup: 'idea' module 2015-07-21 14:26:20 +02:00
Dmitry Jemerov
c718b6f9a3 code cleanup: rest of small modules under 'idea' 2015-07-21 14:26:19 +02:00
Valentin Kipyatkov
16ae9e3861 More consistent intention texts 2 2015-07-21 15:26:18 +03:00
Dmitry Jemerov
9142d48e81 code cleanup: eval4j, ide-common, idea-analysis 2015-07-21 14:26:18 +02:00
Mikhail Glukhikh
9e7a67fabf Warning about java.lang.annotation.Target annotation usage 2015-07-21 15:20:37 +03:00
Mikhail Glukhikh
cf26310042 Java to Kotlin annotation target mapping: relevant fix for J2K 2015-07-21 15:20:34 +03:00
Mikhail Glukhikh
1309c1f95f Annotation mapper is introduced to map java annotation targets to kotlin targets + a set of new / fixed tests 2015-07-21 15:20:31 +03:00
Denis Zharkov
3ec00114c0 Check type of elvis with expected type info
#KT-6713
2015-07-21 15:16:06 +03:00
Denis Zharkov
53edb83a56 Minor. More strict precondition for SAM adapter creation
Descriptor should be initialized before creating SAM adapter
2015-07-21 15:16:06 +03:00
Denis Zharkov
58e7923218 Use substituted return type for SAM adapeter of constructor
#KT-7282 Fixed
2015-07-21 15:16:06 +03:00
Denis Zharkov
97af85da9c Change default upper bound of Java type parameters to Any!
#KT-7672 Fixed
2015-07-21 15:16:05 +03:00
Valentin Kipyatkov
6339ad4ec6 Added inspection based on RemoveForLoopIndicesIntention 2015-07-21 14:59:22 +03:00
Valentin Kipyatkov
6b0fc8391f Lot of code corrections in RemoveForLoopIndicesIntention 2015-07-21 14:59:21 +03:00
Valentin Kipyatkov
e4cdcadbc7 Reordered methods 2015-07-21 14:59:21 +03:00
Valentin Kipyatkov
d5b5245dc8 No need to create template with one field 2015-07-21 14:59:20 +03:00
Valentin Kipyatkov
7611f480c1 More consistent intention texts 2015-07-21 14:59:20 +03:00
Valentin Kipyatkov
fb430575c0 AddForLoopIndicesIntention made low priority 2015-07-21 14:59:19 +03:00
Valentin Kipyatkov
511bb133f5 Reordered methods 2015-07-21 14:59:19 +03:00
Valentin Kipyatkov
e046dc967c Rewritten AddForLoopIndicesIntention to not use by text generation & checks 2015-07-21 14:59:10 +03:00
Valentin Kipyatkov
8ffc1bb3a6 One more test added 2015-07-21 14:59:09 +03:00
Valentin Kipyatkov
0c9401c953 Renamed and correct test data 2015-07-21 14:59:08 +03:00
Alexander Udalov
0e69ebb288 Improve stack traces of exceptions thrown by LockBasedStorageManager
Drop leading frames which only contain memoized functions' and lazy values'
invokes, so that the first frame corresponds to the meaningful place in the
code
2015-07-21 13:32:26 +03:00
Alexander Udalov
b5763e311f Minor, unworkaround the fixed issue 2015-07-21 13:32:26 +03:00
Alexander Udalov
c116b6c868 Don't highlight injection points as unused in project 2015-07-21 13:31:44 +03:00
Natalia Ukhorskaya
ce46982991 Debugger: do not try to computeSourcePosition for not kotlin variables 2015-07-21 13:04:38 +03:00
Natalia Ukhorskaya
fbe2d77df5 Temporary switch off KotlinAndroidExtensions plugin during IDEA debug configuration start 2015-07-21 13:04:37 +03:00
Natalia Ukhorskaya
b1762ac10a Remove unused contentEntry parameter from JetLightProjectDescriptor 2015-07-21 13:04:36 +03:00
Valentin Kipyatkov
dee6bb2f49 Fixed test 2015-07-21 11:39:59 +03:00
Valentin Kipyatkov
a81ed335d0 Renamed test data folders 2015-07-21 11:37:19 +03:00
Valentin Kipyatkov
9ad04a1a26 Merge branch 'master' into ElliotM-for-loop-indices 2015-07-21 11:25:49 +03:00
Valentin Kipyatkov
0d09c55bac JetPackageDirective made not JetExpression 2015-07-21 08:36:36 +03:00
Valentin Kipyatkov
fac55b60fa Lazy computation of smart cast types for receivers in call resolve 2015-07-21 08:32:52 +03:00
Valentin Kipyatkov
4ec26de2a8 Changes on code review 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
2ab8f9de8b Fixed compilation 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
31b7c33fa8 No need to scan base classes 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
1c52f8a524 Fixed synthetic properties for method inherited from two bases 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
612c009f6b Synthetic properties: correct behaviour for method hierarchies 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
367e294452 No synthetic properties in java class for methods inherited from Kotlin 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
e0e7044032 Synthetic properties: fixed completion and inspection for generic class
+ fixed KT-8539 No completion of generic extension function for <*> type arguments

 #KT-8539 Fixed
2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
d2fb7381ce Tested one more case 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
4a8adacedd Changed policy for properties from methods like "getURL()"" 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
0ac990e1a0 More tests for smart casts 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
23cfe88b71 KT-8530 Synthetic properties doesn't work with smart casts
#KT-8530 Fixed
2015-07-21 08:32:50 +03:00
Valentin Kipyatkov
b6027a0efe Changed synthetic properties naming for getters starting with "is" 2015-07-21 08:32:49 +03:00
Valentin Kipyatkov
cf2aa73ee6 Fixed wrong test data 2015-07-21 08:32:49 +03:00
Valentin Kipyatkov
08ac0ae7a0 Renamed classes 2015-07-21 08:32:49 +03:00
Ilya Ryzhenkov
eb97005cb5 Avoid creating SimpleResolutionContext in ConstantExpressionEvaluator to updateNumberType 2015-07-20 20:58:20 +03:00
Ilya Ryzhenkov
84236992cb Replace Injected properties with constructor parameters when it doesn't cause cycles 2015-07-20 20:58:19 +03:00
Ilya Ryzhenkov
76b9ac0f63 FileScopeProviderImpl dependencies 2015-07-20 20:58:18 +03:00
Ilya Ryzhenkov
04e71234a1 LocalClassifierAnalyzer dependencies 2015-07-20 20:58:17 +03:00
Ilya Ryzhenkov
5398de22f9 Container structure dump facilities. 2015-07-20 20:58:16 +03:00
Dmitry Jemerov
7192bc8798 restore fix for highlight usages which was lost during merge against J2K 2015-07-20 18:51:36 +02:00
Dmitry Jemerov
708513ce4c optimize imports 2015-07-20 18:32:13 +02:00
Dmitry Jemerov
3718a7dd44 code cleanup for JS modules 2015-07-20 18:32:05 +02:00
Natalia Ukhorskaya
973fa21fe9 Include snappy-in-java-0.3.1.jar in kotlin-compiler 2015-07-20 12:56:43 +03:00
Ilya Gorbunov
78b4c13d8f apply() got to smart completion where this was expected. 2015-07-20 02:16:38 +03:00
Ilya Gorbunov
1857725629 Unify documentation for scope functions. 2015-07-20 02:16:26 +03:00
Ilya Gorbunov
8a578a46f6 Introduce apply() scope function.
#KT-6903 Fixed
2015-07-20 02:06:38 +03:00
Ilya Gorbunov
3e231f2e44 Generalize run() scope function.
#KT-5235 Fixed
2015-07-20 02:05:22 +03:00
Ilya Gorbunov
21ee2c1cfd Cleanup Array.plus usages after bootstrap. 2015-07-20 01:55:13 +03:00
Alexey Sedunov
41aed73ebd Find Usages: Copy options used for highlighting (to prevent spoiling of default search scope used in the full usage search) 2015-07-17 21:19:28 +03:00
Nikolay Krasko
87e94aa20b Minor test data update after moving to new idea 2015-07-17 20:59:08 +03:00
Nikolay Krasko
cac62fe4c8 Test fix after idea update 2015-07-17 20:59:07 +03:00
Nikolay Krasko
f3c2de5287 Update to idea 142.3230.1 2015-07-17 20:59:05 +03:00
Nikolay Krasko
9648338b19 Enum with interface keywords leads to fail in DeclarationChecker 2015-07-17 20:59:03 +03:00
Nikolay Krasko
71b406d792 Fix class kind detector: prioritize enum over annotations. Introduce new error about enum annotations classes. 2015-07-17 20:59:02 +03:00
Pavel V. Talanov
b2b8f1aabb Minor: prettify converted code a little bit 2015-07-17 19:21:25 +03:00
Pavel V. Talanov
aae8ccfd57 Refactor: AnnotationSerializer does not depend on bultins 2015-07-17 19:21:24 +03:00
Pavel V. Talanov
251ebc7ca8 Inject ConstantExpressionEvaluator to some points of usage 2015-07-17 19:21:24 +03:00
Pavel V. Talanov
92161370f1 Refactor: Make some of utils in ConstantExpressionEvaluator non static 2015-07-17 19:21:23 +03:00
Pavel V. Talanov
855bff39fe Refactor: move annotation arguments resolve related utils from AnnotationResolver to ConstantExpressionEvaluator 2015-07-17 19:21:23 +03:00
Pavel V. Talanov
a84da2bb0c Minor: move utilities closer to their only usage 2015-07-17 19:21:22 +03:00
Pavel V. Talanov
f2016c8033 Minor: remove usage of KotlinBuiltins.getInstance() 2015-07-17 19:21:22 +03:00
Pavel V. Talanov
5ba2cda95d Minor refactor: Extract visitor from ConstantExpressionEvaluator into a separate class 2015-07-17 19:21:21 +03:00
Nikolay Krasko
67492ad5dd Disable kotlin sdk annotation check
#KT-7517 Fixed
2015-07-17 16:16:41 +03:00
Nikolay Krasko
9366652537 Disable annotation check for Android Studio and non-android sdk
Android studio always creates that sdk from scratch so no configuration will be stored after restart (KT-7517)
2015-07-17 16:16:40 +03:00
Pavel V. Talanov
3412febe59 Minor: better message in assertion 2015-07-17 16:06:17 +03:00
Nikolay Krasko
e7f50982ca Merge pull request #726 from flire/master
Added export for completion visibility filter tests
2015-07-17 15:19:37 +03:00
Mikhail Glukhikh
0d0fc2802f Built-in test fixed 2015-07-17 13:26:49 +03:00
Mikhail Glukhikh
af5e7f58da Implementation of Kotlin's 'target' annotation mapping to Java's 'Target' annotation + tests 2015-07-17 12:05:27 +03:00
Mikhail Glukhikh
2a1058ed63 Some usages of JetClassOrObject.isAnnotation() are removed. Related test fixed. 2015-07-17 12:05:19 +03:00
Mikhail Glukhikh
7f12965741 Suppress test corrected 2015-07-17 12:05:15 +03:00
Ilya Gorbunov
2c396cf28e Add clarification about the lazy nature of Sequence.plus and Sequence.minus operations. 2015-07-17 10:54:54 +03:00
Ilya Gorbunov
8ac613dd67 Fix docs for String.partition
#KT-8493 Fixed
2015-07-17 10:54:40 +03:00
Ilya Gorbunov
fbd0c16551 Merging arrays without creating iterators. 2015-07-17 10:54:28 +03:00
Ilya Gorbunov
b5b6e2e598 Usages of Array.plus: return type changed. 2015-07-17 10:54:16 +03:00
Ilya Gorbunov
25e5172591 Rewrite test for overloading plus not to depend on stdlib classes and methods. 2015-07-17 10:54:03 +03:00
Ilya Gorbunov
35959c49b3 Cast Set to Collection to choose right overload of plus. 2015-07-17 10:53:50 +03:00
Ilya Gorbunov
690a536734 Tests for minus operation for collections, sets, iterables and sequences. 2015-07-17 10:53:31 +03:00
Ilya Gorbunov
9d120dcd44 Provide minus and minusAssign for iterables, collections, sets, sequences.
removeAll and retainAll special case optimizations.
#KT-3721 Fixed
#KT-7466 Fixed
2015-07-17 10:53:18 +03:00
Ilya Gorbunov
048a3ebcc1 Implement plus for sequence as operand and refactor plus tests. 2015-07-17 10:53:05 +03:00
Ilya Gorbunov
0ee960da50 Change removeAll extension implementation to match the contract of member removeAll.
Add retainAll for sequences.
2015-07-17 10:52:51 +03:00
Ilya Gorbunov
ecba29a08a Reword contract of Collection's removeAll and retainAll to emphasize that the criteria to remove or retain element is the containment in the specified collection.
Collection.remove(element): clarify docs.
2015-07-17 10:52:38 +03:00
Ilya Gorbunov
2c28c5a8e8 Define plusAssign operator for mutable collections.
#KT-4020 Fixed
2015-07-17 10:52:25 +03:00
Ilya Gorbunov
dd945f4d1a Tests for plus on collections, sets, sequences. 2015-07-17 10:52:12 +03:00
Ilya Gorbunov
0f340c8f62 Make primitive array tests run both in JVM and JS 2015-07-17 10:52:00 +03:00
Ilya Gorbunov
6507cf391b Tests for array's copyOf and plus. 2015-07-17 10:51:49 +03:00
Ilya Gorbunov
a7bf415ad5 plus: do not generate ambiguos overloads. 2015-07-17 10:51:35 +03:00
Ilya Gorbunov
d89af24d6c Variance of arrays sorted out.
Use concat for array + 1 in JS.
2015-07-17 10:51:22 +03:00
Ilya Gorbunov
7866184eb6 Array.plus — different implementations for JVM and JS.
Array.copyOf, copyOfRange available in JS.
2015-07-17 10:51:09 +03:00
Ilya Gorbunov
c883df544c Make plus operation to be strict binary or right external binary for Sets and Arrays. 2015-07-17 10:50:58 +03:00
Ilya Gorbunov
b30a4eb75b Fix maven build: remove unused kdoc imports 2015-07-17 10:26:25 +03:00
Pavel V. Talanov
a147497650 Minor: move all constant value implementation into one file 2015-07-16 18:38:52 +03:00
Dmitry Tishchenko
2fbceb3e1d Added export for completion visibility filter tests 2015-07-16 18:21:32 +03:00
Pavel V. Talanov
2896ec67ba Support synthetic java properties in REPL
Use brand new iterable injection
2015-07-16 18:05:44 +03:00
Ilya Ryzhenkov
07139879cd Implement injection of Iterable<T> and some improvements in generic handling in general 2015-07-16 18:05:43 +03:00
Nikolay Krasko
0c41f4f736 Remove state from android tests 2015-07-16 18:02:32 +03:00
Nikolay Krasko
2a3337907e Avoid storing state in consistency tests 2015-07-16 18:02:31 +03:00
Nikolay Krasko
22f7fca53f Stop debug process 2015-07-16 18:02:30 +03:00
Nikolay Krasko
e03a44d971 Remove state from JetChangeSignatureTests 2015-07-16 18:02:29 +03:00
Nikolay Krasko
fbd46a3ca3 Drop state from debugger tests 2015-07-16 18:02:28 +03:00
Nikolay Krasko
fa4fa3295d Setup needs root access 2015-07-16 18:02:27 +03:00
Nikolay Krasko
12c7c790ec Update to idea 142.3050.1 2015-07-16 18:02:26 +03:00
Nikolay Krasko
796e05983c Move kotlin runtime jars to separate folder and attach them during debug idea start
Now we only attach runtime. It will be possible to attach two jars when it becomes possible to separate paths in system-independent way.
2015-07-16 18:02:25 +03:00
Stanislav Erokhin
d5f7fc52e0 Minor. Remove unnecessary trace parameter 2015-07-16 17:26:16 +03:00
Stanislav Erokhin
97d41be42e Support lazy perform for candidates 2015-07-16 17:26:16 +03:00
Stanislav Erokhin
7038b9d849 Add correct way for CallResolver to process CandidateResolveMode 2015-07-16 17:26:15 +03:00
Stanislav Erokhin
b00dab0db5 Minor. Created CandidateResolveMode in CallCandidateResolutionContext. 2015-07-16 17:26:14 +03:00
Stanislav Erokhin
3c56787514 Minor. .java -> .kt 2015-07-16 17:26:14 +03:00
Stanislav Erokhin
ce80773419 Minor. Convert CandidateResolver to kt 2015-07-16 17:26:14 +03:00
Stanislav Erokhin
fdbd5efd1c Minor. remove static keywords 2015-07-16 17:26:13 +03:00
Dmitry Jemerov
649287b689 remove KDoc support in Kotlin Gradle plugin 2015-07-16 15:04:17 +02:00
Dmitry Jemerov
811f75f062 remove enclosing read action around the entire method references search, use more fine-grained read actions (KT-7917); more cleanup 2015-07-16 14:50:26 +02:00
Dmitry Jemerov
f0296bc1c1 KotlinFindMemberUsagesHandler: J2K and some cleanup 2015-07-16 14:50:25 +02:00
Dmitry Jemerov
c91b6dfe8b KotlinFindMemberUsagesHandler.java : rename to .kt 2015-07-16 14:50:24 +02:00
Dmitry Jemerov
fbf7fa7277 KotlinFindUsagesHandler: cleanup after J2K 2015-07-16 14:50:23 +02:00
Dmitry Jemerov
6b2ea56b76 KotlinFindUsagesHandler: J2K 2015-07-16 14:50:23 +02:00
Dmitry Jemerov
3966db3430 KotlinFindUsagesHandler: rename to .kt 2015-07-16 14:50:22 +02:00
Alexander Udalov
de94778846 Restore deprecated K*Function classes for compatibility
The code compiled with old compiler will work with the new runtime, but not
vice versa
2015-07-16 15:36:07 +03:00
Valentin Kipyatkov
4226b0b2b7 Better presentation for non-root packages in completion 2015-07-16 15:04:01 +03:00
Valentin Kipyatkov
16d503aed0 Even faster completion of root packages 2015-07-16 15:04:01 +03:00
Valentin Kipyatkov
136af1cd60 Optimization in completion: don't spend too much time calculating root packages 2015-07-16 15:04:00 +03:00
Valentin Kipyatkov
10b5942537 Formatting 2015-07-16 14:03:37 +03:00
Valentin Kipyatkov
c1b2ea0b48 More elegant way to achieve the same + fixed KT-7746 Top level package name completion does not work inside class body
#KT-7746 Fixed
2015-07-16 14:03:37 +03:00
Valentin Kipyatkov
82c9cd790e After dot completion optimization: do not ask for packages and classes when searching extensions 2015-07-16 14:03:37 +03:00
Valentin Kipyatkov
39e6237bb0 All JetReferenceExpression's should have a reference (see JetReferenceExpression.mainReference extension) - made JetPackageDirective not a JetReferenceExpression 2015-07-16 13:49:22 +03:00
Valentin Kipyatkov
53810c67db Changes on code review 2015-07-16 13:49:22 +03:00
Valentin Kipyatkov
867b0b5075 Renamed class 2015-07-16 13:49:22 +03:00
Pavel V. Talanov
a740b60134 Temporary workaround until iterable injection is supported in di
Synthetic accessors won't work in REPL until this is fixed
2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
0cea5fc9b2 More informative presentation of synthetic properties in completion 2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
d743924be9 Changed signatures 2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
8f3650ebdb Minor 2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
f5e7483d19 Renames 2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
be5c0ea28b Renamed function 2015-07-16 13:49:21 +03:00
Valentin Kipyatkov
bae90e9c2b Perform and cache full resolve when partial is not supported 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
745bed74b2 Minor fix in partial body resolve 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
8d1499197e Fixed partial resolve caching to cache only for statements that are guaranteed to be processed 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
58f2d37d95 Changed element of additional resolve from single import to whole import list (as we resolve all imports anyway) 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
ea25e5d02a Fixed partial resolve for default parameter values 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
02de67417a Minor code refactorings 2015-07-16 13:49:20 +03:00
Valentin Kipyatkov
e612787833 More advanced partial body resolve caching 2015-07-16 13:49:19 +03:00
Valentin Kipyatkov
53e751be1f Caching of partial body resolve 2015-07-16 13:49:19 +03:00
Valentin Kipyatkov
077c8a82c7 Converted ResolveElementCache to Kotlin (step 2) 2015-07-16 13:49:19 +03:00
Valentin Kipyatkov
bf7afae805 Converted ResolveElementCache to Kotlin (step 1) 2015-07-16 13:49:19 +03:00
Valentin Kipyatkov
5735248be8 Fixed highlight usages 2015-07-16 13:49:19 +03:00
Valentin Kipyatkov
d1db0ce30a Fixed tests 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
27a23e8e07 Fixed package directive completion 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
e52b524d9a Fixed rename of operator functions 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
28e9fbf9b8 Correct synthetic extensions for methods like "getURL" 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
22e631dda3 Naming with "is" supported for synthetic extensions 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
27b4960001 Fixed crash on searching constructor usages 2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
283c8668f5 Don't use PsiElement.getReference() on JetElement 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
d8d00a83bb Separated references to get/set methods on synthetic extension usage into separate PsiReference's to avoid putting usages like "x++" into "Dynamic usages" group 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
f53a0b0536 Converted JetNameReferenceExpression to Kotlin 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
fac15d2933 Minor simplification in CompletionSession 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
42678bc79a Minor optimization 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
962bef6584 Moved methods 2015-07-16 13:49:17 +03:00
Valentin Kipyatkov
a08fe96a8b Renamed methods 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
b33202d32d Hiding getters and setters from completion 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
3faa0a193d Removed obsolete comment 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
92349e41ec Reordered parameters 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
63614c5892 Initial implementation of renaming extension property usages on getter or setter rename 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
13f0d3ca23 Initial implementation of usage search for get/set methods in form of synthetic extension 2015-07-16 13:49:16 +03:00
Valentin Kipyatkov
73dd4a214e Reference resolve from synthetic extension usages to get/set-methods 2015-07-16 13:49:15 +03:00
Valentin Kipyatkov
2ec6f50402 Set method should not accept vararg 2015-07-16 13:49:15 +03:00
Valentin Kipyatkov
82f1eafa0b No synthetic properties of type Unit 2015-07-16 13:49:15 +03:00
Valentin Kipyatkov
bfdc74ce74 Intention&inspection to use synthetic property instead of get/set method call 2015-07-16 13:49:15 +03:00
Valentin Kipyatkov
a014f5c8db No synthetic properties with incorrect names 2015-07-16 13:49:15 +03:00
Valentin Kipyatkov
fa02a15212 One more test for completion 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
9b3cbc6f25 Fixed completion for safe call 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
48b163758f Fixed caching 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
46a512215e Used utility 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
434e3ab38b Moved utility functions for JetType from IDE to core 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
16c4f5bedd Renamed a class 2015-07-16 13:49:14 +03:00
Valentin Kipyatkov
8bde9b098a Code refactoring 2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
17442617bb Synthetic extensions suggested in completion 2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
08754b9fc0 Support for synthetic extensions in codegen 2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
2e351f3e4d Initial implementation of synthetic extensions resolve 2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
c92b43c94b Added JetScope.getSyntheticExtensionProperties() 2015-07-16 13:49:13 +03:00
Natalia Ukhorskaya
e2fa9397c8 Debugger: fix context element in SourcePositionProvider 2015-07-16 13:09:45 +03:00
Natalia Ukhorskaya
98da75c768 Debugger: check that file isn't shorter than breakpoint line (ex. after deleting some lines in file during debug) 2015-07-16 13:09:43 +03:00
Natalia Ukhorskaya
03de31f1b6 Debugger: do not throw assert when context for codeFragment is null (ex. when file was changed and psi isn't valid any more) 2015-07-16 13:09:41 +03:00
Natalia Ukhorskaya
ec3c667f38 Debugger: allow Evaluate Expression in context of File (for some synthetic methods or when file was changed during debug and breakpoint line no longer match the actual line) 2015-07-16 13:09:26 +03:00
Natalia Ukhorskaya
75edfa6527 Debugger: do not resolve symbols on breakpoint line in Evaluate Expression 2015-07-16 13:08:31 +03:00
Natalia Ukhorskaya
9a53142b26 Refactoring: move similar part for obtaining scope for codeFragment to JetCodeFragment 2015-07-16 13:04:04 +03:00
Natalia Ukhorskaya
fdfabebcce Fix debugger test on Java7 2015-07-16 10:24:33 +03:00
Pavel V. Talanov
c313887641 Split CompileTimeConstant into two entities
1. ConstantValue
	* just holds some value and its type
	* implementations for concrete constants
2. CompileTimeConstant
	* is only produced by ConstantExpressionEvaluator
	* has additional flags (canBeUsedInAnnotation etc)
	* has two implementations TypedCompileTimeConstant containing a constant value
		and IntegerValueConstant which does not have exact type
	* can be converted to ConstantValue

Adjustt usages to use ConstantValue if flags are not needed
Add tests for some uncovered cases
2015-07-16 02:28:05 +03:00
Pavel V. Talanov
155f00578d Builtins are passed into builtins module
Fixes circular dependency
2015-07-15 21:09:59 +03:00
Pavel V. Talanov
5dc5d77e60 Inject builtins in constants 2015-07-15 21:09:52 +03:00
Pavel V. Talanov
ea1a85e78c Introduce CompileTimeConstantFactory 2015-07-15 21:09:40 +03:00
Pavel V. Talanov
b0a4520710 Refactor compile constants to reduce boolean parameter hell 2015-07-15 20:57:02 +03:00
Pavel V. Talanov
f97767e159 Drop ArrayValue redundant constructor parameter 2015-07-15 20:56:55 +03:00
Pavel V. Talanov
ae88dd3f1f Convert compile constant classes to kotlin: prettify 2015-07-15 20:56:48 +03:00
Pavel V. Talanov
0369de86c7 Convert compile constant classes to kotlin: j2k 2015-07-15 20:56:41 +03:00
Pavel V. Talanov
a6180611f4 Convert compile constant classes to kotlin: rename files 2015-07-15 19:44:18 +03:00
Pavel V. Talanov
7fef1c4613 Minor: inject builtIns to CallCompleter 2015-07-15 19:44:17 +03:00
Pavel V. Talanov
44dffa7bbc Minor: remove a couple of usages of KotlinBuiltIns.getInstance() 2015-07-15 19:44:17 +03:00
Mikhail Glukhikh
c19785252c Sealed classes now are decompiled correctly + test #EA-70762 Fixed 2015-07-15 17:55:16 +03:00
Ilya Gorbunov
8b325e8a30 Make ByteArray.inputStream a method, not a property.
#KT-8360 Fixed
2015-07-15 17:48:56 +03:00
Ilya Gorbunov
4de5dd9aeb Drop deprecated FunctionalList, FunctionalQueue.
Remove dependency on FunctionalList from tests.
2015-07-15 17:45:56 +03:00
Ilya Gorbunov
0a320a13e5 Stdlib generators: change constants for Long: ZERO, ONE, -ONE. 2015-07-15 17:21:52 +03:00
Ilya Gorbunov
10c376975a Stdlib generators: refactor and eliminate warnings, add families of Sets and InvariantArrays, allow to specify custom signature for particular families. 2015-07-15 17:21:43 +03:00
Ilya Gorbunov
d1a12aa2a7 plus, plusAssign, minus, minusAssign for all possible parameter types for Maps.
#KT-6594 Fixed
2015-07-15 17:12:45 +03:00
Ilya Gorbunov
e080753dc2 Provide toMap and putAll for Arrays and Sequences of key-value pairs.
#KT-4166 Fixed
2015-07-15 17:12:43 +03:00
Ilya Gorbunov
96b79eebe7 asSequence returns empty sequence singleton for empty arrays and strings.
#KT-8450 Fixed
2015-07-15 17:08:27 +03:00
Valentin Kipyatkov
5f8a652a38 KT-4592 Parameter info shows signatures of inaccessible methods
#KT-4592 Fixed
2015-07-15 16:32:20 +03:00
Dmitry Jemerov
d34d54ba47 nicer looking action to create a new Kotlin file
#KT-8445 Fixed
2015-07-15 13:58:51 +02:00
Denis Zharkov
e82adc9d90 Drop unused Approximation type capabilities 2015-07-15 10:01:15 +03:00
Denis Zharkov
d19cb747be Emit not-null assertions for enhanced types 2015-07-15 10:01:14 +03:00
Denis Zharkov
e23c7f457b Preserve type annotations on type parameter when substituting
Subsitute(@A T, T:@B String) = @B @A String

Nullability when loading Java:
Subsitute(@NotNull T, T:String) = @NotNull String
Subsitute(@NotNull T, T:String!) = @NotNull String
Subsitute(@NotNull T, T:String?) = @NotNull String

Subsitute(@Nullable T, T:String) = @Nullable String?
Subsitute(@Nullable T, T:String!) = @Nullable String?
Subsitute(@Nullable T, T:String?) = @Nullable String?
2015-07-15 10:01:14 +03:00
Alexander Udalov
2b541a560e Make function references compiled with old compiler work with new runtime 2015-07-14 21:23:59 +03:00
Dmitry Jemerov
0295b13cc7 couple more tuple leftovers 2015-07-14 17:14:33 +02:00
Dmitry Jemerov
64860345e3 drop tuple type support from parser 2015-07-14 17:09:09 +02:00
Dmitry Jemerov
55c11539f8 drop tuples support from parser 2015-07-14 17:06:17 +02:00
Mikhail Glukhikh
a84fe53256 Minor refactoring of LookupElementsCollector 2015-07-14 16:25:11 +03:00
Mikhail Glukhikh
37b2e97e56 Rendering changed: "annotation class" is now just "class" (with kotlin.annotation.annotation if it's kotlin annotation).
A swarm of tests fixed accordingly.
2015-07-14 16:25:08 +03:00
Mikhail Glukhikh
0d2a81f098 Annotation target checking in front-end, a set of tests for different annotation targets, existing test fixes
No checks for erroneous annotations. Additional checks for identifiers.
2015-07-14 16:25:04 +03:00
Mikhail Glukhikh
609d696202 Annotations have now retention of "RUNTIME" by default. Java retention is generated as given by kotlin annotation. Annotation rendering changed.
Annotation arguments with default values are rendered as ... if renderDefaultAnnotationArguments is true.
Tests: java retention does not taken into account by Descriptor comparator.
Java retentinon changed to kotlin retention in some tests + one new test with java retention added.
More accurate tests for intentions in byte code (visibility controlled).
2015-07-14 16:25:01 +03:00
Mikhail Glukhikh
4a27b4d614 JetClassOrObject.isAnnotation() is deprecated 2015-07-14 16:24:59 +03:00
Mikhail Glukhikh
1eac4d67de "annotation" is now parsed as an identifier. It is no longer a soft keyword.
Sometimes it's allowed to parse "annotation" unescaped even if other annotations must be escaped.
A set of annotations and their options tests.
A swarm of existing tests fixed (mostly kotlin.annotation.annotation() added to txt-files).
STUB_VERSION increased. Some quick fixes slightly changed.
2015-07-14 16:24:55 +03:00
Mikhail Glukhikh
7a6e5f66bd Regression test: char + int = char 2015-07-14 16:24:52 +03:00
Mikhail Glukhikh
5126f01452 kotlin.annotation package with annotations "target" and "annotation" and enums AnnotationTarget and AnnotationRetention introduced.
Targets for existing built-in annotations.
Access to annotation package from packageFragmentProvider.
Documentation for all classes in the package.
2015-07-14 16:24:45 +03:00
Svetlana Isakova
b162a65e85 Changed the way the constraints are written in tests
SUBTYPE T Int -> T <: Int
2015-07-13 21:57:59 +03:00
Valentin Kipyatkov
d32ba08cb7 KT-8394 ReplaceWith for Delegates.lazy fails outside of stdlib
#KT-8394 Fixed
2015-07-13 19:41:42 +03:00
Evgeny Gerashchenko
1346d98bf3 Merge pull request #721 from JetBrains/rr/yole/unwhatever
don't use "whatever" as implementation of getFamilyName(), provide co…
2015-07-13 19:18:35 +03:00
Dmitry Jemerov
31f6405e07 don't use "whatever" as implementation of getFamilyName(), provide correct implementation instead 2015-07-13 18:11:44 +02:00
Ilya Gorbunov
4ad6a8e301 Ensure type of a stack value is coerced to the expected return type after the binary operation instruction with the different return type. 2015-07-13 17:27:37 +03:00
Zalim Bashorov
f7ccb3819e JS: don't pollute object with $metadata$
#KT-8126 Fixed
2015-07-13 15:52:57 +03:00
Alexander Udalov
4de2c5a5c8 Don't generate default no-args constructor for enums
#KT-8438 Fixed
2015-07-13 11:59:35 +03:00
Alexey Sedunov
064b03ca3f Minor: Suppress error message to fix compilation against Java 8 2015-07-11 14:10:36 +03:00
Alexey Sedunov
969183fbf3 Control-Flow: Move type predicate computation out of control-flow analysis 2015-07-10 21:09:07 +03:00
Alexey Sedunov
34cd2e0ac3 Refactoring: Replace factory functions with constructors 2015-07-10 21:09:06 +03:00
Alexander Udalov
290983687d Fix generation of bridges for lambdas
#KT-8447 Fixed
2015-07-10 20:10:16 +03:00
Dmitry Petrov
5dc28f1313 KT-7507 Check expected type for class literal expression 2015-07-10 20:10:15 +03:00
Dmitry Petrov
d540ff8890 KT-8206 java.lang.NoSuchFieldError: $kotlinClass for deprecated::class
Instantiate class literals for annotation classes as foreign.
2015-07-10 20:10:15 +03:00
Alexander Udalov
95f5d24988 Use a built-in marker class for Configure Kotlin action
This helps to get rid of the balloon which was shown in Kotlin project itself
because of the recent change where a source root was added to the module
'builtins', which doesn't have the class kotlin.jvm.internal.Intrinsics (the
'runtime.jvm' module does)
2015-07-10 20:10:15 +03:00
Alexander Udalov
670565b251 Wrap property reference instance before storing to static field 2015-07-10 20:10:14 +03:00
Alexander Udalov
16b5b95556 Test equals/hashCode/toString for function references 2015-07-10 20:10:14 +03:00
Alexander Udalov
f8815d9450 Test visibility of anonymous classes for callable references 2015-07-10 20:10:13 +03:00
Alexander Udalov
3b2be6212d Add some tests on Java property references 2015-07-10 20:10:13 +03:00
Alexander Udalov
c62f19ee82 Move getterName/setterName to JvmAbi
Reuse in RuntimeTypeMapper in reflection
2015-07-10 20:10:13 +03:00
Alexander Udalov
64d8e35d26 Remove ScriptParameterResolver, inline its single method 2015-07-10 20:10:12 +03:00
Alexander Udalov
9b832d4b87 Container of value parameter is always a callable 2015-07-10 20:10:12 +03:00
Alexander Udalov
636b63a8c5 Make "reflection not found" a warning, provide a quick fix
Reporting the warning on each "::", as ReflectionNotFoundInspection did, is not
correct anymore, because for example name/get/set on properties works perfectly
without kotlin-reflect.jar in the classpath. So instead we report the warning
on calls to functions from reflection interfaces. This is not perfect either
because it's wrong in projects with custom implementations of reflection
interfaces, but this case is so rare that the users can suppress the warning
there anyway

 #KT-7176 Fixed
2015-07-10 20:10:11 +03:00
Alexander Udalov
4f1247f03f Support property getters/setters in reflection 2015-07-10 20:10:10 +03:00
Alexander Udalov
749d0c4a52 Minor, simplify KProperty.accessible 2015-07-10 20:10:10 +03:00
Alexander Udalov
fd198accf6 Rename internal field/getter/setter properties in KPropertyImpl
To avoid clash with getter/setter which will appear soon in KProperty interface
2015-07-10 20:10:10 +03:00
Alexander Udalov
048a9b686e Generate separate anonymous class for each property reference
Each property reference obtained by the '::' operator now causes back-end to
generate an anonymous subclass of the corresponding KProperty class, with the
customized behavior. This fixes a number of issues:

- get/set/name of property references now works without kotlin-reflect.jar in
  the classpath
- get/set/name methods are now overridden with statically-generated property
  access instead of the default KPropertyImpl's behavior of using Java
  reflection, which should be a lot faster
- references to private/protected properties now work without the need to set
  'accessible' flag, because corresponding synthetic accessors are generated at
  compile-time near the target property

 #KT-6870 Fixed
 #KT-6873 Fixed
 #KT-7033 Fixed
2015-07-10 20:10:09 +03:00
Alexander Udalov
30794060a9 Simplify property hierarchy in reflection
Leave only 3*2 = 6 classes: KProperty0, KProperty1, KProperty2 and their
mutable analogs, depending on the number of receivers a property takes
2015-07-10 20:10:09 +03:00
Alexander Udalov
c3b97e0668 Simplify function hierarchy in reflection
Get rid of all classes except kotlin.reflect.KFunction, which will be used to
represent all kinds of simple functions.

Lots of changes to test data are related to the fact that KFunction is not an
extension function (as opposed to KMemberFunction and KExtensionFunction who
were) and so a member or an extension function reference now requires all
arguments be passed to it in the parentheses, including receivers. This is
probably temporary until we support calling any function both as a free
function and as an extension. In JS, functions and extension functions are not
interchangeable, so tests on this behavior are removed until this is supported
2015-07-10 20:10:08 +03:00
Alexander Udalov
3549e1e035 Add KFunction.name, support reflection for function references
#KT-7694 Fixed
2015-07-10 20:10:07 +03:00
Alexander Udalov
ab297a4da0 Generate reflection info to classes for function references
The information includes the owner (class, package, script, or null for local
functions) and the JVM signature -- this information will be used by reflection
to locate the symbol
2015-07-10 20:10:07 +03:00
Alexander Udalov
bc168c0cba Support KClass.jvmName = java.lang.Class.getName() 2015-07-10 20:10:07 +03:00
Alexander Udalov
236214305f Support KClass.qualifiedName for non-local classes 2015-07-10 20:10:06 +03:00
Alexey Sedunov
df07a61a08 Control-Flow: Generate instruction for left-hand side of invalid assignments
#KT-8390 Fixed
2015-07-10 19:27:53 +03:00
Svetlana Isakova
d2dc44379e Changed default value for 'getNestedTypeVariables()' 2015-07-10 15:05:12 +03:00
Svetlana Isakova
722a49767a Rename: TypeConstructorMismatch -> ParameterConstraintError 2015-07-10 15:05:12 +03:00
Svetlana Isakova
016a8f69da Removed check for position when storing initial top-level constraints 2015-07-10 15:05:11 +03:00
Svetlana Isakova
425a9516db Minor. Rename: typeParameterBounds -> localTypeParameterBounds 2015-07-10 15:05:11 +03:00
Svetlana Isakova
4701310852 Removed unnecessary check to prevent infinite recursion in incorporation 2015-07-10 15:05:11 +03:00
Svetlana Isakova
92e7ed0425 Rename: getNestedTypeArguments -> getNestedArguments 2015-07-10 15:05:10 +03:00
Svetlana Isakova
3c698992e0 Generate specific type inference error
only for bounds from 'parameter' positions (receiver & value arguments).
They can be marked as error (with red color) explicitly later.

Replaced getSystemWithoutWeakConstraints() with filterConstraintsOut(TYPE_BOUND_POSITION)
2015-07-10 15:05:10 +03:00
Svetlana Isakova
4c8b75928e Added tests
#KT-6179 Fixed
  #KT-8132 Fixed
2015-07-10 15:05:10 +03:00
Svetlana Isakova
fc69cf1b5e Added more tests on incorporation 2015-07-10 15:05:09 +03:00
Svetlana Isakova
4c1eedce3b Added tests for incorporation with nullable type parameter 2015-07-10 15:05:09 +03:00
Svetlana Isakova
d1e9f00e5f Removed obsolete type parameter substitution logic
when copy constraint system
2015-07-10 15:05:09 +03:00
Svetlana Isakova
f25f59bb6e Solve the constraint system for alpha-converted variables,
store initial and backward conversions for
substituting new constraints and the result
2015-07-10 15:05:08 +03:00
Svetlana Isakova
a714de783f Converted CallResolverUtil to kotlin 2015-07-10 15:05:08 +03:00
Svetlana Isakova
517c2b3520 Rename to kt: CallResolverUtil 2015-07-10 15:05:08 +03:00
Svetlana Isakova
b8526e7048 Added diagnostic tests for inference and incorporation 2015-07-10 15:05:07 +03:00
Svetlana Isakova
086e69e132 Added tests for obsolete tasks 2015-07-10 15:05:07 +03:00
Svetlana Isakova
690a46bbb4 Removed obsolete use of resolution results cache
the other usage is still relevant
2015-07-10 15:05:07 +03:00
Svetlana Isakova
89e16ecbcc Don't generate constraint if a type variable was substituted twice
to prevent infinite recursion
2015-07-10 15:05:06 +03:00
Svetlana Isakova
3b85ac90ba Check initial constraints in constraint system status 2015-07-10 15:05:06 +03:00
Svetlana Isakova
4c4f99c356 Use approximation of captured types in incorporation
to generate new constraints
2015-07-10 15:05:06 +03:00
Svetlana Isakova
c6e698e18d Minor: simplified code
Used BoundKind.ordinal()
2015-07-10 15:05:05 +03:00
Svetlana Isakova
ac578f7e5b Cache type corresponding to type variable 2015-07-10 15:05:05 +03:00
Svetlana Isakova
db8085c399 Incorporation tests 2015-07-10 15:05:05 +03:00
Svetlana Isakova
179c5e3c3a Add a constraint for nested call
if there are no bounds on variables in this call return type
2015-07-10 15:05:04 +03:00
Svetlana Isakova
1463ff7258 Updated constraint system tests 2015-07-10 15:05:04 +03:00
Svetlana Isakova
cf64687b02 More accurate error reporting
with type inference error for delegated properties
Add the constraints from completer if they don't lead to errors
except errors from upper bounds to improve diagnostics
2015-07-10 15:05:04 +03:00
Svetlana Isakova
9a5abf368f Constraint incorporation
In a constraint system a new bound is incorporated:
all new constrains that can be derived from it
(and from existing ones) are added
2015-07-10 15:05:04 +03:00
Svetlana Isakova
82acce4767 Separate input and result data in constraint system test
input file: *.constraints
 result file: *.bounds
2015-07-10 15:05:03 +03:00
Svetlana Isakova
07937a27eb Added GenericCandidateResolver 2015-07-10 15:05:03 +03:00
Svetlana Isakova
0fdfb6b5db Render short names in constraint system tests 2015-07-10 15:05:02 +03:00
Svetlana Isakova
8b9cdd1751 Changes in TypeBounds interface
inlined 'isEmpty' (correctly)
  replaced functions 'getValue, getValues' with properties
2015-07-10 15:05:02 +03:00
Svetlana Isakova
5717148bd4 Changed test data
Added an extra blank line to rendered constraint system
2015-07-10 15:05:02 +03:00
Svetlana Isakova
918087f475 Don't render constraint positions in tests
for constraint system, it's always SPECIAL anyway
2015-07-10 15:05:02 +03:00
Svetlana Isakova
f7dc59e2d6 Added 'UNKNOWN' argument mapping
for cases with no argument expression
2015-07-10 15:04:38 +03:00
Denis Zharkov
76648878e0 Ignore type parameters in value arguments while comparing SAM adapters
#KT-8388 Fixed
2015-07-10 08:46:27 +03:00
Alexey Sedunov
aa34fe6352 Minor: Remove useless annotation 2015-07-10 01:28:54 +03:00
Alexey Sedunov
f71f7dd4dd Minor: Drop unused classes 2015-07-09 20:47:57 +03:00
Alexey Sedunov
f9b836e144 Change Signature: Error reporting for Java class without an explicit constructor 2015-07-09 20:47:54 +03:00
Alexey Sedunov
a96bd546a1 Change Signature: Avoid explicit Unit return type 2015-07-09 20:47:51 +03:00
Alexey Sedunov
eb7463ed81 Change Signature: Propagate parameters to chosen callers
#KT-7902 Fixed
2015-07-09 20:47:48 +03:00
Alexey Sedunov
9853934087 Change Signature: Implement parameter propagation UI
#KT-7902 In progress
2015-07-09 20:47:45 +03:00
Alexey Sedunov
46dcfb508e Call Hierarchy: Find implicit constructor calls in Java code 2015-07-09 20:35:06 +03:00
Alexey Sedunov
8104b899aa Find Usages: Unify usage highlighting and full usage search 2015-07-09 20:35:03 +03:00
Alexey Sedunov
e8f5a2db7c Minor: Fix compilation-breaking nullability issues 2015-07-09 20:34:55 +03:00
Alexey Sedunov
058829aa55 J2K: JetChangeSignatureDialog 2015-07-09 17:56:54 +03:00
Alexey Sedunov
8b2be72434 J2K: JetChangeSignatureDialog (rename to .kt) 2015-07-09 17:56:53 +03:00
Alexey Sedunov
0bf7bb3987 J2K: JetChangeSignatureHandler 2015-07-09 17:56:52 +03:00
Alexey Sedunov
74570333c0 J2K: JetChangeSignatureHandler (rename to .kt) 2015-07-09 17:56:50 +03:00
Alexey Sedunov
0afea7acac J2K: JetUsageInfo 2015-07-09 17:56:49 +03:00
Alexey Sedunov
51eb989d57 J2K: JetChangeSignatureProcessor 2015-07-09 17:56:47 +03:00
Alexey Sedunov
9dd6dea85f Change Signature: Move UI-related classes to separate package 2015-07-09 17:56:46 +03:00
Alexey Sedunov
0169963a27 Change Signature: Process internal usages of function parameters when
performing Java refactoring
2015-07-09 17:56:44 +03:00
Denis Zharkov
5c60a1bdb8 Make project compilable after PurelyImplements annotation introduction 2015-07-09 16:36:48 +03:00
Denis Zharkov
a218c1359f Adjust testData: JDK collections behave like non-platform in backend
Some of that changes looks like regression and should be fixed soon
2015-07-09 16:36:48 +03:00
Denis Zharkov
d350303951 Change HashMap in test to custom class
It's implementing kotlin.Map with flexible arguments that is necessary in this test.
2015-07-09 16:36:47 +03:00
Denis Zharkov
151231ef1a Adjust testData
Standard JDK collections purely implement kotlin.Mutable* with non-platform arguments
2015-07-09 16:36:47 +03:00
Denis Zharkov
8b49a1d660 Add PurelyImplements annotation
It's parameter is FQ-name of class (currently only from builtins) that added as supertype to annotated Java class.

Parameters of annotated class used as non-flexible arguments of added supertype, that helps to propagate more precise types when using in Kotlin.
Some standard JDK collections loaded as they annotated with PurelyImplements.

See tests for clarification.
Before: ArrayList<Int>.add(x: Int!) // possible to add null
After: ArrayList<Int>.add(x: Int)   // impossible to add null

 #KT-7628 Fixed
 #KT-7835 Fixed
2015-07-09 16:36:47 +03:00
Denis Zharkov
8120513465 Add some collections to mockJDK
It's neccessary to test they loaded as pure implementation of kotlin collections
2015-07-09 16:36:46 +03:00
Denis Zharkov
da416f1caf Change traversal order for finding corresponding supertype from DFS to BFS
In most cases order doesn't matter as in supertype tree built from real code
types with same type constructors should be completely equal.

The only case when order does matter is when we artificially add more specific supertype closer to the root.

For example specific annotation adding non-platform supertype MutableMap<K, V> to ConcurrentHashMap
ConcurrentHashMap<K, V> extends ConcurrentMap<K!, V!> that extends java.util.Map<K!, V!> (mapped to kotlin.MutableMap<K!, V!>)

So we want in that case to use refined (more specific) version when checking subtypes:
ConcurrentHashMap<String, Int> should not be a subtype Map<String!, Int!> (and respectively Map<String?, Int?>)
It should be pure non-platform Map<String, Int> that can be found only with BFS
2015-07-09 16:36:46 +03:00
Denis Zharkov
0a19fb7df2 Make project compilable after types enhancement 2015-07-09 16:36:46 +03:00
Denis Zharkov
4479c215d4 Change return type for iterator method of asList impls for *Array
These objects implement AbstractList that extending MutableCollection.
After type propagation `iterator` of AbstractList become MutableIterator, so it cannot be overriden with immutable Iterator
2015-07-09 16:36:46 +03:00
Denis Zharkov
afcdd27d67 Add some marginal tests for types enhancement 2015-07-09 16:36:45 +03:00
Denis Zharkov
5ea0c14d4a Expand the AbstractJvmRuntimeDescriptorLoaderTest hack
Remove type related annotations from java source as they have CLASS retention policy
2015-07-09 16:36:45 +03:00
Denis Zharkov
00e41fc238 Fix testData after types enhancement 2015-07-09 16:36:45 +03:00
Denis Zharkov
befe025d21 Fix intentions testData: types rendering changed
Some more FQ names appeared.
The reason is that earlier such types were Lazy and their `toString` method return short version.
But after type enhancement they are represented with JetTypeImpl
2015-07-09 16:36:45 +03:00
Denis Zharkov
f0833d626a Fix intentions tests after types enhancement
Types became more accurate
2015-07-09 16:36:44 +03:00
Denis Zharkov
cfadda8061 Fix codegen tests after types enhancement 2015-07-09 16:36:44 +03:00
Denis Zharkov
1b44f77054 Minor. trait -> interface in testData 2015-07-09 16:36:44 +03:00
Denis Zharkov
d4e5479f0f Update testData for nullability warnings
They become errors after type enhancement
2015-07-09 16:36:44 +03:00
Andrey Breslav
4e17500e1c Test data for LoadJava tests fixed 2015-07-09 16:36:43 +03:00
Denis Zharkov
0173cb1c17 Diagnostics test data fixed 2015-07-09 16:36:43 +03:00
Denis Zharkov
e13f34a8a0 Minor. Use getOrElse from stdlib 2015-07-09 16:36:43 +03:00
Denis Zharkov
fd43799c6e Use original descriptor when working with errors in KotlinSignature
Otherwise enhanced version are treated differently
2015-07-09 16:36:43 +03:00
Denis Zharkov
a551f21e9f Use original descriptor when trying to obtain source
Also refine `getOriginal` of `DeclarationDescriptorWithSource` for comfortable use
2015-07-09 16:36:42 +03:00
Denis Zharkov
0375e45936 Change reporting policy for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS
If lower bound of flexible is nullable treat it like Kotlin nullable type
Anyway appropriate errors are reported outside JavaNullabilityWarningsChecker
2015-07-09 16:36:42 +03:00
Denis Zharkov
1469a0aa6f Make computation of indexed JavaTypeQualifiers eager 2015-07-09 16:36:42 +03:00
Denis Zharkov
c01c59d562 Use doSubstitute when enhacing types of Java method
Before this commit old type parameters were inserted into new descriptor,
and that broke a simple contract: desc.child.getContainingDeclaration() == desc.

We use `doSubstitute` here because it does exactly what we need:
1. creates full copy of descriptor
2. copies method's type parameters (with new containing declaration) and properly substitute to them in value parameters, return type and etc.

But we had to customize `doSubstitute`: add some parameters like `newReturnType`

NOTE: Strange testData change.
(Mutable)List<in T!>! after substitution becomes MutableList<in T!>..List<*>?.

But it's not wrong because List<in T> behaves exactly as List<*>, and the same happens when substituing Java class scope:
public class A<E> {
    <T> void foo(List<? super T> x) {}
}

Kotlin:
A.foo(), type of first value parameter --- (Mutable)List<in T!>
A<String>().foo(), type of first value parameter --- MutableList<in T!>..List<*>?
2015-07-09 16:36:42 +03:00
Denis Zharkov
f6c4ec1533 Move creation of enhanced ValueParameterDescriptor to JavaCallableMemberDescriptor
It's needed because new parameter owner is not created while enhacing types
(It was containing declaration of old value parameter that is wrong)

Also simplified SignatureParts' logic: `replaceType` is always an identity function
2015-07-09 16:32:25 +03:00
Denis Zharkov
4710168c5a Minor. Specify visibility for some declarations in typeEnhacement 2015-07-09 16:32:25 +03:00
Denis Zharkov
c769748cb0 Move type enhacement parts to separate package in runtime
It's needed to enhace types when loading descriptors via reflection.
Also get rid of `enhanceSignatures` method in ExternalSignatureResolver as enhancement does not use external signature at all
2015-07-09 16:32:25 +03:00
Andrey Breslav
c6b91b0f81 Java type annotations supported in LazyJavaTypeResolver 2015-07-09 16:32:25 +03:00
Andrey Breslav
eaae88133c Minor FilteredAnnotations moved out of Java-specific code 2015-07-09 16:32:25 +03:00
Andrey Breslav
31f4ff749c Type annotations supported in Java elements
Reflection-related implementations are pending
2015-07-09 16:32:25 +03:00
Andrey Breslav
694af022c8 Type Enhancement for Java fields and constructors supported as well 2015-07-09 16:32:25 +03:00
Andrey Breslav
8c78739983 Proper enhancement for type parameters 2015-07-09 16:32:25 +03:00
Andrey Breslav
04aee291b9 Proper treatment of return types 2015-07-09 16:32:25 +03:00
Andrey Breslav
a8b5698145 Proper enhancement for SAM adapters 2015-07-09 16:32:25 +03:00
Andrey Breslav
9644eeb047 Propagating annotations into type arguments 2015-07-09 16:32:24 +03:00
Andrey Breslav
4248654f5f Signature enhancement: most basic version implemented 2015-07-09 16:32:24 +03:00
Andrey Breslav
61da419c4a Spec: account for problematic cases (some unsolved yet) 2015-07-09 16:32:24 +03:00
Andrey Breslav
f376b2ba70 Stub infrastructure for enhancing platform signatures 2015-07-09 16:32:24 +03:00
Andrey Breslav
991f0fcf2e Type enhancement and qualifier extraction 2015-07-09 16:32:24 +03:00
Andrey Breslav
e095162c19 Minor. Dictionary 2015-07-09 16:32:24 +03:00
Andrey Breslav
d140e83386 Minor. Methods renamed to reflect tha fact that they handle more types than just collections 2015-07-09 16:32:24 +03:00
Andrey Breslav
579ca9c1f2 Minor. Typo 2015-07-09 16:32:24 +03:00
Andrey Breslav
2de3a3b59e Minor. Rename addToScope -> addFakeOverride 2015-07-09 16:32:24 +03:00
Denis Zharkov
a6a099b0f5 Fix flexible type rendering
Do not append "!" if bounds have same nullability
2015-07-09 16:32:24 +03:00
Andrey Breslav
64866183f7 Spec for enhancing Java declarations with annotations 2015-07-09 16:32:24 +03:00
Andrey Breslav
4d6ab824c8 Adding Java descriptors to the test data for nullability warnings 2015-07-09 16:32:23 +03:00
Nikolay Krasko
7386ea0d0b Avoid counting directory parent for file 2015-07-09 12:06:36 +03:00
Dmitry Jemerov
77c0a54a79 convert QuickFixRegistrar to Kotlin; on-demand registration of quickfixes (KT-8307)
#KT-8307 Fixed
2015-07-08 18:27:24 +02:00
Dmitry Jemerov
6734dcb82c QuickFixRegistrar: J2K 2015-07-08 18:04:22 +02:00
Dmitry Jemerov
3a1fb7d883 QuickFixes: J2K 2015-07-08 18:04:21 +02:00
Valentin Kipyatkov
4dc7081dc4 Completion: fixed filtering shadowed declarations for generic functions 2015-07-08 16:28:54 +03:00
Valentin Kipyatkov
3f74cc6351 More consistent presentation for different completion items producing lambda's 2015-07-08 16:28:53 +03:00
Valentin Kipyatkov
1f79955275 Completion: more intuitive presentation of function items that insert lambda 2015-07-08 16:28:53 +03:00
Valentin Kipyatkov
88dd86d603 Fixes: use isExactFunctionOrExtensionFunctionType() to detect when lambda can be passed 2015-07-08 16:28:52 +03:00
Valentin Kipyatkov
6b78a53c3d More tests 2015-07-08 16:28:52 +03:00
Valentin Kipyatkov
91c4bf7530 Renamed test data 2015-07-08 16:28:35 +03:00
Valentin Kipyatkov
75d668bc19 Adapted completion in lambda signatures to modern syntax 2015-07-08 16:28:35 +03:00
Valentin Kipyatkov
60ea98f870 Moved/renamed test data 2015-07-08 16:28:34 +03:00
Evgeny Gerashchenko
60a3ab548c Moved filtering of excluded symbols to KotlinIndicesHelper 2015-07-08 15:30:29 +03:00
Evgeny Gerashchenko
0d5dbdfa0c Added completion action to exclude classes/packages.
#KT-2413 fixed
2015-07-08 14:28:39 +03:00
Evgeny Gerashchenko
b98aa76325 Added completion action to exclude classes/packages.
#KT-2413 fixed
2015-07-08 14:28:39 +03:00
Evgeny Gerashchenko
0451debda4 Supported excluded packages/classes in completion.
#KT-2413 in progress
2015-07-08 14:28:38 +03:00
Evgeny Gerashchenko
5c56bc455e Supported excluded packages/classes in auto-import quick fix.
#KT-2413 in progress
2015-07-08 14:28:37 +03:00
Evgeny Gerashchenko
2a0817a4d1 Minor. Added word to dictionary. 2015-07-08 14:27:39 +03:00
Ilya Gorbunov
30ec88129c Clarify docs for capitalize and decapitalize methods. 2015-07-07 22:36:55 +03:00
Dmitry Jemerov
79602163a3 update run configuration on package rename 2015-07-07 18:02:48 +03:00
Dmitry Jemerov
c6c2404dcf validate more run configuration attributes; use correct CommandLineState base class to allow shutdown hooks to work (KT-7489)
#KT-7489 Fixed
2015-07-07 18:02:47 +03:00
Dmitry Jemerov
9cfc6b3905 correctly update name of run configuration on class rename 2015-07-07 18:02:46 +03:00
Dmitry Jemerov
247ffdccbe updating run configuration on class rename (KT-6731) 2015-07-07 18:02:45 +03:00
Dmitry Jemerov
4fbd982059 fix RunConfiguratioTest: use location.getModule() instead of context.getModule() 2015-07-07 18:02:44 +03:00
Dmitry Jemerov
d29e63e2b8 check type of containing file in getTestClass() 2015-07-07 18:02:44 +03:00
Dmitry Jemerov
49714d0817 convert KotlinRunConfigurationProducer to new API, allowing it to coexist with KotlinJUnitRunConfigurationProducer correctly
#KT-2604 Fixed
2015-07-07 18:02:43 +03:00
Dmitry Jemerov
9d650b6154 JetRunConfigurationProducer: J2K 2015-07-07 18:02:42 +03:00
Dmitry Jemerov
3ca30af615 JetRunConfigurationProducer: rename to .kt 2015-07-07 18:02:41 +03:00
Dmitry Jemerov
bd36b5e3d8 rewrite JUnit run configuration producer with a non-deprecated API; correctly detect configuration created from context (KT-8038); allow running test if file contains multiple classes (KT-8272)
#KT-8038 Fixed
 #KT-8272 FIxed
2015-07-07 18:02:40 +03:00
Dmitry Jemerov
a206ff7406 JetJUnitConfigurationProducer: J2K 2015-07-07 18:02:39 +03:00
Dmitry Jemerov
2a48a97853 JetJUnitRunConfigurationProducer: rename to .kt 2015-07-07 18:02:38 +03:00
Yan Zhulanow
9cb88a9c21 Fix muted completion test for the @file keyword 2015-07-07 16:35:24 +03:00
Yan Zhulanow
9c8ea54946 Use KotlinJvmCheckerProvider to check @publicField 2015-07-07 16:35:24 +03:00
Yan Zhulanow
3bcdee2a20 publicField & field in companion object 2015-07-07 16:35:23 +03:00
Yan Zhulanow
74f44dddb0 Add tests for publicField 2015-07-07 16:35:23 +03:00
Yan Zhulanow
bffb24b075 Add publicField annotation 2015-07-07 16:35:22 +03:00
Yan Zhulanow
441e72abed kapt: Add class declarations test in AP wrapper 2015-07-07 16:35:22 +03:00
Yan Zhulanow
c6ac878cf0 kapt: Add inherited annotations test 2015-07-07 16:35:21 +03:00
Yan Zhulanow
cf08390e04 Minor: fix deprecations in Kotlin Android Extensions code 2015-07-07 16:35:21 +03:00
Yan Zhulanow
700d495d7f kapt: Support inherited annotations in Gradle 2015-07-07 16:35:21 +03:00
Yan Zhulanow
a90f175fc2 kapt: Support inherited annotations in AP wrapper 2015-07-07 16:35:20 +03:00
Yan Zhulanow
afa3ae4439 Add tests for inherited annotations (class declarations) 2015-07-07 16:35:20 +03:00
Yan Zhulanow
09c3bd8699 kapt: Support inherited annotations in Kotlin plugin 2015-07-07 16:35:19 +03:00
Dmitry Jemerov
d6e37ad8c5 add markup for KDOC_LINK 2015-07-07 14:58:59 +03:00
Dmitry Jemerov
c5ea13e5a6 KotlinColorSettingsPage: J2L 2015-07-07 14:58:57 +03:00
Dmitry Jemerov
cdf9025f38 JetColorSettingsPage: rename to .kt 2015-07-07 14:58:55 +03:00
Nikolay Krasko
65c6bad542 Remove bundled plugin from ideaSDK 2015-07-07 14:58:53 +03:00
Nikolay Krasko
23ae5ae57c Remove own idea runtime and reflect jars 2015-07-07 13:36:57 +03:00
Natalia Ukhorskaya
002bca2f01 Fix compilation 2015-07-07 13:36:56 +03:00
Nikolay Krasko
fed264580d Update to 142.2887.3 2015-07-07 13:36:55 +03:00
Dmitry Petrov
4e42cc6b81 Save/restore stack in try-expressions (and statements).
Parse TryCatchBlockNode's in generated bytecode, infer stack save/restore points.
Save stack to local variables before 'try'.
Restore stack after the beginning of try-block, catch-block, and default handler.
Integrate before/after inline markers rewriting (otherwise it'll break our stacks).

 #KT-3309 Fixed
2015-07-07 12:16:29 +03:00
Nikolay Krasko
534154e20d Replace trait to interface icons
#KT-8319 Fixed
2015-07-06 21:06:13 +03:00
Nikolay Krasko
2cde746047 Usage highlighting test 2015-07-06 21:06:12 +03:00
Nikolay Krasko
68384a9b4a Avoid looking for light methods if only Kotlin search needed 2015-07-06 21:06:11 +03:00
Ilya Gorbunov
f440d97e04 Remove unnecessary Char.toChar from tests. 2015-07-06 17:57:35 +03:00
Ilya Gorbunov
456bab40d1 Ensure value of correct return type is on stack after intrinsic Char +/- Int and Char - Char binary operations. 2015-07-06 17:57:33 +03:00
Ilya Gorbunov
222d4002ac Add char binary operations to JVM codegen tests. 2015-07-06 17:57:25 +03:00
Valentin Kipyatkov
26f72d0935 MInor corrections after code review 2015-07-06 16:48:51 +03:00
Valentin Kipyatkov
c75a18291c KT-7918 J2K: don't generate jvmOverloads on private declarations
#KT-7918 Fixed
2015-07-06 16:48:51 +03:00
Valentin Kipyatkov
2999aaf974 KT-8034 J2K: save file before performing the conversion
#KT-8034 Fixed
2015-07-06 16:48:51 +03:00
Valentin Kipyatkov
4c80db9249 KT-8110 J2K: Don't convert "==" to "===" for enum classes
#KT-8110 Fixed
2015-07-06 16:48:51 +03:00
Valentin Kipyatkov
767e21db76 J2K - no '@' required for primary constructor annnotations 2015-07-06 16:48:51 +03:00
Valentin Kipyatkov
8e3c793760 Used named arguments for clarity 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
67cf180aba Code clarification 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
d3402280c5 Extracted methods 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
e9b4045eac Fixed test data 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
40fe680acf J2K: preserving line breaks between arguments 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
fefb828fae J2K: preserving line breaks between parameters 2015-07-06 16:48:50 +03:00
Valentin Kipyatkov
1e988028a9 Optimization 2015-07-06 16:48:49 +03:00
Valentin Kipyatkov
403549b924 Renames 2015-07-06 16:48:49 +03:00
Valentin Kipyatkov
6679a6912e Memory optimizations + more clear code 2015-07-06 16:48:49 +03:00
Valentin Kipyatkov
fdff2c7153 J2K: preserving line breaks between enum members from original code 2015-07-06 16:48:49 +03:00
Alexander Udalov
f9afb4f95b Make CLASS default class kind in binary metadata
Don't write the kind to the class file if it's CLASS to save some bytes
2015-07-06 16:19:57 +03:00
Alexander Udalov
b0e963bf34 Binary metadata: make repeated int fields packed
To save some bytes for enums and classes with many nested classes
2015-07-06 16:19:55 +03:00
Alexander Udalov
5e011b92ef Add source roots to modules 'builtins' and 'runtime.jvm'
This is done to be able to write code in the module 'reflection.jvm' in the IDE
without lots of unresolved errors and such
2015-07-06 16:19:55 +03:00
Alexander Udalov
feb4dd7b8f Drop 'OBJECT$' field deprecated in M11 2015-07-06 16:19:54 +03:00
Alexander Udalov
0bad4e0137 Make KotlinJvmCheckerProvider non-singleton, pass module to it 2015-07-06 16:19:53 +03:00
Alexander Udalov
ac0db5ce80 Fix incorrect TypeCastException message when casting null
#KT-5121 Fixed
2015-07-06 16:14:22 +03:00
Alexander Udalov
cb03f0df5a Fix casts of Unit value to other types 2015-07-06 16:14:06 +03:00
Alexander Udalov
62c22bf0ec Minor, simplify ExpressionCodegen#binaryWithTypeRHS 2015-07-06 16:06:15 +03:00
Ilya Gorbunov
80074c71fa Minor: Correct typo in 'intrinsic' 2015-07-04 04:47:12 +03:00
Ilya Gorbunov
1605027b19 Change return type of Char plus Int and Char minus Int binary operations.
JS: Remove unnecessary intrinsic binary operation patterns, adjust intrinsics for binary operations with char.
2015-07-04 04:47:00 +03:00
Ilya Gorbunov
39b27751df Drop deprecated char operations: correct test data. 2015-07-04 04:46:23 +03:00
Ilya Gorbunov
e8aff3360a Do not use deprecated operations in ranges and progressions hashCode. 2015-07-04 04:46:11 +03:00
Ilya Gorbunov
2c4db42319 Drop deprecated char binary operations. 2015-07-04 04:45:59 +03:00
Ilya Gorbunov
005a0a1eb6 Eliminate deprecated char operation usages in stdlib 2015-07-04 04:45:47 +03:00
Nikolay Krasko
ff9c251438 Filter out overridden candidates before looking for most specific
This filtering will remove signature duplicates that prevent findMaximallySpecific() from finding best candidate.
2015-07-03 20:59:48 +03:00
Evgeny Gerashchenko
01b83b3e3e Minor. Fixed test data. 2015-07-03 19:48:01 +04:00
Alexey Sedunov
5319e9e761 Change Signature: Support configurable Change Signature for Java code
#KT-5923 Fixed
2015-07-03 18:38:06 +03:00
Alexey Sedunov
9e82411e78 Change Signature: Do not process calls with unmatched arguments/parameters 2015-07-03 18:38:05 +03:00
Alexey Sedunov
4cc2a57aed Minor: Pull up original property 2015-07-03 18:38:04 +03:00
Alexey Sedunov
e9b2732aa9 Minor: Drop unused class 2015-07-03 18:38:03 +03:00
Alexey Sedunov
161539f3da Change Signature: val/var parameter support 2015-07-03 18:38:02 +03:00
Alexey Sedunov
2ff63d37c2 Change Signature: Property support
#KT-6599 Fixed
2015-07-03 18:38:01 +03:00
Alexey Sedunov
c96349f42b Change Signature: Filter out OverriderUsageInfo(s) corresponding to Kotlin
declarations
2015-07-03 18:37:59 +03:00
Alexey Sedunov
c66a4d53fd Introduce Variable: Use name entered in template as a variable name
#KT-8358 Fixed
2015-07-03 18:37:58 +03:00
Pavel V. Talanov
e135b6ae96 Recompute KotlinResolveCache for synthetic files on project structure modification
Since computed KotlinResolveCache depends on corresponding synthetic files location (namely, moduleFilter), it should be recomputed in this case

The STR for this issue provided by Alexander Udalov:
1. Open a library source, wait for it to be analyzed. In this case library sources are files in the project under core/builtins/src/.
2. Go to project settings and remove the source from the library.
3. Exception now on each file change, out of block doesn't seem to help.
2015-07-03 16:50:51 +03:00
Ilya Gorbunov
f7436064d0 Unify componentN templates and add NOTHING_TO_INLINE suppression. 2015-07-03 16:38:10 +03:00
Ilya Gorbunov
9618a3542f Provide getOrElse and getOrNull methods for indexed collections.
Breaking: elementAtOrElse is no longer inlined for Iterables and Sequences.
#KT-6952
2015-07-03 16:38:08 +03:00
Michael Nedzelsky
8cd978bfd8 add tests for KT-8158 make Kotlin compiler invoked from IDEA cancellable 2015-07-03 16:14:08 +03:00
Michael Nedzelsky
ea0c14d7ad KotlinJpsBuildTest.kt: minor refactoring after converting 2015-07-03 16:14:04 +03:00
Michael Nedzelsky
13bda2de44 convert KotlinJpsBuildTest to Kotlin: step 1: rename 2015-07-03 16:14:01 +03:00
Michael Nedzelsky
e09411f45f convert KotlinJpsBuildTest to Kotlin: step 1: convert body 2015-07-03 16:13:58 +03:00
Evgeny Gerashchenko
aa65eb1055 More proper fix for KT-8137/EA-69470: avoiding failed assertion when searching usages of parameter of local class constructor
KT-8137 AE at JetSourceNavigationHelper.convertNamedClassOrObject() on function local class with several constructor parameters

 #KT-8137 fixed
 #EA-69470 fixed
2015-07-03 16:00:06 +03:00
Alexander Udalov
48a8f53551 Fix ClassCastException in SamAdapterOverridabilityCondition
This was happening on the upcoming hierarchy of property getters and setters in
kotlin.reflect. No test added because it's not so easy to come up with a small
example, and because the fix itself is rather trivial
2015-07-03 15:32:20 +03:00
Alexander Udalov
fa9dfd94b0 Minor, add ScriptContext#toString 2015-07-03 15:32:19 +03:00
Alexander Udalov
7dcb33fcf2 Minor, don't store type in receiver parameter 2015-07-03 15:32:19 +03:00
Alexander Udalov
cd61f6f96b Minor, dump bytecode in REPL test on demand 2015-07-03 15:32:18 +03:00
Alexander Udalov
cd847b7cb9 Minor, make JavaMethod#getReturnType non-null
PsiMethod#getReturnType only returns null for constructors, and JavaMethod is
not created for constructors (JavaConstructor is)
2015-07-03 15:32:17 +03:00
Alexander Udalov
b064b947ce Minor, add missing kdoc on Function's type parameter 2015-07-03 15:32:17 +03:00
Alexander Udalov
c8439ae6fc Minor, rename val EXTENSION_REGISTRY -> extensionRegistry 2015-07-03 15:32:16 +03:00
Alexander Udalov
110d6fa7f1 Don't load irrelevant classes by accident, if resource happens to exist
Check with the containing class or package first, don't load the class if the
container doesn't know about it. This also makes the workaround for
case-insensitive file systems unnecessary
2015-07-03 15:31:48 +03:00
Stanislav Erokhin
1e7b96aec0 replace ArrayList to SmartList 2015-07-02 16:32:46 +03:00
Stanislav Erokhin
2f68cc4c97 Created reset method. 2015-07-02 16:32:45 +03:00
Stanislav Erokhin
298a27951f Use System.nanoTime() instead threadMxBean.getCurrentThreadUserTime() 2015-07-02 16:32:45 +03:00
Stanislav Erokhin
45a3d7ec46 Create performance counter with excluded counters 2015-07-02 16:32:45 +03:00
Stanislav Erokhin
d830729ddb change creation of performance counters 2015-07-02 16:32:44 +03:00
Stanislav Erokhin
9974423e2b Disable performance time counters by default 2015-07-02 16:32:44 +03:00
Dmitry Jemerov
ae55131b45 fix typos 2015-07-02 13:23:17 +02:00
Dmitry Jemerov
21e25e8509 KT-4820: Intention to introduce/remove indices from a for-loop (update to modern Kotlin) 2015-07-02 13:16:34 +02:00
Dmitry Jemerov
7f3f834011 Merge branch 'for-loop-indices' of https://github.com/ElliotM/kotlin into ElliotM-for-loop-indices 2015-07-02 13:14:19 +02:00
Dmitry Jemerov
94e3b058b2 Merge pull request #712 from zarechenskiy/visitor
Override all methods from based visitor class
2015-07-02 11:39:19 +02:00
Nikolay Krasko
d564f44aad Getting decompiled file content through getPsi() doesn't work for local class files
Decompiler view providers are created with EmptyFileManager (see ClassFileDecompiler.decompile()). This makes impossible to create psi file for virtual class file in local file system because parent directory is null in SingleRootFileViewProvider.createFile() pre-check.
2015-07-02 00:49:08 +03:00
Ilya Gorbunov
64379947fd Do not allow using getOrPut on concurrent maps.
#KT-5800 In Progress
2015-07-01 22:33:58 +03:00
Ilya Gorbunov
a47325cc30 Provide getOrSet method for ThreadLocal<T: Any>
#KT-7927 Fixed
2015-07-01 22:30:17 +03:00
Mikhail Zarechenskiy
2fcb46bb13 Override all methods from based visitor class 2015-07-01 22:25:28 +03:00
Ilya Gorbunov
cb9d9cb77d Delegates.observable and vetoable inline their lambda parameters into ObservableProperty implementation.
ObservableProperty made abstract.
#KT-5388
2015-07-01 22:23:14 +03:00
Ilya Gorbunov
9dbc4e4eef Provide another type of callback to the ObservableProperty which is called after the property value has been changed.
#KT-6866 Fixed
2015-07-01 22:23:11 +03:00
Ilya Gorbunov
61e657567d Increase heap size for compiler up to 2000M 2015-07-01 22:16:17 +03:00
Evgeny Gerashchenko
8e3dd54477 Minor. Converted class with class object to object. 2015-07-01 21:21:35 +03:00
Pavel V. Talanov
15a4782a0c Move CompilationCanceledStatus and related utils to "util" module
It should not be in "frontend" since "jps bare plugin" artifact does not include "frontend" module
2015-07-01 21:21:35 +03:00
Pavel V. Talanov
9a9d70fd98 Decompiler: do not try to render function types with star projections prettily 2015-07-01 20:45:32 +03:00
Evgeny Gerashchenko
8fcbd44ad4 KT-8137 AE at JetSourceNavigationHelper.convertNamedClassOrObject() on function local class with several constructor parameters
#KT-8137
 #EA-69470 fixed
2015-07-01 19:43:54 +03:00
Evgeny Gerashchenko
560654744c Checking exceptions in other threads. E.g. inspections pass thread. 2015-07-01 19:43:54 +03:00
Mikhail Glukhikh
bae9a7d7f8 Types are no more rendered for annotation arguments + a swarm of tests corrected accordingly 2015-07-01 16:12:32 +03:00
Nikolay Krasko
dde295011b Refactoring: rename file 2015-07-01 14:52:43 +03:00
Nikolay Krasko
ef477f99e9 Create file must return new file, as old one can be invalidated (KT-8266)
Invalidation in SingleRootFileViewProvider.getPsiInner()

 #KT-8266 Fixed
2015-07-01 14:52:41 +03:00
Mikhail Glukhikh
7c7a0fb4ea trait to interface (StubInterfaces) 2015-06-30 19:46:33 +03:00
Mikhail Glukhikh
848c2afdb4 "is" over enum entry is now an error + new tests + test fixes 2015-06-30 19:46:30 +03:00
Mikhail Glukhikh
e1d3b296e9 Exhaustive when over enum may now use "is" instead of comparison + a pair of tests 2015-06-30 19:46:28 +03:00
Pavel V. Talanov
786cadb08b Fix failing test in container test and add it to generators module test dependencies
This should enable running this test on build server
2015-06-30 17:06:22 +03:00
Pavel V. Talanov
b173f96505 Refactor: Remove ScopeProvider, introduce FileScopeProviderImpl
Rename NoFileScopeProvider -> FileScopeProvider.ThrowException, ScopeProvider.AdditionalScopeProvider -> FileScopeProvider.AdditionalScopes
2015-06-30 16:12:23 +03:00
Dmitry Jemerov
7bcc3dd875 correct place for enabling alternative resolve in library configurator 2015-06-30 14:05:30 +02:00
Nikolay Krasko
8bea21a847 Introduce BodyResolveCache for storing resolve function body task in IDE 2015-06-30 13:54:42 +03:00
Nikolay Krasko
2dfed03b67 Refactoring: rename method addAllMyDataTo -> addOwnDataTo 2015-06-30 13:54:41 +03:00
Nikolay Krasko
09bb050c3f Add addOwnDataTo() to BindingContext 2015-06-30 13:54:40 +03:00
Nikolay Krasko
083023211e Refactoring: create trace inside each resolve task
This will allow reuse external cached results with their temp traces
2015-06-30 13:54:39 +03:00
Nikolay Krasko
980a0d19be Refactoring: don't register scopes explicitly, get them from scope provider on demand 2015-06-30 13:54:38 +03:00
Nikolay Krasko
b81d8eb484 Refactoring: Don't depend on whole context if only DataFlowInfo is needed 2015-06-30 13:54:37 +03:00
Nikolay Krasko
0b49197ca3 Minor: suppress warning 2015-06-30 13:54:36 +03:00
Nikolay Krasko
fad883e55b Minor: remove outdated commit 2015-06-30 13:54:36 +03:00
Valentin Kipyatkov
2f0bce375e Restored filtering out of empty name actions 2015-06-30 13:41:41 +03:00
Valentin Kipyatkov
004b400089 DirectiveBasedActionUtils: added intentions to suppress warning to the list of ignored in tests to fix DeprecatedSymbolUsage.testJavaDeprecated() 2015-06-30 13:41:41 +03:00
Valentin Kipyatkov
eadeb6e63f DirectiveBasedActionUtils: don't allow to specify ACTION directives that won't be checked anyway 2015-06-30 13:41:41 +03:00
Valentin Kipyatkov
c0062b1199 Code simplifications 2015-06-30 13:41:41 +03:00
Valentin Kipyatkov
09723b9991 Converted DirectiveBasedActionUtils to Kotlin 2015-06-30 13:41:41 +03:00
Valentin Kipyatkov
646653aa9a Better deparenthesizing 2015-06-29 19:36:50 +03:00
Valentin Kipyatkov
5b997c2c43 Moved method 2015-06-29 19:36:49 +03:00
Valentin Kipyatkov
db144a6121 Suggestions from expression itself to have higher priority + fixed incorect upper case naming 2015-06-29 19:36:49 +03:00
Valentin Kipyatkov
4a52247ab7 Name validation filters out invisible declarations 2015-06-29 19:36:48 +03:00
Valentin Kipyatkov
5c0195ff68 IterateExpressionIntention: checking for name conflicts 2015-06-29 19:36:48 +03:00
Valentin Kipyatkov
abb729b2ed Moved and renamed classes 2015-06-29 19:36:47 +03:00
Valentin Kipyatkov
de2378f909 Rewritten NameValidatorImpl to be both more efficient and more correct 2015-06-29 19:36:47 +03:00
Valentin Kipyatkov
df5f035760 KT-7716 Introduce Variable's name suggestions often have "1" at the end for no real reason
#KT-7716 Fixed
2015-06-29 19:36:46 +03:00
Valentin Kipyatkov
ed267d9949 Code improvements in NameValidatorImpl 2015-06-29 19:36:46 +03:00
Valentin Kipyatkov
e00294d17b IterateExpressionIntention uses collection expression for name suggestions too 2015-06-29 19:36:45 +03:00
Valentin Kipyatkov
024834737d Removed unclear doc 2015-06-29 19:36:45 +03:00
Valentin Kipyatkov
f60470b3eb JetNameSuggester: no name duplicates + no full body resolve always 2015-06-29 19:36:45 +03:00
Valentin Kipyatkov
bce79906ef Use of List's instead of Array's 2015-06-29 19:36:44 +03:00
Valentin Kipyatkov
343604bce0 Minor 2015-06-29 19:36:44 +03:00
Valentin Kipyatkov
a2407aaaa4 Minor code improvements 2015-06-29 19:36:43 +03:00
Valentin Kipyatkov
3dd811e73e Reordered methods 2015-06-29 19:36:43 +03:00
Valentin Kipyatkov
c478f1d347 Renamed methods 2015-06-29 19:36:42 +03:00
Valentin Kipyatkov
a02c86bac9 Refactored NameValidator getting rid of it and replacing with a function 2015-06-29 19:36:42 +03:00
Valentin Kipyatkov
79a453f12c Renamed classes 2015-06-29 19:36:41 +03:00
Valentin Kipyatkov
ffa7492240 Moved classes 2015-06-29 19:31:21 +03:00
Valentin Kipyatkov
39f38591d9 Converted JetNameSuggester to Kotlin (step 2) 2015-06-29 19:31:21 +03:00
Valentin Kipyatkov
6f9e5ed386 Converted JetNameSuggester to Kotlin (step 1) 2015-06-29 19:31:21 +03:00
Valentin Kipyatkov
2206459874 Initial implementation of KT-7688 Intention action to iterate over iterable value
#KT-7688 Fixed
2015-06-29 19:31:21 +03:00
Valentin Kipyatkov
4fc67c27b0 Renamed class 2015-06-29 19:29:27 +03:00
Valentin Kipyatkov
498e746689 KT-8169 Strange exception when replacing function call to its only argument
#KT-8169 Fixed
2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
463b0cda79 Fixed test data 2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
786793744e Added getEqualsToken for future use 2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
46ad1b8573 "Remove argument name" intention 2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
6988297511 More informative intention text 2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
98c0c636b3 Smaller availability range for add argument name intention 2015-06-29 19:29:26 +03:00
Valentin Kipyatkov
9d83510af5 KT-7144 Intention action on an argument in a call to use named arguments form
#KT-7144 Fixed
2015-06-29 19:29:25 +03:00
Valentin Kipyatkov
c689af142a Fixed highlighting for enum and object names in code
#KT-8134 Fixed
2015-06-29 19:29:25 +03:00
Valentin Kipyatkov
2bd1362be6 Create function/property from usage: added "member" when appropriate + changed order 2015-06-29 19:29:25 +03:00
Dmitry Jemerov
b691ed2494 use JetIcons instead of direct icon reference 2015-06-29 17:21:32 +02:00
Dmitry Jemerov
e441aa0a3f show Kotlin bytecode by explicit request, rather than always 2015-06-29 17:01:12 +02:00
Ilya Gorbunov
0e896ea1bb Drop streams and iterators: correct test data. 2015-06-29 17:06:49 +03:00
Ilya Gorbunov
6b700c4ba6 Restore and undeprecate removed Iterator.forEach(). 2015-06-29 17:06:48 +03:00
Ilya Gorbunov
34f939a476 Make sequence implementations private. 2015-06-29 17:06:46 +03:00
Ilya Gorbunov
4660b07687 StdLib cleanup: drop deprecated iterators and streams. 2015-06-29 17:06:45 +03:00
Ilya Gorbunov
6d4e48ab9a Compiler&plugin deprecations cleanup: string operations. 2015-06-29 17:06:43 +03:00
Ilya Gorbunov
35166f44ae StdLib deprecations cleanup: string operations. 2015-06-29 17:06:41 +03:00
Ilya Gorbunov
86f4a1b6e4 Compiler&plugin deprecations cleanup: replace streams with sequences. 2015-06-29 17:06:40 +03:00
Ilya Gorbunov
5779b89ff0 Deprecations cleanup: sequence -> asSequence 2015-06-29 17:06:33 +03:00
Ilya Gorbunov
765733b791 Compiler&plugin deprecations cleanup: withIndices -> withIndex or mapIndexed 2015-06-29 17:06:31 +03:00
Ilya Gorbunov
f4651f22ca Compiler&plugin deprecations cleanup: adhoc indices property for IntArrayList. 2015-06-29 17:06:29 +03:00
Ilya Gorbunov
32144257ec Compiler&plugin deprecations cleanup: length, size, indices, tail and other collection operations. 2015-06-29 17:06:28 +03:00
Ilya Gorbunov
f3a19ebe11 StdLib deprecations cleanup: length, size, indices and other collection operations. 2015-06-29 17:06:20 +03:00
Ilya Gorbunov
2c31a1a345 Compiler&plugin deprecations cleanup: *array -> *arrayOf, copyToArray -> toTypedArray. 2015-06-29 17:06:12 +03:00
Ilya Gorbunov
00a44f6d4f StdLib deprecations cleanup: *array -> *arrayOf, copyToArray -> toTypedArray. 2015-06-29 17:05:57 +03:00
Michael Nedzelsky
c462d23a0e add support for cancel compilation from IDE
#KT-8158 Fixed
2015-06-29 16:41:16 +03:00
Alexey Sedunov
4eeff03525 Change Signature: Support Kotlin functions overriding Java methods
#KT-5856 Fixed
2015-06-27 13:58:13 +03:00
Alexey Sedunov
38982fe641 Change Signature: Fix receiver removal in the dialog 2015-06-27 13:58:11 +03:00
Alexey Sedunov
5fb37097dc Introduce Variable: Fix offset to start template at
#KT-8162 Fixed
2015-06-27 13:58:10 +03:00
Alexey Sedunov
1469275a5a Extract Function: Fix return type computation for extracted callee expression
#KT-8233 Fixed
2015-06-27 13:58:09 +03:00
Alexey Sedunov
febf725e85 Extract Function: Extract block contents
#KT-8235 Fixed
2015-06-27 13:58:07 +03:00
Alexey Sedunov
4e7200d8e8 Extract Function: Add backticks to non-identifiers and references originally surrounded in backticks
#KT-8192 Fixed
2015-06-27 13:58:06 +03:00
Alexey Sedunov
c6f6637b25 Extract Function: Fix extraction of explicit/implicit invoke()
#KT-8116 Fixed
2015-06-27 13:58:04 +03:00
Alexey Sedunov
f6965b5004 PSI: Add parentheses around annotated expressions in returns
#KT-8260 Fixed
2015-06-27 13:58:03 +03:00
Alexey Sedunov
8c9863e759 PSI: Add parentheses around non-trivial callee expressions
#KT-8232 Fixed
2015-06-27 13:58:02 +03:00
Alexey Sedunov
5ac1fbf59b Descriptor Renderer: Add parentheses around receiver type if it's non-nullable function type
#KT-8188 Fixed
2015-06-27 13:58:00 +03:00
Alexey Sedunov
5d89097870 Move: Fix processing of references with qualifier receivers
#KT-8098 Fixed
2015-06-27 13:57:59 +03:00
Alexey Sedunov
c4442c59d4 Move: Suggest target file name based on selected declarations
#KT-8227 Fixed
2015-06-27 13:57:57 +03:00
Alexey Sedunov
6055933258 Copy: CopyFileHandler must support all elements inside of Kotlin file (in the absence of more specific handlers)
#KT-8175 Fixed
2015-06-27 13:57:56 +03:00
Ilya Gorbunov
cbdaf2a151 Minor: regenerate generated code. 2015-06-26 19:40:56 +03:00
Pavel V. Talanov
65c6adfaa4 Drop "injector-generator" module, tests and existing generated injectors
Move GeneratorsFileUtil to "generators" module
Drop "Generate Injectors" run configuration
2015-06-26 15:21:43 +03:00
Pavel V. Talanov
df529f1a4b Convert usages of existing generated injectors to dynamic injectors
Rewrite RuntimeModuleData to use hand-written code as we do not pack container module into runtime
This change introduces some overhead (up to 10% for the tests I ran) in some scenarios in IDE, that should be addressed later
2015-06-26 15:21:41 +03:00
Ilya Ryzhenkov
5db541ee24 Add container module with implementation of di based on java reflection
Initial implementation by Ilya Ryzhenkov
Renovation, optimization, integration and removal of unused features by Pavel Talanov
2015-06-26 15:21:39 +03:00
Alexander Udalov
f52bc8a2d2 CLI: make message bold only for errors and warnings
Info, logging and output are not important enough to appear bold every time
2015-06-26 13:31:36 +03:00
Alexander Udalov
499579274d Move MessageRenderer instances to top level 2015-06-26 13:31:35 +03:00
Natalia Ukhorskaya
999aea6179 Update to IDEA 142.2670.3 2015-06-26 12:30:48 +03:00
Valentin Kipyatkov
a7e032456c Minor corrections after code review 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
f679ed7011 Renamed a class 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
8146fb673b Moved classes to separate files 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
bf3b731347 More correct 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
afa46f1c95 Filtering out type parameters that are not visible at the completion point 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
e894a04ce6 Code refactoring 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov
57ff2be9b9 Simplified code by introducing one more option in LookupElementFactor 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov
73fd4ad57f Fixed small inconsistency in presentation for nested classes 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov
01e56dc571 Fixed test data 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov
c5f0fbf327 Replaced JetScopeUtils.getResolutionScope() with more correct utility 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov
776d198ea5 Disabled parameter name&type completion for annotation type constructor 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov
0ab155d61d Rename 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov
75a260a366 Restarting completion when new suggestions may appear 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov
fa588ace57 Fixed icons for java and compiled classes broken before 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov
ecbc7ba5b6 Parameter name completion allows user prefix part in the name + more strict prefix matcher used 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov
d95c44f838 Minor 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov
1011a59884 Don't detect isDeprecated twice 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov
8520235934 Fixed deprecated ordering and quick doc for java and compiled classes in completion 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov
53688d061a Fixed name suggestions for types with abbreviations like "URL" 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
84ba634c3e Parameter names from current file get higher priority + number of occurrences matters 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
c6fd04dcac No duplication for parameter name/types from current file and from classes 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
ce6668b5ba Fixed class names shortening 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
55e9a3b851 Refactored createLookupElementForType changing rendering for function types 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
17500cef98 Completion of parameter name/types from the current file 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov
22ad1389f5 Parameter name completion: no insertion on just typing 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov
c0126b08c3 Parameter name completion: added more tests for ordering 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov
437478e694 Parameter name completion: suppressed auto-insertion 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov
6478c7d460 Ordering of parameter name suggestions by type relevance 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov
e2991b1412 Disabled parameter name completion where it makes no sense 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov
0e045b9478 Completion of parameter name+type works for val/var parameters 2015-06-25 21:57:11 +02:00
Valentin Kipyatkov
0e4ac7108a Completion: fixed insertion of java class names that require escaping 2015-06-25 21:57:11 +02:00
Valentin Kipyatkov
8210d3091f Initial implementation of KT-6427 Completion to use Java name suggestion to complete function parameters
(+ filtered out synthetic Kotlin classes from completion)
2015-06-25 21:57:11 +02:00
Valentin Kipyatkov
e0f1bde20a Renames 2015-06-25 21:57:11 +02:00
Dmitry Jemerov
c91a359fea run Kotlin library configurator with alternative resolve enabled 2015-06-25 21:30:50 +02:00
Mikhail Glukhikh
4d895a4c31 Sealed classes: extra java against kotlin tests, together with an implementation of Java diagnostics inside these tests 2015-06-25 19:07:26 +03:00
Mikhail Glukhikh
6e2395471d Sealed code generation: sealed is considered abstract, correct serialization
A pair of tests provided.
2015-06-25 19:07:23 +03:00
Mikhail Glukhikh
4d2ba3e890 Sealed constructors are made private in front-end, tests changed accordingly 2015-06-25 19:07:20 +03:00
Mikhail Glukhikh
4517e15299 Minor refactoring of resolveDelegationSpecifierList 2015-06-25 19:07:18 +03:00
Mikhail Glukhikh
f6872dfbea Exhaustive when support for sealed classes #KT-7606 Fixed
When on sealed can use is (both for derived classes and objects) or just comparison (only for derived objects).
A pack of tests provided.
2015-06-25 19:07:16 +03:00
Mikhail Glukhikh
8d25c20169 Introduction of sealed classes
Sealed classes can be derived only by their own inner classes or objects.
Their constructors cannot be called explicitly, so compiler knows all their descendants.
Incompatible modifier checks (final, abstract). Impossible with interface, object, enum.
A pack of tests provided.
2015-06-25 19:07:13 +03:00
Mikhail Glukhikh
2dea17a3a9 Final specification for sealed class hierarchies, additional words about sealed when optimization 2015-06-25 19:07:10 +03:00
Andrey Breslav
de876a8c26 Create sealed-hierarchies-and-when.md 2015-06-25 19:07:08 +03:00
dnpetrov
f364d23ee9 KT-5347 VerifyError on local data class with closure
- generated copy() should push captured fields on stack
- refactor context lookup
- handle vars in local classes using instance fields

 #KT-5347 Fixed
2015-06-25 17:52:30 +03:00
dnpetrov
c24e6b5698 Support 'break' and 'continue' in expressions
- generate fake jump instructions so that we can always analyze stack depths
- fix stack before break and continue by dropping excessive elements (e.g., *a*.foo(*b*, c?:continue))
- Analyzer rewritten in Kotlin, with more flexible control of CFG traversal

 #Fixed KT-3340
 #Fixed KT-4258
 #Fixed KT-7941
2015-06-25 17:40:55 +03:00
Nikolay Krasko
d937f385cd Copy libraries to {project.dir}/lib folder by default (KT-8231)
#KT-8231 Fixed
2015-06-25 13:50:32 +03:00
Nikolay Krasko
a98468e829 Test for KT-5326
#KT-5326 Obsolete
2015-06-25 13:50:14 +03:00
Ilya Gorbunov
d20d8e2106 2nd stage of replaceFirst semantics change: remove deprecated String.replaceFirst(String), rename replaceFirstLiteral to replaceFirst. 2015-06-24 21:48:09 +03:00
Ilya Gorbunov
249106647c 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. Provide replacement for splitBy and splitWithRegex (JS). 2015-06-24 21:48:07 +03:00
Ilya Gorbunov
9caf5baf34 Refactor delegation unit tests. 2015-06-24 21:39:41 +03:00
Ilya Gorbunov
d04e94c826 Use NoSuchElementException instead of KeyMissingException. Deprecate KeyMissingException. 2015-06-24 21:39:40 +03:00
Ilya Gorbunov
9c7992abbb Use getOrElse in MapVal.get 2015-06-24 21:39:38 +03:00
Ilya Gorbunov
a6b7857d57 Drop complicated MapAccessors. Deprecate simple cases of Delegates.mapVar and Delegates.mapVal in favor of direct delegation without wrappers. 2015-06-24 21:39:37 +03:00
Ilya Gorbunov
d2feefbf3a Document map delegation accessors and withDefault functionality. 2015-06-24 21:39:36 +03:00
Ilya Gorbunov
2f8a431a79 Change getOrElse and getOrPut implementations so that double lookup is made when map doesn't contain value, rather when does. 2015-06-24 21:39:34 +03:00
Ilya Gorbunov
5306e88425 Provide the way to specify implicit default for a readonly or mutable map.
Refactor: rename default key and value providers.
2015-06-24 21:39:33 +03:00
Ilya Gorbunov
d137a83471 Simple extensions to delegate readonly property to Map and read-write property to MutableMap without delegate wrappers.
Delegation to map with custom key selector by map accessors.
2015-06-24 21:39:31 +03:00
Ilya Gorbunov
2989586582 Change Lazy from an interface to an abstract class with internal constructor to prevent implementations violating its contract. 2015-06-24 21:39:30 +03:00
Evgeny Gerashchenko
55dad40650 Added reflect.jar as dependency for proguard. Fixed build. 2015-06-24 20:51:17 +03:00
Evgeny Gerashchenko
041df7fd15 Made it possible to easily enable debug logging in incremental compilation tests. 2015-06-24 18:01:51 +03:00
Evgeny Gerashchenko
23eab73507 Added extra logging in incremental cache and Kotlin Builder. 2015-06-24 18:01:51 +03:00
Mikhail Glukhikh
5fabb962ae Private constructors are now accessed via synthetic constructor with DEFAULT_CONSTRUCTOR_MARKER as an additional argument #KT-6299 Fixed
A set of tests provided. Some external tests fixed accordingly.
Companion object creation changed accordingly.
Derived classes now can use base class with the private constructor.
Refactoring of AccessorForFunctionDescriptor.
2015-06-24 12:30:11 +03:00
Mikhail Glukhikh
83ce674a37 Warning message changed #KT-8143 Fixed 2015-06-24 12:30:08 +03:00
Michael Bogdanov
9ef00f0621 Code clean 2015-06-24 09:48:56 +03:00
Michael Bogdanov
b1c5002889 Remove finally marker at inlining 2015-06-24 09:48:55 +03:00
Michael Bogdanov
a018e4e12a Updated exception table generation: support new exception table in non-local returns 2015-06-24 09:48:55 +03:00
Michael Bogdanov
93c5a52d13 Updated exception table generation: try block return moved to uncatched interval
#KT-8148 Fixed
2015-06-24 09:48:55 +03:00
Michael Bogdanov
11ab2148b2 Fixed scipt execution classpath 2015-06-24 09:48:55 +03:00
Michael Nedzelsky
71729031c1 fix maven build 2015-06-24 01:35:25 +03:00
Alexander Udalov
0593b833b5 Check extension receiver properly for property references
Without this, the unrelated type specified on the LHS of a property reference
literal was considered to be an extension receiver of the candidate, and the
resolution was erroneously successul. This is only reproducible for properties,
because if we're trying to resolve an extension, we consider all properties
from the scope, even non-extensions, because there may be a property of an
extension-functional type (T.() -> R). (We don't do this for functions.)

 #KT-7430 Fixed
 #KT-7945 Fixed
2015-06-23 23:35:17 +03:00
Natalia Ukhorskaya
25210c0c18 Merge pull request #707 from JetBrains/rr/yole/run-configurations
add missing UI for specifying alternative JRE path to Kotlin run configuration
2015-06-23 19:06:28 +03:00
Dmitry Jemerov
02211f1431 reorder fields to match Java 2015-06-23 18:02:15 +02:00
Dmitry Jemerov
a3b543a05a change module chooser to look like in IDEA's Java run configuration 2015-06-23 17:48:34 +02:00
Dmitry Jemerov
e3846f0150 use PanelWithAnchor to align all labels and text fields in Kotlin run configuration 2015-06-23 17:16:32 +02:00
Dmitry Jemerov
1ddf87fa2e validate some of the settings in KotlinRunConfiguration 2015-06-23 16:32:15 +02:00
Dmitry Jemerov
5b1d393d05 report JIT time 2015-06-23 16:24:49 +02:00
Dmitry Jemerov
2216ec1b68 report GC time 2015-06-23 16:24:48 +02:00
Dmitry Jemerov
6ca4dd32cf include module names in analyze and generate perf reports 2015-06-23 16:24:48 +02:00
Dmitry Jemerov
ebcd7de26b report meaningful init times for subsequent runs when -Xrepeat flag is used 2015-06-23 16:24:47 +02:00
Dmitry Jemerov
669cd9e514 environment variable for enabling perf 2015-06-23 16:24:47 +02:00
Dmitry Jemerov
7cfb91192f K2JVMCompiler: cleanup after J2K 2015-06-23 16:24:46 +02:00
Dmitry Jemerov
0600abd6bd K2JVMCompiler: J2K 2015-06-23 16:24:46 +02:00
Dmitry Jemerov
d84c9fa59e K2JVMCompiler: rename to .kt 2015-06-23 16:24:45 +02:00
Sergey Mashkov
ab5d8d12ea IDL2K declarations order stability 2015-06-23 17:21:13 +03:00
Denis Zharkov
8412984774 Delete IdeaJdkAnnotationsReflectedTest
Kotlin JDK annotations are empty now
2015-06-23 16:44:47 +03:00
Denis Zharkov
602a1c11ac Fix testData: parameter names are dropped from annotations 2015-06-23 16:44:47 +03:00
Denis Zharkov
35fa4eadd8 Attach ideaSDK/jdkAnnotations.jar to external annotations for intention tests
As they're always attached to real SDKs in real projects
2015-06-23 16:44:47 +03:00
Denis Zharkov
ad99b079b9 Update intention tests: don't use java.util.Collections.*
Because their behaviour depends on annotations that we are going to drop
2015-06-23 16:44:46 +03:00
Denis Zharkov
d18c1ca32e Update J2K behavior with empty jdk annotations 2015-06-23 16:44:46 +03:00
Denis Zharkov
80a7f79f12 Make jars with JDK/Android SDK annotations empty
- Compiler use them only for getting parameter names and we are OK to drop it
- IDE plugin can use jdkAnnotations from ideaSDK
2015-06-23 16:44:27 +03:00
Nikolay Krasko
8013cbe4ef Fix forEach method in TrackingSlicedMap 2015-06-23 16:00:40 +03:00
Nikolay Krasko
237987fcc5 Workaround for non-thread-safe intentions text state 2015-06-23 16:00:38 +03:00
Nikolay Krasko
87f325c44b Use common Kotlin test supertype to avoid invalid root access assert 2015-06-23 16:00:21 +03:00
Nikolay Krasko
ef7cc6ae10 Force openning project 2015-06-23 15:59:40 +03:00
Nikolay Krasko
3d8f04e4fe Update test data: Idea can't parse description with "ctrl+ alt + b" promotion 2015-06-23 15:59:38 +03:00
Evgeny Gerashchenko
2820dbf181 Removed workaround for exception in IDEA. 2015-06-23 15:59:36 +03:00
Nikolay Krasko
66a4e0f299 Mute error about org.iq80.snappy.Snappy 2015-06-23 15:59:34 +03:00
Nikolay Krasko
549987b27f Ignore actions with empty message 2015-06-23 15:59:33 +03:00
Nikolay Krasko
94db320f7a Update hack for restore validity of builtins files 2015-06-23 15:59:31 +03:00
Nikolay Krasko
53ab02e877 Generate private constructors for enums in coverter 2015-06-23 15:59:29 +03:00
Nikolay Krasko
b64aff9f9a Add actions with "Supress " prefix to irrelevant group 2015-06-23 15:59:27 +03:00
Nikolay Krasko
737ad5b9e0 Search in index under read action in tests 2015-06-23 15:59:25 +03:00
nik
3136e5eefd removed registration of deprecated extensions points without implementations 2015-06-23 15:59:24 +03:00
Natalia Ukhorskaya
c2a1dc4c90 Fix compilation errors 2015-06-23 15:59:22 +03:00
Natalia Ukhorskaya
aaa4e747db Fix tests: type for string isn't now rendered by default 2015-06-23 15:59:19 +03:00
Natalia Ukhorskaya
ba6b378378 Fix tests: register JavaClassSupers service in WebDemoTest 2015-06-23 15:59:17 +03:00
Nikolay Krasko
757b963731 Register JavaClassSupers service 2015-06-23 15:59:14 +03:00
Alexey Sedunov
73b2de95ab Create from Usage: Do not delete temporary file as this operation is not supported by IDEA anymore 2015-06-23 15:59:12 +03:00
Nikolay Krasko
8e51f1aadd Idea moved to junit-4.12 2015-06-23 15:59:10 +03:00
Nikolay Krasko
2ebdd32267 Make compatible with 142 idea branch 2015-06-23 15:59:08 +03:00
Nikolay Krasko
2536648e60 Update to Idea 15 eap (142.2491.1) 2015-06-23 15:59:06 +03:00
Pavel V. Talanov
16ffdc0713 ModuleResolverProvider: ResolveSessionForBodies are created lazily 2015-06-23 15:19:40 +03:00
Pavel V. Talanov
f454b7d15e AnalyzerFacade: resolvers for modules are created lazily 2015-06-23 15:19:31 +03:00
Pavel V. Talanov
96199ecc1f Refactor AnalyzerFacade: move module.initialize() outside of createResolverForModule() 2015-06-23 15:19:22 +03:00
Pavel V. Talanov
997a6f1381 Fix import resolution for some cases of malformed imports ("import some.")
Fix parsing import directives in case of non-identifier after "import"
Add diagnostics test for malformed imports
2015-06-23 15:19:14 +03:00
Pavel V. Talanov
37bcd455b5 Make ModuleDescriptor#getPackage() return not null lazy object with lazy scope
Refactor: no need to create package view in order to obtain its subpackages
LazyPackageViewDescriptorImpl to replace PackageViewDescriptorImpl
This allows to avoid computations when package views are requested but their contents not necessarily queried
For example: DescriptorResolver.resolvePackageHeader()
2015-06-23 15:19:06 +03:00
Pavel V. Talanov
1cf38e4799 Convert PackageViewDescriptor to Kotlin 2015-06-23 15:18:57 +03:00
Pavel V. Talanov
19cca8f930 Fix corner case in KotlinCopyPasteReferenceProcessor 2015-06-23 15:18:28 +03:00
Dmitry Jemerov
308b9ffc39 add missing UI for specifying alternative JRE path to Kotlin run configuration 2015-06-23 14:11:36 +02:00
Pavel V. Talanov
1ef125fa2c Change testa data according to semantics change 2015-06-23 14:35:46 +03:00
Pavel V. Talanov
6bdb35ff23 Fix project code
This would no longer compile with the new imports resolution
2015-06-23 14:15:27 +03:00
Pavel V. Talanov
c5e6dea8b0 Minor: Inline and remove JetModuleUtil 2015-06-23 14:15:17 +03:00
Pavel V. Talanov
ade898775c Minor: remove unused parameter 2015-06-23 14:14:35 +03:00
Pavel V. Talanov
257b8f31e7 Change import resolution algorithm
The new algorithm: move from right to left, trying to find package, (new code) when found go right resolving descriptors (uses old code)
This allows to avoid unnecessary computations (matters in IDE moslty) for resolving root packages
This changes semantics of imports resolution: when package clashes with any declaration package is preffered
2015-06-23 14:14:25 +03:00
Natalia Ukhorskaya
7b0458f1a9 Debugger: Navigate to first line when source file for mapping (inline) not found 2015-06-23 10:58:45 +03:00
Valentin Kipyatkov
3c16e455f7 Removed unused field 2015-06-22 17:28:44 +03:00
Karol Depka
033f2668d5 KT-7615 workaround for crash on Android ART caused by "private constructor" in DescriptorBasedProperty #KT-7615 Fixed
Tested on Android 5.1.0 API 22 in Genymotion
2015-06-22 15:57:04 +03:00
Sergey Mashkov
0e518e46bb JS and IDL2K: make dictionary builder functions public 2015-06-22 12:57:23 +03:00
Natalia Ukhorskaya
3caeddd8dc Minor: log error if we couldn't insert an expression during debug 2015-06-22 10:40:15 +03:00
Natalia Ukhorskaya
0ea65491aa Disable all jdi request during evaluation 2015-06-22 10:40:13 +03:00
Natalia Ukhorskaya
8bb33f0df5 Support labels evaluation in debugger 2015-06-22 10:40:12 +03:00
Natalia Ukhorskaya
0f108eee2f Extract function for debugger: add block code fragment as list of statement, not as block expression 2015-06-22 10:40:11 +03:00
Natalia Ukhorskaya
9a09a25df5 Refactoring: extract class for parameter in debugger 2015-06-22 10:40:09 +03:00
Ilya Gorbunov
346ea28337 lazyOf to create already initialized lazy value. 2015-06-19 23:08:17 +03:00
Ilya Gorbunov
b71fe4cd25 Lazy: Rename valueCreated property to isInitialized() function.
Notes about behavior of Lazy when initializer throws an exception.
2015-06-19 23:08:15 +03:00
Ilya Gorbunov
ecd131a7a1 Lazy made serializable. 2015-06-19 23:08:14 +03:00
Ilya Gorbunov
bfdb200cc7 Lazy: Use UNINITIALIZED_VALUE instead of null to indicate that value was not initialized. Remove escape and unescape methods. 2015-06-19 23:08:12 +03:00
Ilya Gorbunov
59ff9dc3cf Document lazy interface and methods. 2015-06-19 23:08:11 +03:00
Ilya Gorbunov
536e669023 Provide Lazy<T> in kotlin package — an interface that represents lazily computed value. Read-only properties can be delegated to lazy with the extension getter. Delegates.lazy and blockingLazy are deprecated. 2015-06-19 23:08:09 +03:00
Ilya Gorbunov
f2788d53c0 Refactor: rename PropertyMetadata parameter from 'desc' to 'property'.
Correct test data after parameter has been renamed.
2015-06-19 23:08:08 +03:00
Ilya Gorbunov
6b747cf6f8 Move delegate property interfaces to a separate file. 2015-06-19 23:00:03 +03:00
Ilya Gorbunov
fb6c7e20de Use identity equals in lazy unescape.
#KT-7474 Fixed
2015-06-19 23:00:01 +03:00
Alexey Sedunov
3266d8c29a Parser: Disable joining complex tokens while parsing type references
#KT-8141 Fixed
2015-06-19 21:45:13 +03:00
Alexey Sedunov
0e9bcee0bc Move: Specify file name in command description 2015-06-19 21:45:12 +03:00
Alexey Sedunov
6376420970 Move: UI Fixed 2015-06-19 21:45:11 +03:00
Alexey Sedunov
96a50f46c2 Move: Fix dialog mnemonics 2015-06-19 21:45:10 +03:00
Alexey Sedunov
dd3ba8675d Move: Fix handler selection when moving Java class with Kotlin file/class 2015-06-19 21:45:09 +03:00
Alexey Sedunov
cd550ed5ba Move: Suggest empty package when moving to source root 2015-06-19 21:45:08 +03:00
Alexey Sedunov
aef2443528 Move: Add "Update package directive" option to dialog
#KT-6084 Fixed
2015-06-19 21:45:07 +03:00
Alexey Sedunov
111a4a5cbc Move: Disable "File name" field when switching to "Move to file" mode 2015-06-19 21:45:06 +03:00
Alexey Sedunov
77f2c5d5b9 Move: Fix file rename on undo/redo 2015-06-19 21:45:05 +03:00
Ilya Gorbunov
a80f65cfd9 Do not create empty list when reversing empty collection or array — use singleton empty list instead.
#KT-8099 Fixed
2015-06-19 19:41:10 +03:00
Michael Nedzelsky
8a3182d1e7 Update source roots for idea libraries 2015-06-19 15:51:53 +03:00
Nikolay Krasko
d1e7e184b6 Do psi-only checks to avoid unnessasary resolve in creating recursion markers 2015-06-19 14:15:17 +03:00
Mikhail Glukhikh
065db07e1c More accurate check on an enum entry deprecated super constructor #EA-69735 Fixed 2015-06-19 13:50:49 +03:00
Yan Zhulanow
d0897193e8 kapt: Use actual classpath in the second Kotlin task as well 2015-06-19 02:29:13 +03:00
Yan Zhulanow
5f85a028ae kapt: Fix ConcurrentModificationException in Gradle 2015-06-19 02:29:13 +03:00
Yan Zhulanow
d9ac8c9d22 kapt: Pass annotation declarations options via Java APT options 2015-06-19 02:29:12 +03:00
Yan Zhulanow
205585c63e kapt: Support lazy evaluation of additional kapt arguments in test 2015-06-19 02:26:21 +03:00
Yan Zhulanow
8a10de3a26 Add Gradle test for additional kapt arguments 2015-06-19 02:26:20 +03:00
Yan Zhulanow
7f2bd5b9d4 Add basic kapt tests 2015-06-19 02:26:19 +03:00
Yan Zhulanow
fee1726dfb Write annotations with RetensionPolicy(SOURCE) to light classes 2015-06-19 02:25:41 +03:00
Yan Zhulanow
17e6b8f014 kapt: Lazy evaluation of additional arguments 2015-06-19 02:25:40 +03:00
Yan Zhulanow
f158b5b0c4 Support additional compiler arguments 2015-06-19 02:25:40 +03:00
Yan Zhulanow
3ea4306eb9 kapt: Generate stub source file just after Kotlin compile 2015-06-19 02:25:40 +03:00
Yan Zhulanow
37d52501c8 Add simple annotation processor for tests 2015-06-19 02:25:39 +03:00
Michael Nedzelsky
eda7f49b61 fix KT-7879 KotlinJS - Cannot browse jslib sources
#KT-7879 Fixed
2015-06-18 19:47:56 +03:00
Alexey Sedunov
17ca0d2c2c Minor: Extract Preview class 2015-06-18 19:28:08 +03:00
Alexey Sedunov
7ac02d751a Minor: Use MultiMap 2015-06-18 19:28:07 +03:00
Alexey Sedunov
378c1744cb Introduce Parameter: Suggest removing extension receiver which becomes unused after new parameter is added 2015-06-18 19:28:06 +03:00
Alexey Sedunov
5409b19abc Change Signature: Do not replace implicit receivers in calls with at least one explicit receiver
#KT-7988 Fixed
2015-06-18 19:28:05 +03:00
Alexey Sedunov
d58112a32a Extract Function: Use intersection type to compute candidate types for parameters
#KT-8103 Fixed
2015-06-18 19:28:04 +03:00
Alexey Sedunov
1a9003c325 Copy: Fix Kotlin file copying. Drop useless JetCopyClassHandler
#KT-7515 Fixed
2015-06-18 19:28:03 +03:00
Alexey Sedunov
683a8895df Introduce Variable: Do not insert unused variable references
#KT-7227 Fixed
2015-06-18 19:28:02 +03:00
Alexey Sedunov
1506531e59 Rename: Fix class rename by constructor reference 2015-06-18 19:28:01 +03:00
dnpetrov
36ae8790a1 KT-8011 Compiler crashes on attempt to create local class inside lambda
- use StackValue from upper-level context if local lookup fails

 #KT-8011 Fixed
2015-06-18 17:40:24 +03:00
Michael Nedzelsky
dba29fff0d fix KT-7932 plugin generates absolute path to kotlin-jslib.jar for JS module (in .iml files)
#KT-7932 Fixed
2015-06-18 16:54:35 +03:00
Michael Nedzelsky
3b43f68c1e minor: refactoring KotlinJavaScriptLibraryManager 2015-06-18 16:54:32 +03:00
Nikolay Krasko
818bfce1f1 Minor: add method for printing thread name 2015-06-18 16:45:23 +03:00
Nikolay Krasko
6d7cc8bc02 Minor: Don't print end message if profiler was muted 2015-06-18 16:45:22 +03:00
Nikolay Krasko
0f032100fc Update source roots for idea libraries 2015-06-18 16:45:21 +03:00
Ilya Gorbunov
4093147c69 Regenerate docs for intersect and subtract. (PR#703) 2015-06-18 15:13:48 +03:00
Alex Roussos
00c2b684fd Fix documentation for Sets intersect() and subtract()
Adds correct documentation for the Sets intersect() and subtract() methods, which had been copied from union().
2015-06-18 15:10:44 +03:00
dnpetrov
046189087a KT-5963 Call to super shouldn't require type specification if there is no conflict
Implemented unqualified 'super' type resolution (in BasicExpressionTypingVisitor).

No overload resolution of any kind is involved.
Corresponding supertype is determined by the expected member name only:
- 'super.foo(...)' - function or property (of possibly callable type) 'foo'
- 'super.x' - property 'x'
Supertype should provide a non-abstract implementation of such member.
As a fall-back solution for diagnostics purposes, consider supertypes with abstract implementation of such member.

Diagnostics:
- AMBIGUOUS_SUPER on 'super', if multiple possible supertypes are available;
- ABSTRACT_SUPER_CALL on selector expression, if the only available implementation is abstract.

#KT-5963 Fixed
2015-06-18 14:16:34 +03:00
Ilya Gorbunov
46baffc233 Temporary Add jvmOverloads to String.indexOf 2015-06-17 23:15:33 +03:00
Sergey Mashkov
bff88b9fe1 Fix gradle test 2015-06-17 20:41:00 +03:00
Dmitry Jemerov
e852b2d748 fix tests, sorry 2015-06-17 18:18:24 +02:00
Alexander Udalov
1a3209e1dc Drop traits with required classes
#KT-4771 Rejected
2015-06-17 16:23:58 +03:00
Alexander Udalov
dc909ba1d4 Minor, fix ExtensionReceiver#toString 2015-06-17 16:23:57 +03:00
Alexander Udalov
8207e08c61 Convert TraitImplBodyCodegen to Kotlin 2015-06-17 16:23:57 +03:00
Alexander Udalov
98ce0d529c Fix incorrect 'original' in property accessors
#KT-3930 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov
7c846388bd Remove some unreachable/duplicated code in StackValue 2015-06-17 16:23:56 +03:00
Alexander Udalov
4dcc373a5a Fix concrete method inheritance in interfaces
For each non-abstract non-declared (i.e. inherited from supertypes) method in
an interface we generate its static form to the TImpl, which calls the TImpl
method from the corresponding supertype.

The accidental override tests changed because we're now trying to generate the
delegate for the super method, not knowing that it will clash with the declared
method

 #KT-2888 Fixed
 #KT-5393 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov
f81c364999 Add test cases for obsolete issues
#KT-3407 Obsolete
 #KT-4753 Obsolete
2015-06-17 16:23:55 +03:00
Dmitry Jemerov
5eb4a47a1a command line flag to repeat compilation multiple times 2015-06-17 14:55:12 +02:00
Dmitry Jemerov
ab33e4935e restore perf output in command line; always remove it from output in tests 2015-06-17 14:53:09 +02:00
Sergey Mashkov
342f35fb65 IDL2K better dictionary support: generate interfaces with builder function
suppress inline warning, replace Long with Int
2015-06-17 15:26:06 +03:00
Sergey Mashkov
8238883ac4 IDL2K better dictionary support: generate interfaces with builder function 2015-06-17 15:26:06 +03:00
Sergey Mashkov
c4d53e1e16 IDL2K introduce required parameters list to avoid possible ambiguous calls 2015-06-17 15:26:06 +03:00
Sergey Mashkov
20a67c41ee IDL2K introduce commented declarations list 2015-06-17 15:26:05 +03:00
Sergey Mashkov
2cc708c5a9 IDL2K restrict readonly attributes to vals 2015-06-17 15:26:05 +03:00
Sergey Mashkov
c0c0f6152a IDL2K avoid unnecessary super() calls in secondary constructors 2015-06-17 15:26:05 +03:00
Sergey Mashkov
28f228ccc0 IDL2K better results stability 2015-06-17 15:26:04 +03:00
Sergey Mashkov
1a5e6634e2 JS generate new stubs with latest IDL2K 2015-06-17 15:26:04 +03:00
Sergey Mashkov
68183a74fa IDL2K rework types
Fixes #KT-8015
2015-06-17 15:26:04 +03:00
Sergey Mashkov
387291cbf7 IDL2K support static members 2015-06-17 15:26:03 +03:00
Sergey Mashkov
5000fe8133 IDL2K Multiple constructors (via secondary constructors when needed) 2015-06-17 15:26:03 +03:00
dnpetrov
a2b2eba1a1 Extended version of AbstractWriteSignatureTest:
- support multiple expectations in file
- support field signature expectations
- report failures in a more usable format
2015-06-17 13:45:08 +03:00
Evgeny Gerashchenko
b068a1dd5f Added test for implicit receiver in class. 2015-06-17 13:14:07 +03:00
Evgeny Gerashchenko
154b0d8351 KT-7899 "Do not check if annotated by" setting for "Unused symbol" doesn't affect properties
#KT-7899 fixed
2015-06-17 13:14:06 +03:00
Evgeny Gerashchenko
cc70ea2586 KT-7883 Receiver parameter falsely marked as unused
#KT-7883 fixed
2015-06-17 13:14:06 +03:00
Evgeny Gerashchenko
7511b5bafe If KotlinBuilder throws exception, user can see its stacktrace and report by one-click. 2015-06-17 13:14:06 +03:00
Evgeny Gerashchenko
88f2a4be52 KT-7651 IllegalArgumentException on attempt to rename class when it has anonymous subclasses
#KT-7651 fixed
 #EA-69049 fixed
2015-06-17 13:14:06 +03:00
Evgeny Gerashchenko
985b8c0ba6 KT-8042 ISE at KotlinHighlightExitPointsHandlerFactory.createHighlightUsagesHandler() on typing a function name starting with throw
#KT-8042 fixed
 #EA-68157 fixed
2015-06-17 13:14:05 +03:00
Evgeny Gerashchenko
0dd151142d KT-3639 Can't find sources of AbstractIterator when navigating from stack strace
#KT-3639 fixed
2015-06-17 13:14:05 +03:00
Evgeny Gerashchenko
811fed547b Convert to Kotlin, cleanup. 2015-06-17 13:14:05 +03:00
Evgeny Gerashchenko
cea0ffa3b7 Convert to Kotlin, auto-convert. 2015-06-17 13:14:05 +03:00
Evgeny Gerashchenko
254c58f9e4 Convert to Kotlin, rename. 2015-06-17 13:14:05 +03:00
Mikhail Glukhikh
707307b19c Fix for a cyclic generic upper bound for a class type parameter. A pair of tests. 2015-06-17 11:56:28 +03:00
Nikolay Krasko
df2c7eb9b2 Update to Idea 141.1531.2 2015-06-17 11:52:02 +03:00
Nikolay Krasko
4f763c1a43 Fixes after review 2015-06-17 11:41:17 +03:00
Nikolay Krasko
8118297f89 Remove descriptions to highlight only new targets in and view 2015-06-17 11:41:16 +03:00
Nikolay Krasko
0178cbdfb0 Deprecate all old targets and introduce new with maven artifacts 2015-06-17 11:41:15 +03:00
Nikolay Krasko
9143113a50 Download prebuilt idea maven artifacts 2015-06-17 11:41:15 +03:00
Nikolay Krasko
265708bacf Separate downloading and configuring ideaSDK 2015-06-17 11:41:14 +03:00
Nikolay Krasko
fb4ef41b09 Introduce parameter for ideaSDK folder 2015-06-17 11:41:12 +03:00
Zalim Bashorov
289efb8984 JS backend: don't fail when invoke call got extension receiver implicitly
#EA-67456 Fixed
2015-06-17 11:17:08 +03:00
Zalim Bashorov
fe7ee3fb66 JS backend tests: replace run with myRun in closure tests 2015-06-17 11:17:08 +03:00
Zalim Bashorov
d63dbf9a3e Minor in JS backend: don't fail when name is null
#EA-66032 Obsolete
2015-06-17 11:17:08 +03:00
Zalim Bashorov
65adc3ac02 JS backend: don't use octal numbers when render non-latin symbols, because of it prohibited in strict mode
#KT-7921 Fixed
2015-06-17 11:17:08 +03:00
Nikolay Krasko
69ae976be3 Revert idea to 141.1531.1 2015-06-17 03:26:05 +03:00
Nikolay Krasko
d9bcb8b18c Update to idea 141.1531.2 2015-06-16 23:52:10 +03:00
Michael Nedzelsky
30e1123af6 remove KotlinJavaScriptLibraryPresentationProvider
#KT-8056 Fixed
#KT-8058 Fixed
2015-06-16 21:19:40 +03:00
Alexey Sedunov
62f9672461 Rename: Fix field identifier replacement #KT-8018 Fixed 2015-06-16 21:15:40 +03:00
Alexey Sedunov
98dce65337 Introduce Variable: Fix NPE for the case of statement-like expression
#KT-8054 Fixed
2015-06-16 21:15:39 +03:00
Alexey Sedunov
dda271d38d Delete/Move: Delete entire file when deleting top-level class or object and no other top-level declarations are present. Ask the user confirmation if deletion if caused by the Move refactoring
#KT-8033 Fixed
2015-06-16 21:15:38 +03:00
Alexey Sedunov
e1e818858e Change Signature: Fix primary constructor processing 2015-06-16 21:15:37 +03:00
Alexey Sedunov
64bbbac9dc Change Signature: Replace entire JetThisExpression when converting receiver to parameter #KT-7970 Fixed 2015-06-16 21:15:36 +03:00
Alexey Sedunov
e481ed756d Change Signature: Fix transfer of argument to receiver position
#KT-7987 Fixed
2015-06-16 21:15:35 +03:00
Alexey Sedunov
9bfa437c96 Introduce Parameter: Do not highlight removable parameters if default value is enabled 2015-06-16 21:15:34 +03:00
Alexey Sedunov
90032fe7d7 Introduce Lambda Parameter: Merge actions to allow for atomic undo/redo 2015-06-16 21:15:33 +03:00
Alexey Sedunov
09565c78c5 Introduce parameter: Do not substitute references which don't resolve to parameters or receivers of the target function #KT-7965 Fixed 2015-06-16 21:15:32 +03:00
Alexey Sedunov
efb36f4a49 Find Usages: Use isEquivalenTo for PsiCompiledElement only when matching reference targets #KT-7983 Fixed 2015-06-16 21:15:31 +03:00
Alexey Sedunov
d1d4736fdd Create from Usage: Do not navigate to original file if template editing is cancelled
#KT-8037 Fixed
2015-06-16 21:15:30 +03:00
Alexey Sedunov
f08c7d0fd8 Call Resolver: Fix nullability of parenthesized safe calls used as value arguments
#KT-7903 Fixed
2015-06-16 21:15:29 +03:00
Alexey Sedunov
d2c33c13a6 Change Signature/Rename: Fix renaming of extension function parameter 2015-06-16 21:15:27 +03:00
Dmitry Jemerov
a0aba04338 rebase ate my changes 2015-06-16 18:11:19 +02:00
Dmitry Jemerov
ed7cc67f19 thread-safe usage of performance counters list
#KT-8046 Fixed
2015-06-16 16:45:51 +02:00
dnpetrov
c369949d90 KT-6136 VerifyError on data class inheriting from trait
- coerce property values to proper data class component types
- add tests
 #KT-6136 Fixed
2015-06-16 09:58:03 +03:00
Zalim Bashorov
a906b0336f Add badges to ReadMe.md 2015-06-15 20:32:35 +03:00
Sergey Mashkov
4949624a2a Revert IDL2K Multiple constructors (via secondary constructors when needed) 2015-06-15 20:17:23 +03:00
Sergey Mashkov
6d9413f02e IDL2K Multiple constructors (via secondary constructors when needed) 2015-06-15 20:15:36 +03:00
Valentin Kipyatkov
7ee661d334 Minor 2015-06-15 18:32:45 +03:00
Valentin Kipyatkov
bf014fc1c5 KT-5419 J2K: convert string concatenation to string template + implemented corresponding inspection
#KT-5419 Fixed
2015-06-15 18:32:45 +03:00
Valentin Kipyatkov
ab97d76fed Minor code improvements in ConvertToStringTemplateIntention 2015-06-15 18:32:44 +03:00
Valentin Kipyatkov
c8f9b466b6 More correct comparison with CANT_INFER_FUNCTION_PARAM_TYPE 2015-06-15 18:32:44 +03:00
Valentin Kipyatkov
efdfa4b247 Minor changes after review 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov
1dbd342938 Minor 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov
95baf9b884 Minor 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov
2248abd93a Inlined method 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
b20179af9f WritableScope: got rid of mutability of implicit receiver 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
32bfd53101 Renames 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
9139a8f060 WritableScope: removed addLabeledDeclarations 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
73a534963c Fixed detection of conflicts in local scope (but I'm not sure it's correct anyway) 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
45872b8126 Fix in change signature engine required after RESOLUTION_SCOPE became correct 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov
89c2aca3a8 Memory optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
b301b22f47 KT-4822 Wrong scope is used for local variable name completion
#KT-4822 Fixed
2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
14ddc9d972 Memory optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
f38267e21d One more simplification 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
99001f0fe2 More correct and simple 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
2ab86192c3 One more simplification 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
060aeb60e1 Minor optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov
db0f212b3e More code simplifications 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
472841de16 Inlined method 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
f88d603f5c Removed unused code in WritableScopeImpl 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
b3d74c380a Shadowed declarations filtering: more correct selection of imported declarations 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
985d69880f Better tests 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
7b553ef3a7 Shadowed globals filtered out too 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
abc9c1ab02 Non-imported extensions from different packages do not shadow each other 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov
8d11ab9866 Non-imported extensions are excluded when shadowed by members or something 2015-06-15 18:27:21 +03:00
Valentin Kipyatkov
f089d1ef55 Code refactoring 2015-06-15 18:27:21 +03:00
Valentin Kipyatkov
3d0c3e225e Added test for second press completion for inaccessible 2015-06-15 18:27:21 +03:00
Valentin Kipyatkov
483da9607c KT-4893 Code completion should not show multiple functions with the same signature
#KT-4893 Fixed
2015-06-15 18:27:21 +03:00
Sergey Mashkov
4c0e7e32e7 KT-8080 RemoveExplicitTypeArgumentsIntention crashes with AssertionError 2015-06-15 17:38:24 +03:00
Valentin Kipyatkov
4deefce603 KT-7901 Auto import is not suggested
KT-7229 Completion for extension functions with complex capture

 #KT-7901 Fixed
 #KT-7229 Fixed
2015-06-15 17:10:05 +03:00
Michael Nedzelsky
0877c09b80 fix EA-69474 - IAE: KotlinAbiVersionIndex$INDEXER$.map 2015-06-15 16:20:29 +03:00
Alexander Udalov
3a6ba67602 Delete unused diagnostic about j.l.Class in annotations 2015-06-15 15:55:23 +03:00
Alexander Udalov
9637c049fe CLI: update KOTLIN_HOME lookup process in Bash script
The original code was taken from the 'scalac' script, where it has evolved
since and now is a lot easier to understand
2015-06-15 15:43:31 +03:00
Alexander Udalov
2f1316ec9c CLI: don't pass -D and -J options to Kotlin
Kotlin compiler's CLI argument parser currently fails on these options, so
there was no convenient way to use them
2015-06-15 15:42:43 +03:00
Alexander Udalov
cdd53de9a7 CLI: get rid of duplication in JVM/JS scripts 2015-06-15 15:42:42 +03:00
Alexander Udalov
5ec4576844 CLI: add color to compiler output via jansi
Disabled on Windows temporarily, because for some reason colors there work only
in REPL
2015-06-15 15:42:42 +03:00
Alexander Udalov
00566bcfb0 Move MessageRenderer to module 'cli'
It will use jline soon, which is not available in 'cli-common'
2015-06-15 15:42:42 +03:00
Alexander Udalov
54dfd626ab CLI: improve diagnostic message format
- render the whole line where the error/warning points to, if any, and another
  line with '^', like other compilers do
- lowercase diagnostic severity
- decapitalize the message if it doesn't start with a proper name
2015-06-15 15:42:41 +03:00
Alexander Udalov
46515afb22 CLI: don't render non-positive line and column in error messages 2015-06-15 15:42:41 +03:00
Alexander Udalov
6083a18ce1 Convert CompilerMessageLocation to Kotlin 2015-06-15 15:42:40 +03:00
Alexander Udalov
bca5eb083e Don't report warnings when there are errors
All sane compilers do this
2015-06-15 15:42:40 +03:00
Alexander Udalov
4cfbf5886b Get rid of unneeded MessageCollector implementations 2015-06-15 15:42:40 +03:00
Mikhail Glukhikh
e623aadf00 Exception fix: more accurate parsing of class base type #EA-65509 Fixed 2015-06-15 14:43:37 +03:00
Mikhail Glukhikh
d77c6eb30e Exception fix: diagnose an error for a generic type which is a subtype of itself, a set of tests #EA-64453 Fixed 2015-06-15 14:43:24 +03:00
Mikhail Glukhikh
46d5290f70 Exception fix (equal returns true for the same types) #EA-65206 Fixed 2015-06-15 14:43:17 +03:00
Denis Zharkov
bb49bfcea9 Colors & Fonts page: Get rid of obsolete syntax and add labels' highlighting
#KT-8059 Fixed
2015-06-15 14:07:42 +03:00
Pavel V. Talanov
846c0e2522 AnalyzerFacade: compute module dependencies lazily 2015-06-13 20:36:50 +03:00
Pavel V. Talanov
705f35450f Refactor setting dependencies for ModuleDescriptors 2015-06-13 20:36:47 +03:00
Pavel V. Talanov
1d696c2e54 Do not force evaluation of parent package in ResolveSession#createPackage 2015-06-13 20:36:44 +03:00
Pavel V. Talanov
b3b7da22d4 Module(Production/Test)SourceInfo#dependencies() is cached 2015-06-13 20:36:43 +03:00
Denis Zharkov
e3c3af6aab Change MISSING_CONSTRUCTOR_KEYWORD severity to error
And adjust testData
2015-06-12 11:23:13 +03:00
Denis Zharkov
eb7114bd53 Add 'constructor' keyword in whole project where needed 2015-06-12 09:55:15 +03:00
Denis Zharkov
414d6b92f6 Adjust testData: don't use java.lang.Class in annotations 2015-06-12 09:55:13 +03:00
Denis Zharkov
da254ab1a0 Drop support of java.lang.Class as annotation parameter
Also drop some related diagnostics and testData
2015-06-12 09:55:12 +03:00
Denis Zharkov
d71fe0d11a Drop JavaClassValue and it's usages
Also drop related testData
2015-06-12 09:55:10 +03:00
Denis Zharkov
980499e331 Drop javaClass in annotations related things from inspections/quickfixes 2015-06-12 09:55:09 +03:00
Denis Zharkov
9245cfaa7f Load Class-object from java annotated entity as KClass 2015-06-12 09:55:08 +03:00
Denis Zharkov
2e284718ce Revert "Create additional constructor for java annotation with Class-parameter"
This reverts commit 8f0e290dec.
2015-06-12 09:55:06 +03:00
Denis Zharkov
9080b57635 Revert "Load annotation parameter's type for ctr as contravariant"
This reverts commit 294eb1dceb.
2015-06-12 09:55:03 +03:00
Denis Zharkov
2df6fcb785 Drop some tests using java.lang.Class in annotation
We are going to drop such cases anyway, but they're annoying when reverting commits
2015-06-12 09:55:02 +03:00
Denis Zharkov
9d87638a11 Clarify grammar rules for annotations 2015-06-12 09:55:01 +03:00
Denis Zharkov
cf4b1ab7cd Drop obsolete annotations syntax 2015-06-12 09:55:00 +03:00
Denis Zharkov
26864a4407 Get rid of annotation syntax deprecation related things 2015-06-12 09:23:32 +03:00
Denis Zharkov
200dee2761 Replace deprecated annotations in whole project 2015-06-12 09:23:32 +03:00
Denis Zharkov
c9f79c2d05 Adjust testData: get rid of obsolete annotations 2015-06-12 09:23:31 +03:00
Denis Zharkov
053dcf3abf Effectively turn off completion tests with file keyword
Completion does not work with new syntax: see KT-8036
2015-06-12 09:23:31 +03:00
Denis Zharkov
cdba1c2dbe Parsing: allow accessors with '@' annotation on the same line 2015-06-12 09:23:31 +03:00
Michael Nedzelsky
ed262a2a2a fix KT-8032 Mixed platform library in JVM module causes JS warning about unsupported format
#KT-8032 Fixed
2015-06-12 02:09:53 +03:00
Valentin Kipyatkov
366a2be8a7 KT-7989 ReplaceWith replacement adds redundant type arguments for platform types
Highlighting of redundant type arguments made more strict about platform types

 #KT-7989 Fixed
2015-06-11 23:30:22 +03:00
Valentin Kipyatkov
2203fb3231 Renamed intention class 2015-06-11 23:30:22 +03:00
Michael Nedzelsky
744e760444 tests for KT-7618 Compiling Maven project targeting JS fails when no source file present 2015-06-11 22:21:25 +03:00
Michael Nedzelsky
dd60c7b79f K2JSCompiler: use INTERNAL_ERROR only for internal problems 2015-06-11 22:21:23 +03:00
Michael Nedzelsky
57356e29b8 kotlinc-js, kotlinc-jvm: report error on empty sources 2015-06-11 22:21:20 +03:00
Michael Nedzelsky
3ac1bdcdc8 kotlin-maven-plugin, ant:withKotlin: skip compilation for empty sources
#KT-7618 Fixed
2015-06-11 22:21:16 +03:00
Evgeny Gerashchenko
0ddfedba49 Allowed accessing private members from same package, but different package fragment instance. 2015-06-11 18:58:32 +03:00
Evgeny Gerashchenko
4461687ae3 Incremented cache format version: package part hashes changed. 2015-06-11 16:48:27 +03:00
Evgeny Gerashchenko
e6bb501c1a Enabled rebuilding when enabling/disabling incremental compilation in IDEA. 2015-06-11 16:48:27 +03:00
Yan Zhulanow
08fa9b639e Gradle: update annotation syntax 2015-06-11 15:19:51 +03:00
Yan Zhulanow
e3c6f32b50 Gradle: Subplugin loading process is unrelated to kapt 2015-06-11 15:19:51 +03:00
Yan Zhulanow
853cfdb70b kapt: Move class generation methods to core plugin 2015-06-11 15:19:50 +03:00
Yan Zhulanow
3cfdf21aa4 kapt: Create kotlinAfterJava task after project evaluation 2015-06-11 14:53:50 +03:00
Yan Zhulanow
7561b43336 kapt: Warn on using android-apt with kapt 2015-06-11 14:53:50 +03:00
Yan Zhulanow
39d7674886 kapt: Fix compatibility with android-apt 2015-06-11 14:53:49 +03:00
Yan Zhulanow
b9bfc659d5 Gradle: Remove logger argument in SubpluginEnvironment 2015-06-11 14:53:48 +03:00
Yan Zhulanow
c2073cb575 kapt: Add logging information 2015-06-11 14:53:48 +03:00
Yan Zhulanow
6ed5bbc2f8 kapt: Initial .class stub support in Gradle 2015-06-11 14:53:47 +03:00
Yan Zhulanow
78af866f5a kapt: Do not fail if annotations.txt file does not exist 2015-06-11 14:53:46 +03:00
Yan Zhulanow
a900a424d0 Gradle: Do not inline getOrNull() 2015-06-11 14:53:45 +03:00
Yan Zhulanow
f1b6bd5914 kapt: Stop compiler gracefully 2015-06-11 14:53:45 +03:00
Yan Zhulanow
fbb8d28120 kapt: Light class stub producer in compiler 2015-06-11 14:53:37 +03:00
Yan Zhulanow
571c9073fa Add AnalyzeCompletedHandlerExtension 2015-06-11 14:50:32 +03:00
Alexey Sedunov
e1e1dd9413 Diagnostics: Fix range of DECLARATION_SIGNATURE diagnostics reported on secondary constructors 2015-06-11 13:53:00 +03:00
Alexey Sedunov
95438c7b5d Light Classes: Fix ClassCastException for KotlinNoOriginLightField 2015-06-11 13:52:59 +03:00
Alexey Sedunov
bbc644f4c8 Refactoring: Unify getClassOrObject() and getContainingClassOrObject() functions in constructor PSI 2015-06-11 13:52:58 +03:00
Alexey Sedunov
1ab90c7814 J2K: Convert constructor PSI classes to Kotlin 2015-06-11 13:52:57 +03:00
Alexey Sedunov
7ed02dcd58 J2K: Rename constructor PSI classes to *.kt 2015-06-11 13:52:56 +03:00
Alexey Sedunov
bfabb40955 Find Usages: Skip KotlinNoOriginLightMethod to avoid NPE (to be be fixed later) 2015-06-11 13:52:55 +03:00
Alexey Sedunov
2a73247566 Find Usages: Rename test class and move test data 2015-06-11 13:52:54 +03:00
Alexey Sedunov
81440815e1 Light Classes: Retain original declarations for nested decompiled classes 2015-06-11 13:52:53 +03:00
Alexey Sedunov
ca8e2d4956 Navigation: Implement proper getOriginalElement() for Kotlin declarations.
Run find usages tests with library for both original and navigation elements. Drop duplicating tests. Simplify test class.
TODO: Some usages are not found yet since light methods built from library files do not retain original declarations
2015-06-11 13:52:52 +03:00
Alexey Sedunov
ba0000dde1 Navigation: Fix navigation to library sources for Kotlin constructors 2015-06-11 13:52:50 +03:00
Alexey Sedunov
e2d758463f Find Usages: Support primary constructors
#KT-7881 Fixed
2015-06-11 13:52:49 +03:00
Alexey Sedunov
1ea2c24562 Light Classes: Primary constructor fixes 2015-06-11 13:52:48 +03:00
Alexey Sedunov
608ce59f15 Resolution: Resolve primary constructor references to primary constructor
itself if it's explicitly present in PSI
2015-06-11 13:52:47 +03:00
Alexey Sedunov
b049455aa4 Presentation: Support constructors in JetFunctionPresenter 2015-06-11 13:52:46 +03:00
Alexey Sedunov
034af9e7f2 PSI: Extract JetConstructor class 2015-06-11 13:52:45 +03:00
Alexey Sedunov
64ae0c0036 Find Usages: Add file grouping to test data 2015-06-11 13:52:43 +03:00
Natalia Ukhorskaya
d4bf5faeec Fix validation of field breakpoints for package classes with several files 2015-06-11 12:15:09 +03:00
Natalia Ukhorskaya
da263ce090 Show all kotlin properties in 'Add field watchpoint' dialog 2015-06-11 12:15:07 +03:00
Natalia Ukhorskaya
cc5045a333 Fix warnings 2015-06-11 12:15:05 +03:00
Natalia Ukhorskaya
e99bd89139 Copy AddFieldBreakpointDialog from IDEA 2015-06-11 12:15:01 +03:00
Natalia Ukhorskaya
19fe6c58fa FieldWatchpoints: reload breakpoint type if property changed 2015-06-11 12:14:59 +03:00
Natalia Ukhorskaya
0a1bfcec04 Remove delegate to JavaFiledBreakpoint 2015-06-11 12:14:57 +03:00
Natalia Ukhorskaya
b1f9341ab4 Rewrite filters panel 2015-06-11 12:14:55 +03:00
Natalia Ukhorskaya
14f90f15e5 Field WatchPoints: add ability to stop at initializer 2015-06-11 12:14:53 +03:00
Natalia Ukhorskaya
d7375e0dc4 Create custom panel for field watchpoints 2015-06-11 12:10:19 +03:00
Natalia Ukhorskaya
d198a9fa7f Minor: move class to separate file 2015-06-11 12:10:19 +03:00
Natalia Ukhorskaya
9f041b9555 Field watchpoints: render message in status bar properly 2015-06-11 12:10:18 +03:00
Natalia Ukhorskaya
32d0057a7f Support filed breakpoints on properties without backing fields 2015-06-11 12:10:17 +03:00
Natalia Ukhorskaya
1c135e7ac7 Minor: rename test 2015-06-11 12:10:16 +03:00
Natalia Ukhorskaya
1ed9ea44a9 Line numbers for traits 2015-06-11 12:10:16 +03:00
Natalia Ukhorskaya
04db433ab5 Minor: Evaluate expression tests, support resume instruction 2015-06-11 12:10:15 +03:00
Zalim Bashorov
07bb0ce481 Minor: remove files temporary copied from IDEA 2015-06-10 21:39:21 +03:00
Mikhail Glukhikh
f03a35d7ce Resolve refactoring: resolvePropertyDeclarationBodies 2015-06-10 18:38:32 +03:00
Mikhail Glukhikh
40513bda56 Annotation resolve refactoring: AnnotationResolver.resolveAnnotationArguments --> ForceResolveUtil.forceResolveAllContents 2015-06-10 18:38:30 +03:00
Mikhail Glukhikh
f9fe8cd341 Fixed annotation resolve for loop parameter or catched exceptions type 2015-06-10 18:38:27 +03:00
Mikhail Glukhikh
731e5d85a4 Annotation arguments resolve refactoring via ForceResolveUtil. Deptecated...Intention fixed accordingly 2015-06-10 18:38:25 +03:00
Alexander Udalov
64b60718e3 Finish off old deprecated function/extension function classes
This reverts commit d14e5b8a72.
2015-06-10 14:41:57 +03:00
Alexander Udalov
5394abc83e Don't use reflection in JetType.getCapability 2015-06-10 14:41:56 +03:00
Alexander Udalov
d4c18b3d55 Drop PsiBasedMethodSignatureChecker 2015-06-10 14:41:56 +03:00
Michael Nedzelsky
12d7187394 Minor: extract common logic from KotlinClassFileIndex, KotlinJavaScriptMetaFileIndex 2015-06-10 12:48:11 +03:00
Valentin Kipyatkov
76e501c7ea Experimental framework for inline constants 2015-06-10 11:35:00 +03:00
Valentin Kipyatkov
657abffea2 Minor code improvement 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
ef550e1f21 Reduced number of constant renderers in DescriptorRenderer 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
4263c47f4d DescriptorRenderer: moved enums out 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
fcf613cf03 Replacing usages of DescriptorRenderer.renderName/renderFqName 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
acdf6b2821 Minor 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
c661e2fbe2 DescriptorRenderer uses FqName.render(), not the opposite 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov
2d5611d916 DescriptorRenderer uses Name.render(), not the opposite 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov
0766e685b1 Minor code improvements 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov
55b898167b DescriptorRendererImpl made internal + minor improvements 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov
2601e0ccd4 Fixed non-equivalent conversion from Java 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov
a1ff2f20ed Got rid of DescriptorRendererBuilder providing new scheme for creating DescriptorRenderer's 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov
ce2ce44d7b Converted DescriptorRenderer, DescriptorRendererImpl and DescriptorRedererBuilder to Kotlin 2015-06-10 11:34:58 +03:00
Michael Nedzelsky
855715cc5c extract common logic to KotlinAbiVersionIndexBase 2015-06-10 05:38:18 +03:00
Michael Nedzelsky
dac10944e0 JS: add notification for incompatible abi version for Kotlin/JavaScript libraries 2015-06-10 05:38:15 +03:00
Michael Nedzelsky
1dd101f362 add KotlinJavaScriptAbiVersionIndex 2015-06-10 05:38:12 +03:00
Michael Nedzelsky
2e8c9fe362 KotlinAbiVersionIndex: refactoring after converting 2015-06-10 05:38:08 +03:00
Michael Nedzelsky
a396222652 convert to kotlin: KotlinAbiVersionIndex.kt 2015-06-10 05:38:05 +03:00
Michael Nedzelsky
cec792c3d3 rename KotlinAbiVersionIndex.java -> KotlinAbiVersionIndex.kt 2015-06-10 05:38:02 +03:00
Michael Nedzelsky
999c83240c JS: error message (not exception) for incompatible abi version during compilation 2015-06-10 05:37:57 +03:00
Dmitry Jemerov
34577a7e12 add test for ReferencesSearch; use standard isReferenceTo() API (which is the same thing for Kotlin but more efficient for non-Kotlin references) 2015-06-09 20:45:11 +02:00
Dmitry Jemerov
7d02b522db KotlinReferencesSearcher: remove enclosing read action, use queryParameters.getOptimizer().searchWord
#KT-7917 Fixed
2015-06-09 20:45:10 +02:00
Dmitry Jemerov
527751e967 KotlinReferencesSearcher: cleanup after J2K 2015-06-09 20:45:10 +02:00
Dmitry Jemerov
b2a6531255 KotlinReferencesSearcher: J2K 2015-06-09 20:45:09 +02:00
Dmitry Jemerov
7ba13e5425 KotlinReferencesSearcher: rename to .kt 2015-06-09 20:45:09 +02:00
Evgeny Gerashchenko
4c6fcef221 Disable access to incremental caches when incremental compilation mode is disabled. 2015-06-09 20:03:21 +03:00
Evgeny Gerashchenko
c48378260e Path hash code is case-agnostic. This is to avoid changing it if e.g. path to project is reconfigured from C:\Work to c:\work 2015-06-09 20:03:21 +03:00
Evgeny Gerashchenko
959364aa77 Fixed sticking of incremental cache data when case of file path is changed. 2015-06-09 20:03:20 +03:00
Alexander Udalov
4815a9e5a8 Fix kotlin-reflect Maven artifact, attach sources jar 2015-06-09 15:39:04 +03:00
Alexander Udalov
4c7bcc8e1a Minor, specify version for maven-jar-plugin 2015-06-09 15:01:18 +03:00
Mikhail Glukhikh
a792b29a78 Exception fix: more accurate type annotation parsing #EA-69124 Fixed 2015-06-09 14:36:12 +03:00
Mikhail Glukhikh
804bf3ad22 Refactoring of AnnotationResolver.resolveAnnotation(s)Arguments 2015-06-09 14:36:08 +03:00
Pavel V. Talanov
a525c2f654 Fix folding after changes to parser 2015-06-08 20:51:10 +03:00
Pavel V. Talanov
07d35d305e Create import list psi element even if no directives are present
Fix a problem where deleting last import directive via "optimize imports" could lead to incorrect psi structure resulting in CCE, see EA-64291
New imports are inserted at the head (after package directive if present) of the file (before any comments) if no imports were present
Add test for inserting import to file where a first statement is a comment
Drop code dealing with non-existing import list in ImportInsertHelperImpl
AbstractQuickFixTest: check for unexpected actions before changes to the file are made as it relies on the first line having specific format
2015-06-08 20:51:04 +03:00
Pavel V. Talanov
4c4f730c53 Minor: Remove dead code in ScopeProvider 2015-06-08 20:25:55 +03:00
Pavel V. Talanov
d3315f5ebb Refactor: Do not pass rootScope to QualifiedExpressionResolver#processImportReference 2015-06-08 20:25:54 +03:00
Pavel V. Talanov
39e78cad2a Always pass moduleDescriptor to QualifiedExpressionResolver#processImportReference
Passing package view descriptor has the same effect
2015-06-08 20:25:54 +03:00
Pavel V. Talanov
7585cbfe22 Remove check in visibilities that allowed access to privates of outer packages
It doesn't work for a while now in imports and is planned to be dropped with upcoming changes to private
2015-06-08 20:25:52 +03:00
Pavel V. Talanov
be66ee7015 Refactor QualifiedExpressionResolver: pass descriptor to check for visibility instead of scope 2015-06-08 20:25:51 +03:00
Pavel V. Talanov
5e0cc18be2 Minor: prettify code in ImportDirectiveProcessor 2015-06-08 20:25:50 +03:00
Pavel V. Talanov
806098f8a0 Refactor: Extract ImportDirectiveProcessor from QualifiedExpressionResolver
J2K code
2015-06-08 20:25:50 +03:00
Alexey Sedunov
8b9ddea729 Introducer Parameter: Fix PsiInvalidElementAccessException 2015-06-08 20:18:16 +03:00
Alexey Sedunov
1d59c7e0e4 Change Signature: Substitute new function name into generated this-expressions
#KT-7920 Fixed
2015-06-08 20:18:15 +03:00
Dmitry Jemerov
aa8adbeddc remove unnecessary call to super.get() in CliBindingTrace 2015-06-08 18:57:36 +02:00
Pavel V. Talanov
54b1859aa7 KotlinQuickDocumentationProvider: fix quick doc for elements from type hierarchy
Fix quick doc for light classes

 #KT-7964 Fixed
2015-06-08 18:46:44 +03:00
Dmitry Jemerov
220403b6f6 avoid unnecessary creation of empty containers 2015-06-08 15:10:40 +02:00
Dmitry Jemerov
109c09cf7c get rid of WritableScopeWithImports 2015-06-08 15:10:39 +02:00
Michael Bogdanov
baa44e3d01 Fix default parameter remapping on inlining: support store instruction
#KT-7963 Fixed
2015-06-08 16:07:39 +03:00
Michael Bogdanov
7a1625fc9e Support extension lambda inlining
#KT-7962 Fixed
2015-06-08 16:07:38 +03:00
Dmitry Jemerov
18753a16d7 a bunch of fixes to the grammar 2015-06-08 14:46:28 +02:00
Valentin Kipyatkov
5f0171aa04 Added two more inspections based on existing intentions 2015-06-08 15:37:59 +03:00
Valentin Kipyatkov
5b9680fe11 Made all inspections making code more verbose low priority 2015-06-08 15:37:59 +03:00
Valentin Kipyatkov
63b30cf7f6 KT-7955 "Add replaceWith to specify replacement pattern" intention/inpesction has too large a range
#KT-7955 Fixed
2015-06-08 15:37:58 +03:00
Valentin Kipyatkov
e1efb95259 Added test 2015-06-08 15:37:40 +03:00
Valentin Kipyatkov
7dddd6c718 Code simplification 2015-06-08 15:33:58 +03:00
Valentin Kipyatkov
8243d27fb2 Smart completion: argument with "*" is not necessary the only one for vararg parameter 2015-06-08 15:33:58 +03:00
Valentin Kipyatkov
0d992ee38f Moved tests 2015-06-08 15:33:58 +03:00
Valentin Kipyatkov
54e9a46f12 Smart completion: fixed in argument with "*" 2015-06-08 15:33:58 +03:00
Valentin Kipyatkov
2197d554ca Smart completion: a bit more correct logic for last vararg parameter 2015-06-08 15:33:58 +03:00
Valentin Kipyatkov
ee15eae6b3 Smart completion: function literal argument can correspond only to the last parameter! 2015-06-08 15:33:57 +03:00
Valentin Kipyatkov
6284f557e6 Smart completion: sometimes we can insert comma after vararg argument too 2015-06-08 15:33:57 +03:00
Valentin Kipyatkov
02e876679c Completion: more correct code for lambda template insertion 2015-06-08 15:33:57 +03:00
Valentin Kipyatkov
64e9ecc7b4 Moved test data 2015-06-08 15:33:57 +03:00
Valentin Kipyatkov
7eec200887 Moved tests from deprecated to generated test fixture 2015-06-08 15:33:57 +03:00
Valentin Kipyatkov
560b7dae75 Minor correction 2015-06-08 15:33:56 +03:00
Nikolay Krasko
e4c7f9bc22 Keep NullableNotNullManager methods for J2K converter 2015-06-08 15:21:03 +03:00
Valentin Kipyatkov
0cb2348b2f KT-6807 J2K: Convert "==" to "===" if class has equals() method
#KT-6807 Fixed
2015-06-06 11:00:55 +03:00
Alexey Sedunov
dae7717a69 Introduce Variable: Reimplement in-place refactoring using AbstractInplaceIntroducer. Extract common superclass AbstractKotlinInplaceIntroducer 2015-06-05 21:10:36 +03:00
Alexey Sedunov
4a56b99cff Introduce Parameter: Reimplement in-place refactoring using AbstractInplaceIntroducer
This simplifies implementation and fixes bug with unnecessarily detailed command history available through undo/redo
2015-06-05 21:10:35 +03:00
Alexander Udalov
d475401108 Ant task: don't pass kotlin-runtime.jar to javac on "-no-stdlib" 2015-06-05 16:19:55 +03:00
Alexander Udalov
f5ec8d6850 Minor, delete useless test
'withKotlinNoJavaSources' tests exactly the same
2015-06-05 16:19:42 +03:00
Alexander Udalov
e224337ff3 Ant task: support "compilerarg" element in withKotlin as in kotlinc 2015-06-05 16:19:19 +03:00
Alexander Udalov
dda44a61a1 Rewrite integration tests to JUnit3, make Ant JVM task tests generated 2015-06-05 16:19:17 +03:00
Alexander Udalov
0f6c23e1c4 Don't always run code in Ant task tests
But when running code, do it via <java> task, not via custom testing code. Most
of the time the compiled code need not be runned, because it's irrelevant to
the Ant task itself
2015-06-05 15:55:59 +03:00
Alexander Udalov
968d362b77 Don't check exit code in Ant tests
It's already checked in the build log in each test
2015-06-05 15:55:58 +03:00
Alexander Udalov
89408f45bb Ant task: pass kotlin-runtime to javac's classpath; simplify tests
'kotlinCompiler' test is deleted because it's a very roundabout way to compile
Kotlin and Java sources, and there's no point in testing it.

'javacCompiler' test is deleted for similar reasons: using javac's "compiler"
option is not an advertised way to use Kotlin Ant task, and anyway it will work
with any CompilerAdapter instance, so it's hard to break it (apart from
deleting "withKotlin" adapter).

There are tests which check compilation/running of the same code but with the
recommended method. The pretext for deletion of these tests is to make Ant
tests generated, and that would be easier if they wouldn't depend on any outer
variables
2015-06-05 15:55:58 +03:00
Alexander Udalov
49c78602af Minor, move and rename CompilerClassLoaderHolder -> KotlinAntTaskUtil 2015-06-05 15:55:56 +03:00
Alexander Udalov
8f5826793d Ant task: warn when Ant version < 1.8.2 2015-06-05 15:55:56 +03:00
Alexander Udalov
0ad6dce7ce Ant task: support 'failOnError' attribute in kotlinc and withKotlin 2015-06-05 15:55:54 +03:00
Alexander Udalov
6d00c265e2 Always run kotlinc in <withKotlin/> Ant task
This change requires withKotlin to be run with Ant of version at least 1.8.2.

Some test data changed because now compileList contains both Java and Kotlin
sources

 #KT-7870 Fixed
2015-06-05 15:55:53 +03:00
Alexander Udalov
cbbf8dec7e Drop ant-1.7 from project, advance Ant to 1.8.2
Ant 1.8.2 has the API (namely,
CompilerAdapterExtension#getSupportedFileExtensions) which will allow to fix a
critical bug in <withKotlin/> task (see KT-7870)
2015-06-05 15:55:52 +03:00
Alexander Udalov
9008a8b161 Fix withKotlin Ant task when no classpath is given
#KT-6492 Fixed
2015-06-05 15:55:51 +03:00
Nikolay Krasko
cf62e0b999 Remove internal artifacts for rr/* branches 2015-06-05 14:29:54 +03:00
Nikolay Krasko
95e4766b3e Minor: reformat 2015-06-05 14:29:49 +03:00
Nikolay Krasko
9cfbf27602 Use same classloader for loading JS and JVM compilers 2015-06-05 14:29:47 +03:00
Denis Zharkov
9ec235c011 Introduce KotlinNamesValidator
It's needed to prohibit invalid kotlin identifiers in refactorings

 #EA-69048 Fixed
 #EA-69063 Fixed
2015-06-05 11:58:16 +03:00
Alexander Udalov
6e97f85863 Fix type argument substitution bug in KFunction construction
For example,

KMemberFunction2<T, P1, P2, R> : KMemberFunction<T, R>

So for this inheritance the heuristic that was present ("take the last K type
parameters of the subclass, and substitute for K parameters of the superclass")
was wrong. The new heuristic for this case is: take type parameters with the
same names.

Also don't store "parameters" in a lazy value, since it's easy to compute and
it's computed practically every time anyway
2015-06-04 23:08:21 +03:00
Alexander Udalov
b474fa9278 Refactor fictitious function class kinds, reuse in J<->K map 2015-06-04 23:08:21 +03:00
Alexander Udalov
9e8c51f7d3 Minor, delete pointless field annotations 2015-06-04 23:08:20 +03:00
Ilya Gorbunov
1036448fcd Improve the documentation of MatchGroupCollection.
#KT-7938 Fixed
2015-06-04 20:51:08 +03:00
Mikhail Glukhikh
98407a7c4b Recursive annotations are now possible for properties / functions / classes / primary constructors #EA-66984 Fixed #EA-63992 Fixed #EA-64272 Fixed
A set of tests provided.
2015-06-04 20:09:36 +03:00
Ilya Gorbunov
0c1a8ab8ff Change KotlinCleanupInspection display name and description to mention deprecated symbols 2015-06-04 20:00:55 +03:00
Evgeny Gerashchenko
c194ced87e Performance report is emitted only when corresponding command-line argument is provided. 2015-06-04 19:45:01 +03:00
Natalia Ukhorskaya
b4190fb1fe Rewrite KotlinOutputParser for Android plugin to make it works with Android Studio 1.3
#KT-7862 Fixed
2015-06-04 19:17:46 +03:00
Pavel V. Talanov
812273cb2b Fix a problem when invoking completion outside of source roots could lead to declarations from index being analyzed in a wrong resolution facade 2015-06-04 18:36:05 +03:00
dnpetrov
50ea67ba13 KT-5524 Support [platformName] annotation for class members
@platformName is now supported for final non-overriding class member functions
(including property accessors).
Front-end provides diagnostics for inapplicable annotation cases.
Code generation updated:
- ignore kotlin.platform.platformName annotation for Java class methods;
- bridges generation generates proper JVM declarations in case of methods renamed with @platformName.
@platformName-related tests added.

#KT-5524 Fixed
2015-06-04 17:54:08 +03:00
Evgeny Gerashchenko
0bf249d6ae Do not recompile module when anonymous object or local class is changed. 2015-06-04 17:50:14 +03:00
Evgeny Gerashchenko
6403ef39eb KT-7521 Compilation problem of dependent modules with different jdks
#KT-7521 fixed
2015-06-04 17:50:13 +03:00
Valentin Kipyatkov
200c6446be Probably fixed EA-69004 2015-06-04 17:23:20 +03:00
Valentin Kipyatkov
f05789e224 Fixed EA-69042 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov
e597532c7a KT-7815 Smart completion after "as" inserts fq-name for type parameter
#KT-7815 Fixed
2015-06-04 17:21:28 +03:00
Valentin Kipyatkov
d3e4b346ce Deprecated symbols made less priority than named parameters 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov
54836113a7 Better test data format 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov
603f7ef3c1 KT-7756 Completion of "return null", "return true" and "return false"
#KT-7756 Fixed
2015-06-04 17:21:27 +03:00
Ilya Gorbunov
009baa11fc Specific wording in exception message for String methods. 2015-06-04 16:45:55 +03:00
Ilya Gorbunov
a1d8e9d633 Provide dropLast and takeLastWhile methods. Optimize special cases of drop/take/dropLast/takeLast (when n is equal to zero or size of collection). 2015-06-04 16:32:25 +03:00
Ilya Gorbunov
9f85fa9720 Make proposed split replacement equivalent in behavior with additional dropLastWhile call.
#KT-7887
2015-06-04 16:32:23 +03:00
Ilya Gorbunov
9b17220baa Provide dropLastWhile for Arrays, Lists and Strings. 2015-06-04 16:32:21 +03:00
Ilya Gorbunov
705c9089f0 Provide replacement for methods deprecated in favor of SAM-constructors.
Provide replacement for isNotEmpty on nullable receiver.
JS: Provide SAM-like constructor for Runnable.
2015-06-04 16:32:19 +03:00
Ilya Gorbunov
13c89b7ae9 Provide lineSequence() extension method instead of BufferedReader.lines() in order not to conflict with JDK8 instance method with the same name. 2015-06-04 16:32:17 +03:00
Michael Bogdanov
dee26957d1 Tests for obsolete KT-4798, KT-7288, KT-7046
#KT-4798 Obsolete
 #KT-7288 Obsolete
 #KT-7046 Obsolete
2015-06-04 16:28:08 +03:00
Valentin Kipyatkov
9e27e208ef Made test data correct 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov
6751a1d440 DeprecatedSymbolUsageFix: keeping explicit type arguments in original form 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov
9f1fbe20dc Extracted methods 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov
a26c62ab0f KT-7895 Auto replace for deprecated (ReplaceWith) loses generic type
#KT-7895 Fixed
2015-06-04 16:20:29 +03:00
Valentin Kipyatkov
f14615315d KT-5482 Redundant type arguments are not detected in some cases
#KT-5482 Fixed
2015-06-04 16:20:29 +03:00
Denis Zharkov
9802931a90 Remove variables with empty ranges from local vars table
As their ranges may intersect after dead code elimination that leads to VerifyError
2015-06-04 16:11:02 +03:00
Denis Zharkov
310babefdf Minor, Rename InsnStream -> InsnSequence 2015-06-04 16:11:02 +03:00
Denis Zharkov
8da3f53404 EA-53937: Drop failing assertion about no-name val in annotation 2015-06-04 16:11:02 +03:00
Denis Zharkov
0e718fbaab Introduce UNKNOWN visibility as default in FunctionDescriptor
It's needed to prevent NPE when requesting non-nullable visibility of descriptor
before `initialize` has been called.
Currently it happens because of indirect calls of `DescriptorUtils.isLocal`
between descriptor creation and it's initialization.
2015-06-04 16:11:02 +03:00
Denis Zharkov
4f85afb3f0 Fix DescriptorUtils.isLocal semantics
Non-member descriptors, e.g. type parameters, value parameters that defined in local function should be local too
Otherwise a lot of exceptions happens when resolving references within anonymous objects
2015-06-04 16:11:02 +03:00
Nikolay Krasko
e874ad9cbb Remove getting stacktrace in internal mode 2015-06-04 15:33:16 +03:00
Nikolay Krasko
46ddb1958f Update IDEA to 141.1383.1 2015-06-04 15:33:14 +03:00
Valentin Kipyatkov
6e7fd19d8e KT-7695 Java to Kotlin converter incorrectly generates a cast to non-nullable type
#KT-7695 Fixed
2015-06-04 15:11:48 +03:00
Valentin Kipyatkov
1fa777f3c3 Fixed EA-60042 2015-06-04 15:11:48 +03:00
Valentin Kipyatkov
142ee0ce70 Fixed EA-65709 2015-06-04 15:11:47 +03:00
Michael Bogdanov
83f04501be Remove error diagnostic from return in multideclaration
#KT-5100 Fixed
2015-06-04 12:01:59 +03:00
Dmitry Jemerov
a321e8eef5 performance counters infrastructure 2015-06-04 10:20:19 +02:00
Valentin Kipyatkov
a3a33ce089 Minor code improvements + more correct code 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
9c0d607894 Replace "||" with "&&" (and the opposite) made more clever about negating expressions 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
ac6ef6b544 KT-7454 Replace "||" with "&&" adds unnecessary parethesis
#KT-7454 Fixed
2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
1a0f8a5070 Maybe it will fix EA-67317 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
b73ebad167 Fixed EA-66035 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
4957495cf3 Migrated to use of modern API 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
fd4a634001 Fixed EA-66835 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov
6d2d054b3b Refactored ShowExpressionTypeAction to work for variable type 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
5d9259e9a4 Refactored ShowExpressionTypeAction 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
5a50423ae5 Converted to Kotlin 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
4169a78e6f Removing unnecessary uses of analyzeFully 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
cd68cefba1 Added diagnostic for EA-68663 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
7be59f969c Fixed EA-68869 2015-06-04 01:05:49 +03:00
Valentin Kipyatkov
662cc325f4 Never invoke intention action when it's not available 2015-06-04 01:05:48 +03:00
Valentin Kipyatkov
9b32bb8894 Fixed EA-68922 2015-06-04 01:05:48 +03:00
Valentin Kipyatkov
6010876c95 Fixed EA-68937 2015-06-04 01:05:48 +03:00
Zalim Bashorov
9d32f5e8ed Minor in JS backend tests: use checkFooBoxIsOk instead of fooBoxIsValue 2015-06-03 23:09:17 +03:00
Zalim Bashorov
92457543bc JS backend: fix equality check for nullable types
* Generate simple check when compare with `null` literal.
* Use Kotlin.equals if type of receiver or argument is nullable.
* Don't call equals method if any of receiver or argument is null (at runtime, not only literal). For more information see KT-4356.

 #KT-7530 fixed
 #KT-7916 fixed
2015-06-03 23:09:16 +03:00
Zalim Bashorov
6aaccae6a9 JS backend: compare enum entries strictly
#KT-7840 fixed
2015-06-03 23:09:16 +03:00
Zalim Bashorov
4f0a858e93 JS backend: fix tests after move testTrue and testFalse to common place 2015-06-03 23:09:16 +03:00
Zalim Bashorov
430a3c121d Minor in JS backend: move testFalse and testTrue to common place 2015-06-03 23:09:16 +03:00
Zalim Bashorov
ca4ce48801 JS backend: fix compiler crash on for with empty body 2015-06-03 23:09:15 +03:00
Zalim Bashorov
f90df7aa35 JS backend: fix compiler crash on empty then if block
#EA-68941 fixed
2015-06-03 23:09:15 +03:00
Zalim Bashorov
779a0373c7 JS backend: generate better code for secondary constructor calls -- don't generate undefined when it possible 2015-06-03 23:09:15 +03:00
Zalim Bashorov
79b5652ce6 JS backend: added test which check that name of classes not mangled when we have a function with the same name in non-public API 2015-06-03 23:09:15 +03:00
Zalim Bashorov
33fb3fb6e4 JS backend: support secondary constructors in native classes 2015-06-03 23:09:15 +03:00
Dmitry Jemerov
08439c541e don't bother calculating possibleResolutionScopes if we aren't going to use them 2015-06-03 20:59:18 +02:00
Pavel V. Talanov
f335e9f6b2 Fix a problem where a sequence of out-of-block completions could lead to an inconsistent resolve session provided for a synthetic copy of a file 2015-06-03 21:22:10 +03:00
Natalia Ukhorskaya
7b63dd987c Workaround for bug in Android Plugin: it generates LightFields for files starting from '.' (ex. .DS_Store file)
#KT-6625 Fixed
2015-06-03 16:36:57 +03:00
Alexander Udalov
e38bc864d1 Fix heavy integer parsing in FunctionN class factory
#KT-7924 Fixed
2015-06-03 15:37:49 +03:00
Alexander Udalov
6c8f2be1d8 Revert "Fix heavy integer parsing in FunctionN class factory"
This reverts commit 9d493d995e.
2015-06-03 15:32:47 +03:00
Alexander Udalov
c18ef6e2ac Increase buffer size in preloader from 8K to 512K
Doesn't seem to improve performance, but cuts down lots of IO file read counts
2015-06-03 15:14:24 +03:00
Alexander Udalov
9d493d995e Fix heavy integer parsing in FunctionN class factory
#KT-7924 Fixed
2015-06-03 15:14:23 +03:00
Pavel V. Talanov
3c791c418d KotlinSignatureInJavaMarkerProvider: do not report errors on exceptions
Fixing it is not in our immediate plans and these exceptions litter our EA and create a bad impression for users, while not really disrupting any workflow
2015-06-03 14:56:10 +03:00
Michael Bogdanov
2377a10007 Fix labeling processing on inlining: suport labeled literals
#KT-7273 Fixed
2015-06-03 14:42:57 +03:00
Pavel V. Talanov
f02f663167 Minor: fix test data 2015-06-03 14:29:44 +03:00
Dmitry Jemerov
758b94d3a6 get rid of JetScopeSelectorUtil, inline its contents into Kotlin code 2015-06-03 12:03:15 +02:00
Natalia Ukhorskaya
c57a0440ec Test stdlib with dx
#KT-7003 Fixed
2015-06-03 12:44:02 +03:00
Natalia Ukhorskaya
094119ee63 Fix EA-63657 2015-06-03 12:44:01 +03:00
Natalia Ukhorskaya
c410f1cdfc Android tests: use ant from dependencies dirs 2015-06-03 12:44:00 +03:00
Dmitry Jemerov
425f91dfc6 some dead code in ResolutionTask 2015-06-02 20:38:02 +02:00
Pavel V. Talanov
04bef2cc08 Minor: Drop unused code and inline utility 2015-06-02 19:19:57 +03:00
Pavel V. Talanov
ccaa779e2f Minor: fix test 2015-06-02 19:06:27 +03:00
Dmitry Jemerov
4d5c785944 don't create resolve tasks with lists of candidates which are known to be empty 2015-06-02 17:40:13 +02:00
Dmitry Jemerov
365d45f49e add missing API to retrieve Kotlin source roots from a CompilerConfiguration 2015-06-02 17:22:44 +02:00
Dmitry Jemerov
9672264442 avoid unnecessary and expensive creation of FqName instances 2015-06-02 16:36:03 +02:00
Alexander Udalov
d1df234cfe Support annotations as annotation arguments in reflection, add test
A follow-up to 281acb8 where this was supported in the compiler
2015-06-02 17:31:19 +03:00
Alexander Udalov
158b3ba102 Make parameter names of fictitious function classes non-stable
To be able to change them when overriding invoke in subclasses without a
warning
2015-06-02 17:30:58 +03:00
Alexander Udalov
16b20cf910 Fix NoSuchMethodError on FunctionReference#init 2015-06-02 17:29:52 +03:00
Pavel V. Talanov
d2592e4a2c Companion objects have public visibility by default
#KT-7114 Fixed
2015-06-02 16:23:03 +03:00
Dmitry Jemerov
5ba283397b use more compact map implementation in ObservableBindingTrace 2015-06-02 15:17:25 +02:00
Dmitry Jemerov
f545c9ddac dispatch directly to the correct visitor function 2015-06-02 15:14:37 +02:00
Ilya Gorbunov
0302dd06f7 Do not call mkdirs when destination file of copyTo doesn't have any parent directory.
#KT-7888 Fixed
2015-06-02 15:50:47 +03:00
Pavel V. Talanov
7f70a4ae89 Minor: extract implementation of ResolutionFacade to a separate class 2015-06-02 15:32:02 +03:00
Pavel V. Talanov
a94c13be6d KotlinCacheService: allow to get ResolveSessionForBodies by module descriptor
Utility to resolve import in file by fq name
2015-06-02 15:32:01 +03:00
Valentin Kipyatkov
e60c3f5ee7 DeprecatedSymbolUsageFix: fixed for string template 2015-06-02 14:36:06 +03:00
Valentin Kipyatkov
a5cb1e8c2b Converted JetExpressionImpl to Kotlin, got rid of code duplication 2015-06-02 14:36:06 +03:00
Valentin Kipyatkov
b012f22edc DeprecatedCallableAddReplaceWithIntention: fixed for string templates in expression 2015-06-02 14:36:06 +03:00
Valentin Kipyatkov
07cb0a0b08 DeprecatedSymbolUsageFix: refactored code for easier handling of optional arguments 2015-06-02 14:36:06 +03:00
Valentin Kipyatkov
1fdb4429c3 Edited TODOs 2015-06-02 14:36:05 +03:00
Valentin Kipyatkov
134621ce77 DeprecatedSymbolUsageFix: fixed for incorrect annotation arguments 2015-06-02 14:36:05 +03:00
Valentin Kipyatkov
f1d8838bbd Removed code duplication for getting annotation argument 2015-06-02 14:36:05 +03:00
Valentin Kipyatkov
aefe0dd192 Changed highlighting range and attributes of useless elvis operator 2015-06-02 14:35:19 +03:00
Denis Zharkov
11290ae9e7 Fix wrong assumptions in quickfix
Diagnostic is always reported on overriden property

 #EA-64407 Fixed
2015-06-02 14:07:49 +03:00
Denis Zharkov
349d5f02ea Drop wrong assertion about duplicating properties in data class
#EA-64269 Fixed
2015-06-02 14:07:49 +03:00
Denis Zharkov
70dbbd8fda Resolve constructors declared in traits and objects
It prevents exceptions and produces less red code

 #EA-68667 Fixed
2015-06-02 14:07:49 +03:00
Denis Zharkov
7f9d2e8a36 Refine diagnostics reported on primary constructors 2015-06-02 14:07:49 +03:00
Denis Zharkov
9c574469ca Parsing: allow primary ctor in object syntactically
It's needed for better recovering for cases of changes like 'class' -> 'object'

The only sensible case when it's may be bad:
class A {
   object B
   constructor() : super()
}

But it seems to be rare, and ';' can be used to separate object from secondary ctor
2015-06-02 14:07:48 +03:00
Denis Zharkov
3f7ca5a586 Do not report diagnostic "ctr in trait" in delegation specifier
Constructor declaration in interfaces is prohibited anyway
2015-06-02 13:18:53 +03:00
Denis Zharkov
19e4127f4f Do not wrap primary ctor of object into ErrorElement
It helps to resolve them as for classes
Diagnostic with same content will be reported instead
2015-06-02 13:18:53 +03:00
Denis Zharkov
c054dc19e3 Get rid of assumption that primary ctr is a child of JetClass
As it can be contained within JetObjectDeclaration
2015-06-02 13:18:53 +03:00
Denis Zharkov
71b5cd692b Prettify JetClass and JetObjectDeclaration 2015-06-02 13:18:53 +03:00
Denis Zharkov
8c6264bf2c Pull constructor-related methods from JetClass to JetClassOrObject 2015-06-02 13:18:53 +03:00
Denis Zharkov
51534f4592 Make JetClassOrObject an abstract class implementing common methods 2015-06-02 13:18:52 +03:00
Denis Zharkov
5b1a5deae4 Convert JetClassOrObject and inheritors: J2K 2015-06-02 13:18:52 +03:00
Denis Zharkov
bfa667f569 Convert JetClassOrObject and inheritors: .java -> .kt 2015-06-02 13:18:52 +03:00
Dmitry Jemerov
cb6ddc5db3 correctly check if we need to process deferred types in body resolver 2015-06-02 11:58:33 +02:00
Dmitry Jemerov
22168aa026 optimize DescriptorUtils.getContainingModuleOrNull() by removing duplicate parent traversal and Class.isInstance() checks 2015-06-02 11:55:16 +02:00
Dmitry Jemerov
252ddf4e2e delete unused interface KeyNormalizer 2015-06-02 11:52:42 +02:00
Alexander Udalov
d2508c8710 Do not report irrelevant diagnostics on unresolved supertypes
Previously the confusing "trait with superclass" was reported when an
unresolved classifier appeared in interface supertypes
2015-06-02 12:30:14 +03:00
Alexander Udalov
23670292d6 Minor, drop unused properties in libraries/pom.xml
Also regroup for clarity
2015-06-02 11:12:09 +03:00
Alexander Udalov
9cc156c67f Copy kotlin-reflect.jar from dist to publish to Maven
Also build sources jar in build.xml to publish as kotlin-reflect's sources, and
create an empty javadoc
2015-06-02 11:12:09 +03:00
Alexander Udalov
ee811136d2 Minor, update URL and fix typo in maven project description 2015-06-02 11:12:08 +03:00
Alexander Udalov
c830eee453 Add kotlin-reflect.jar to targets in build.xml 2015-06-02 11:12:08 +03:00
Mikhail Glukhikh
9295624378 Unused imports removed 2015-06-02 11:11:19 +03:00
Mikhail Glukhikh
dea2ec9da6 When now tries to smart cast subject to not-null if contains no null case #KT-7857 Fixed
Some new tests + some fixed tests
2015-06-02 10:56:21 +03:00
Mikhail Glukhikh
de12771c0f Warning generation on non-exhaustive whens over enums + a set of tests + fixed test #KT-6227 Fixed 2015-06-02 10:56:17 +03:00
Mikhail Glukhikh
969993bd09 Fix for EA-68871 #EA-68871 Fixed 2015-06-02 10:56:13 +03:00
Alexander Udalov
bd17db6f3e Delete TeamCityPluginPublisher.xml and run configuration on TC
The run configuration is not used anymore because we have branches which run
tests against different IDEA versions, and also IDEA master runs the plugin
verifier with the Kotlin plugin
2015-06-01 19:23:12 +03:00
Alexander Udalov
06dafef4cc Add test on no 'kotlin.reflect.jvm.internal.impl' package in project code 2015-06-01 19:23:11 +03:00
Alexander Udalov
9cd835a5f8 Refactor and optimize JetCodeConformanceTest
Combine all tests that iterate over all files in the project. This should speed
up the test substantially, especially on slow file systems
2015-06-01 19:23:11 +03:00
Alexander Udalov
41d2e378f8 Convert JetCodeConformanceTest to Kotlin: prettify 2015-06-01 19:23:11 +03:00
Alexander Udalov
fca662af91 Convert JetCodeConformanceTest to Kotlin: invoke J2K 2015-06-01 19:23:10 +03:00
Alexander Udalov
8cf04ce966 Convert JetCodeConformanceTest to Kotlin: move .java -> .kt 2015-06-01 19:23:10 +03:00
Alexander Udalov
12a6461006 Report 'free function called as extension' on Function subclasses
You can't make a value of some type invokable as an extension by adding
'extension' annotation to the type
2015-06-01 19:23:10 +03:00
Alexander Udalov
596d378962 Fix abstract method error: implement arity in function references 2015-06-01 19:23:09 +03:00
Alexander Udalov
803fb82b8b Minor, move compiler.pro out of project root 2015-06-01 19:23:09 +03:00
Alexander Udalov
28addcf8e7 Do not generate annotations of method parameters on its $default synthetic method
#KT-7892 Fixed
2015-06-01 19:23:08 +03:00
Alexander Udalov
4f77b44ac3 Minor, move constant to the proper place 2015-06-01 19:23:08 +03:00
Alexander Udalov
df4d5a3ae2 Fix initialization order of enum entries and companion
#KT-5761 Fixed
2015-06-01 19:23:08 +03:00
Alexander Udalov
7ba0dda29c Check compileJavaAgainstKotlin tests with .txt files 2015-06-01 19:23:07 +03:00
Evgeny Gerashchenko
cab8f583a8 Minor. Renamed test. 2015-06-01 19:02:13 +03:00
Evgeny Gerashchenko
88e8988b18 Stabilized order of bytecode for when mappings initialization. 2015-06-01 19:02:13 +03:00
Evgeny Gerashchenko
b94665e948 Updated Kannotator JPS build test for new incremental compilation.
Now it only invokes make for each changed file (much faster). And for each source target, it also checks that out directories are the same as after full rebuild.
2015-06-01 19:02:13 +03:00
Evgeny Gerashchenko
bd8e907809 Minor. Moved file to separate package to avoid clashing between tests and sources 2015-06-01 19:02:12 +03:00
Evgeny Gerashchenko
beb099fc12 Made incremental compilation enabled by default in IDEA settings. 2015-06-01 19:02:12 +03:00
Evgeny Gerashchenko
36915bf846 Enabled incremental compilation by default. 2015-06-01 19:02:12 +03:00
Evgeny Gerashchenko
fe3437e8a1 Fixed iml files in test data. Order entry for own sources is obligatory. 2015-06-01 19:02:12 +03:00
Evgeny Gerashchenko
7de531fe09 Fixed package proto for circular dependencies. Case when package is present in different modules which depend on each other. We should generate separate package facades for this case. 2015-06-01 19:02:11 +03:00
Evgeny Gerashchenko
37d6c9bf25 Minor. Fixed typo in test data. 2015-06-01 19:02:11 +03:00
Valentin Kipyatkov
ad624d60ec ConvertFunctionToPropertyIntention and ConvertPropertyToFunctionIntention made low priority 2015-06-01 18:23:35 +03:00
Valentin Kipyatkov
8fd6a64be9 Refactored methods for val/var in PSI 2015-06-01 18:23:34 +03:00
Valentin Kipyatkov
034b74d3e5 Rewritten ChangeVariableMutabilityFix
#KT-7877 Fixed
2015-06-01 18:23:34 +03:00
Valentin Kipyatkov
d74ac4d08a Override/implement members dialog: no qualified type names in signatures but qualified owner class names (+ moved a method) 2015-06-01 18:23:34 +03:00
Yan Zhulanow
54b3fc9e37 Do not bundle annotation collector plugin into IDE plugin 2015-06-01 17:28:03 +03:00
Pavel V. Talanov
d531641459 Fix ReplaceWithOperatorAssignmentIntention in some cases
#KT-7831 Fixed
2015-06-01 15:52:52 +03:00
Natalia Ukhorskaya
1334f0352b Support com.android.tools.build.gradle 1.3.0-beta1
#KT-7884 Fixed
2015-06-01 14:00:57 +03:00
Natalia Ukhorskaya
31db945110 Fix navigation to file from "breakpoint reached at" info 2015-06-01 14:00:56 +03:00
Zalim Bashorov
746b16fce3 Don't include test data in the language statistic for a repository 2015-06-01 12:47:29 +03:00
Ilya Gorbunov
64b2e37436 Deprecate meaningless or vague-defined operations with Char operands: downTo. 2015-06-01 00:55:45 +03:00
Alexey Sedunov
8a751ad74a Call Hierachy: Fix NPE
#EA-67995 Fixed
2015-05-30 18:16:26 +03:00
Alexey Sedunov
26c4efb587 Light Elements: Filter out nulls when converting Kotlin declarations to corresponding light elements
#EA-64403 Fixed
2015-05-30 18:16:25 +03:00
Alexey Sedunov
fed8047a59 Find Usages: Fix NPE
#EA-64275 Fixed
2015-05-30 18:16:23 +03:00
Alexey Sedunov
e1f660f446 Call Hierarchy: Forbid PsiClass at the hierarchy root
#EA-64406 Fixed
2015-05-30 18:16:22 +03:00
Zalim Bashorov
f1d37572c8 JS backend: fix missed variable declarations for tmps in class primary/default constructor
#KT-7864 Fixed
2015-05-29 20:09:46 +03:00
Dmitry Jemerov
e0f819d93c document ReplaceWith annotation 2015-05-29 17:11:22 +02:00
Valentin Kipyatkov
0e69162628 DeprecatedSymbolUsageFix to not be available for functions with optional parameters and no sources 2015-05-29 15:10:14 +03:00
Valentin Kipyatkov
6fbd530eee DeprecatedSymbolUsageFix: changed from descriptors to import back to fq-names as it's more safe 2015-05-29 15:10:14 +03:00
Valentin Kipyatkov
859128744e Fixed DeprecatedSymbolUsageInWholeProjectFix 2015-05-29 15:06:14 +03:00
Valentin Kipyatkov
eef0e8e447 JetBlockExpression.getStatements() returns List<JetExpression> instead of List<JetElement> 2015-05-29 14:22:56 +03:00
Valentin Kipyatkov
4927a58101 Reordered methods 2015-05-29 14:07:34 +03:00
Valentin Kipyatkov
609ac21be0 Added TODO 2015-05-29 13:55:48 +03:00
Valentin Kipyatkov
df0fc51d68 Moved methods working with calls into appropriate place 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
ac7e6bdfe4 Moved method to psiUtils.kt 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
85d9855013 Moved methods for package-directory relation into IDEA 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
cbc0a60006 Moving more PSI modification methods to psiModificationUtils.kt 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
006c02b569 Getting rid of confusing methods on PsiElement's 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
e99b343be3 Moving methods modifying PSI to psiModificationUtils.kt 2015-05-29 13:55:47 +03:00
Valentin Kipyatkov
c1e0469188 More simple implementation 2015-05-29 13:55:46 +03:00
Valentin Kipyatkov
494d96bbc7 Refactored PsiElement.parents() into 2 properties 2015-05-29 13:55:46 +03:00
Valentin Kipyatkov
55f70d7d48 Dropped unused methods 2015-05-29 13:55:46 +03:00
Valentin Kipyatkov
0e8a43f746 Moved language independent methods from jetPsiUtil.kt to psiUtils.kt + reordered and gropped them 2015-05-29 13:55:46 +03:00
Valentin Kipyatkov
65383cf68b Fixed incorrect method 2015-05-29 13:55:46 +03:00
Valentin Kipyatkov
c8223fff9e getFirstChild().siblings -> allChildren 2015-05-29 13:55:46 +03:00
Alexander Udalov
bf09906f35 Fix ISE when caret is on parameter of function type
EA-68570
2015-05-28 22:09:33 +03:00
Alexander Udalov
dff3e17d88 Minor, swap order of parameters for clarity 2015-05-28 22:09:24 +03:00
Alexander Udalov
6dbd9b2d01 Minor, set XML indentation to 4 spaces
Was accidentally changed to 2 in 181af17
2015-05-28 22:09:01 +03:00
Valentin Kipyatkov
ca3dfdf008 Fixed AbstractQuickFixMultiFileTest badly broken sometime ago 2015-05-28 22:00:36 +03:00
Valentin Kipyatkov
09028390fd Corrected test data 2015-05-28 21:35:05 +03:00
Dmitry Jemerov
443eabf88a make Dokka happy by sorting imports of Java classes 2015-05-28 17:53:12 +02:00
ilya-g
ba6a6ce49f Merge pull request #677 from JetBrains/rr/yole/stdlib-docs
stdlib doc-related cleanup
2015-05-28 16:22:42 +03:00
Valentin Kipyatkov
08cf8065ea DeprecatedSymbolUsageFix to keep line breaks when possible 2015-05-28 16:14:15 +03:00
Dmitry Jemerov
8f0f02fc59 correct some errors and omissions in stdlib doc comments 2015-05-28 14:38:36 +02:00
Dmitry Jemerov
fa5aa664b5 update build script for new distribution of dokka 2015-05-28 14:38:20 +02:00
Dmitry Jemerov
0e5b6c41dd use new syntax for annotations 2015-05-28 14:14:05 +02:00
Valentin Kipyatkov
5e5e71882e Code cleanup to work more reliably with nested problems 2015-05-28 13:45:24 +03:00
Valentin Kipyatkov
2b61bca6dd Code cleanup includes deprecated symbol usage fixes + code cleanup does not crash on nested usages to fix 2015-05-28 13:45:24 +03:00
Valentin Kipyatkov
d415b0c74d Fixed critical bug in DeprecatedSymbolUsageFix 2015-05-28 13:45:07 +03:00
Zalim Bashorov
68eca8bc00 JS backend: add the support secondary constructors 2015-05-28 11:06:06 +03:00
Zalim Bashorov
016534b487 Minor: change package in astUtils.kt: ast -> jsAstUtils 2015-05-28 11:06:05 +03:00
Zalim Bashorov
cb37ae5d1e Minor: add "ctor" to dictionary 2015-05-28 11:06:04 +03:00
Zalim Bashorov
e11d61d68a JS backend: move all class creation logic from FileDeclaration to ClassTranslator 2015-05-28 11:06:04 +03:00
Zalim Bashorov
6e7be78b98 Minor improvments in ClassTranslator after conversion 2015-05-28 11:06:03 +03:00
Zalim Bashorov
c589026a47 Convert ClassTranslator.java to Kotlin 2015-05-28 11:06:02 +03:00
Zalim Bashorov
b61c1376a2 ClassTranslator.java -> ClassTranslator.kt 2015-05-28 11:06:02 +03:00
Zalim Bashorov
ef5ee5100a JS backend: make CallTranslator more comfortable to use from java 2015-05-28 10:38:30 +03:00
Zalim Bashorov
68f851cbdc Move JvmCodegenUtil#getDelegationConstructorCall to common place (BindingContextUtils) 2015-05-28 10:30:54 +03:00
Zalim Bashorov
f3f799aab5 Fix secondary constructor tests for JS -- use non-zero fracitional part 2015-05-28 10:25:12 +03:00
Zalim Bashorov
3fe363e72b Minor: split test to access to companion and to nested object 2015-05-28 10:25:11 +03:00
Zalim Bashorov
dc1b91eacd JS: prepare tests for secondary constructors 2015-05-28 10:24:48 +03:00
Zalim Bashorov
72c2648fc8 JS frontend: remove diagnostics about the secondary constructors are not supported 2015-05-28 10:24:47 +03:00
Alexander Udalov
d14e5b8a72 Restore and deprecate Function{n}/ExtensionFunction{n} classes for easier migration
Users' Java code will not break in common cases (when passing functions to
Kotlin), and deprecation warnings will be reported.

Provide an inspection with a quick fix which allows to replace deprecated
function class usages to the new classes. Include this fix to the "code
cleanup" action
2015-05-28 01:20:05 +03:00
Ilya Gorbunov
851007cc6c Fix output of test that relied on the documentation wording. 2015-05-28 00:36:00 +03:00
Valentin Kipyatkov
ce40ed1385 J2K: use arrayOf instead of array and similar 2015-05-28 00:17:04 +03:00
Valentin Kipyatkov
002312f98a Import of KClass inserted when needed on conversion to Kotlin on paste 2015-05-28 00:17:04 +03:00
Valentin Kipyatkov
f687a40136 Conversion to Kotlin on paste: supported for annotation 2015-05-28 00:17:04 +03:00
Valentin Kipyatkov
098b313a32 Moved method 2015-05-28 00:17:04 +03:00
Valentin Kipyatkov
ce9a986524 J2K: updated to use of Kotlin's KClass instead of Java's class in annotation declarations and usages 2015-05-28 00:17:04 +03:00
Valentin Kipyatkov
0a2983d602 J2K: converting of enum constants overriding members 2015-05-28 00:17:03 +03:00
Valentin Kipyatkov
bb0b3fcd0c J2K: updating generated enums to modern syntax 2015-05-28 00:17:03 +03:00
Valentin Kipyatkov
f89cff8b78 "trait" -> "interface" 2015-05-28 00:17:03 +03:00
Valentin Kipyatkov
87cb36e8e9 Updating java to kotlin convert to new language syntax 2015-05-28 00:17:03 +03:00
Ilya Gorbunov
802ca5476d Clarify requirements for limit parameter in split method. Provide replacement for deprecated split(regex: String). 2015-05-27 23:28:06 +03:00
Ilya Gorbunov
ea85290939 Annotate deprecated members with proposed replacement. 2015-05-27 22:29:37 +03:00
Ilya Gorbunov
953bbef08c Allow to specify replacement for deprecated items in generated code. 2015-05-27 22:29:35 +03:00
Ilya Gorbunov
fa24db435d Stdlib documentation: clarified toMap behavior when a duplicate key is encountered. 2015-05-27 22:29:33 +03:00
Ilya Gorbunov
1fb4183bbb Prettify kdocs in stdlib, part 2. 2015-05-27 22:16:19 +03:00
Ilya Gorbunov
5c8c58f702 Prettify kdocs in stdlib, part 1. 2015-05-27 22:16:17 +03:00
Ilya Gorbunov
ae60f7a32f Prettify kdocs and exception messages in the generated code. 2015-05-27 22:16:15 +03:00
Mikhail Glukhikh
fe49a2ee51 Build fix 2015-05-27 23:40:40 +02:00
Dmitry Jemerov
a41205fff7 Allow calling KotlinCacheService.getResolutionFacade() with an empty set of Kotlin files.
This is needed in Dokka, where a project to be documented can contain only Java files, but we will still attempt to resolve links in Markdown files containing package documentation through the KDoc reference resolver. The attempts will fail when there are no Kotlin files, but at least we won't crash trying to retrieve the first element of an empty list.
2015-05-27 19:22:19 +02:00
Mikhail Glukhikh
3ad06f169d Solution for EA-66870: Foo<in *> and Foo<out *> types are now treated as incorrect.
#EA-66870  Fixed.
2015-05-27 19:07:46 +03:00
Mikhail Glukhikh
9b50705a0e Warning fixed 2015-05-27 19:07:43 +03:00
Mikhail Glukhikh
4fb331ecd3 Solution for KT-7838: now data flow information at the end of when expression is determined correctly.
#KT-7838  Fixed.
2015-05-27 19:07:41 +03:00
Alexey Sedunov
9e69b74a15 Extract Function: Extract smart-cast value as parameter
#KT-7576 Fixed
2015-05-27 18:41:42 +03:00
Michael Bogdanov
e20a5121c7 Support private package properties in inline functions 2015-05-27 18:09:40 +03:00
Denis Zharkov
be9cc2e91b Change color scheme for annotations
Use same color as for modifiers, but with plain font type
2015-05-27 17:41:27 +03:00
Denis Zharkov
53e9234ea9 Add quickfix for replacing positioned arguments in Java annotation 2015-05-27 17:41:27 +03:00
Ilya Gorbunov
0c818767a6 Replace usages of renamed overloads annotation. 2015-05-27 17:26:07 +03:00
Dmitry Jemerov
966df199bb move KDocFinder to idea-analysis package 2015-05-27 15:41:47 +02:00
Valentin Kipyatkov
a71710f589 DeprecatedSymbolUsageInWholeProjectFix: removed notification dialog 2015-05-27 16:15:56 +03:00
Valentin Kipyatkov
18ddac0249 Corrected formatting in test data 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
eadfa72480 Fixed formatter for EOL comments (via hack) 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
55acce5e0d Minor 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
b6eda35345 TODOs 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
697516cfdd DeprecatedSymbolUsageFix: fixed for java declaration + one more test 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
18c19457f0 DeprecatedSymbolUsageFix: handling of array access expression duplication 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
d5d1158e44 Comment saver is more clever about comma's 2015-05-27 16:15:55 +03:00
Valentin Kipyatkov
d3403dee1a DeprecatedSymbolUsageFix preserves comments 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
fefa12b0a9 ConvertForEachToForLoopIntention preserves comments 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
5d0b42ee71 ConvertToForEachFunctionCallIntention preserves comments outside of body too 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
8b44c93667 JetPsiFactory.createByPattern supports PsiChildRange as argument, used it in ConvertToForEachFunctionCallIntention 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
b957584d91 Refactored JetPsiFactory.createByPattern to handle different argument types uniformly 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
1d16b76a42 Minor corrections after code review 2015-05-27 16:15:54 +03:00
Valentin Kipyatkov
2eaf767521 JetPsiFactory: create by pattern allows Name's as arguments + changed placeholder text specification format 2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
77d097b957 TODO's 2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
c167ddb2fe Minor 2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
df0d27b8b2 Split if intention preserves comments 2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
4a2f2b62ec Fixed KT-7755 Convert to expression body kills comment
#KT-7755
2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
b39e9ebdb2 Implemented special CommentSaver helper for not loosing comments when doing code transformation 2015-05-27 16:15:53 +03:00
Valentin Kipyatkov
333445d93e Fixed Convert to foreach intention loosing comments 2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
0f36458d2e Made low prio 2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
63f9d0abdb Convention name calls intentions made high priority 2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
526bdfd500 "Flip binary expression" intention made low priority 2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
4c88b31878 KT-7525 Don't suggest to replace 'get' call with index operator for static method calls (inspection & intention)
KT-5322 super.get issues a "Replace 'get' call with index operator" inspection

 #KT-7525 Fixed
 #KT-5322 Fixed
2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
0fe334fd55 KT-7702 Split into 2 if's intention: produce better result for return
#KT-7702 Fixed
2015-05-27 16:15:52 +03:00
Valentin Kipyatkov
8f797e8e69 "Split if" intention - renamed tests 2015-05-27 16:15:51 +03:00
Valentin Kipyatkov
8e16ddb00e Minor 2015-05-27 16:15:51 +03:00
Valentin Kipyatkov
0d8d030763 "Add constructor parameters" fix - fixed display of too long signatures 2015-05-27 16:15:51 +03:00
Valentin Kipyatkov
04bee4dd7d Fixing issues after code review 2015-05-27 16:15:51 +03:00
Valentin Kipyatkov
17f0ac9ba7 Don't use plain text generation 2015-05-27 16:15:51 +03:00
Valentin Kipyatkov
5df840d9e3 Getting default value from overriding method 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
a7580d95e5 Accessing of default parameter value in compiled code via source (if found) 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
281acb860e Loading of annotation class arguments from compiled classes 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
b256329287 Added "ReplaceWith" to deprecated library functions 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
ec5256a0f0 DeprecatedCallableAddReplaceWithIntention 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
ba3d5f944e DeprecatedSymbolUsageFix: optimization to not search descriptors to import twice 2015-05-27 16:15:50 +03:00
Valentin Kipyatkov
ee681cbeed DeprecatedSymbolUsageFix: renamed local 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
e767cdef83 DeprecatedSymbolUsageFix: fixed nested calls with implicit receivers in the pattern 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
4407523b65 DeprecatedSymbolUsageFix: more correct code + refactoring 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
a9e00a3264 DeprecatedSymbolUsageFix: can drop more arguments when function literal argument exist 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
2e2701aa61 DeprecatedSymbolUsageFix: keeping named arguments 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
0c397548e8 createByPattern fix (after we changed way how JetPsiFactory.createArgument works 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
6b66e3b0e6 JetPsiFactory: refactored method for creating argument + introduced ability to create arbitrary constructs by pattern 2015-05-27 16:15:49 +03:00
Valentin Kipyatkov
161630a449 DeprecatedSymbolUsageFix: keeping functional literal arguments out of parenthesis 2015-05-27 16:15:48 +03:00
Valentin Kipyatkov
36f41c6d13 Minor code simplification 2015-05-27 16:15:48 +03:00
Valentin Kipyatkov
be9a3d10f6 DeprecatedSymbolUsageFix: fixed bug with symbols from root package not imported 2015-05-27 16:15:48 +03:00
Valentin Kipyatkov
97d3620262 DeprecatedSymbolUsageFix: dealing with vararg's 2015-05-27 16:15:48 +03:00
Valentin Kipyatkov
f8a4d9bf0b Moved test data into subfolders 2015-05-27 16:15:48 +03:00
Valentin Kipyatkov
6ddb208bb7 Removed default values from inline functions to workaround compiler's bug 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
f58ce760ca DeprecatedSymbolUsageFix: support for optional parameters (not complete) 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
766ca2b905 Deprecated symbol usages fix for the whole project 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
78302be571 Minor code clarification 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
5c445ca003 DeprecatedSymbolUsageFix: dealing with dropping arguments with potential side effects + stdlib's "let" has no receiver type bound 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
08cfca56f8 DeprecatedSymbolUsageFix - dealing with infix and operator calls 2015-05-27 16:15:47 +03:00
Valentin Kipyatkov
33caa7ad36 Moved utility method 2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
a6f76bbf76 Fixed keywords after 'this@' completion + fixed implementation of JetExpressionWithLabel.getLabelName() 2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
2a5ca095ee DeprecatedSymbolUsageFix - correct dealing with implicit receivers + fixed KT-7776 in completion
#KT-7776 Fixed
2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
5da192ddd4 DeprecatedSymbolUsageFix - fixed bug with usage in derived class 2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
450168d6c7 DeprecatedSymbolUsageFix - code refactoring 2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
a773542d47 DeprecatedSymbolUsageFix - handling of complex expressions used twice 2015-05-27 16:15:46 +03:00
Valentin Kipyatkov
4999958ca4 DeprecatedSymbolUsageFix - other way of safe call treatment - prepare to handle arguments with side effects 2015-05-27 16:15:45 +03:00
Valentin Kipyatkov
348d09866a DeprecatedSymbolUsageFix: more correct generation of "let" for safe call 2015-05-27 16:15:45 +03:00
Valentin Kipyatkov
df850d7035 DeprecatedSymbolUsageFix: initial implementation 2015-05-27 16:15:45 +03:00
Valentin Kipyatkov
0a886320ca JetWholeProjectForEachElementOfTypeFix - not too much duplicating string arguments 2015-05-27 16:15:45 +03:00
Valentin Kipyatkov
7d8a92aeb7 More correct code in class completion insert handler 2015-05-27 16:15:45 +03:00
Valentin Kipyatkov
d7c64d44b6 Better implementation of "Move lambda outside parenthesis" 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov
3bca1d1f83 "Move lambda outside parenthesis" should not be available when not valid 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov
25e323e960 Methods for editing in JetValueArgumentList 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov
1e60c24134 Added ResolutionFacada.resolveImportReference and used it (but not all places replaced yet!!) 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov
5a737b8973 Correctness check in JetPsiFactory.createExpression 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov
0dc92c3ee8 QuickFixMultiFileTestGenerated - shorter test data files names 2015-05-27 16:15:44 +03:00
Yan Zhulanow
2a7b5501f4 Do not generate annotations.txt file if kapt is not used in project 2015-05-27 16:11:08 +03:00
Yan Zhulanow
33ba9e85c0 Close kapt writer only once 2015-05-27 16:11:07 +03:00
Yan Zhulanow
42ba2860a6 Gradle: Do not save javaTask extract property 2015-05-27 16:11:07 +03:00
Yan Zhulanow
b254825427 kapt: fix several annotation processors in AP wrapper 2015-05-27 16:11:06 +03:00
Yan Zhulanow
28a3865997 Cache writer instance in kapt 2015-05-27 16:11:05 +03:00
Yan Zhulanow
c2dd7d197e APT: Use task qualifiers in annotation file names 2015-05-27 16:11:05 +03:00
Yan Zhulanow
cbe435ccef APT: Remove stub Java file after Java compile step 2015-05-27 16:11:04 +03:00
Yan Zhulanow
0a450c1739 Fix compatibility issues with Android Gradle plugin 1.2 2015-05-27 16:11:03 +03:00
Evgeny Gerashchenko
88021ffc73 KT-7381 Receiver parameter is never used for native extension function
#KT-7381 fixed
2015-05-27 16:07:09 +03:00
Evgeny Gerashchenko
2a23bc79f3 KT-7256 False "Receiver parameter not used" for property with delegation
#KT-7256 fixed
2015-05-27 16:07:09 +03:00
Sergey Mashkov
6e444baedb Indexer advance() should check previousTokens size before look inside
fixes IndexOutOfBounds during indexing
2015-05-27 15:32:00 +03:00
Dmitry Jemerov
1188e57597 rename @overloads annotation to @jvmOverloads 2015-05-27 12:23:08 +02:00
Natalia Ukhorskaya
5c7d13e23c JetPositionManager: do not analyze breakpoints in files outside source roots 2015-05-27 11:17:48 +03:00
Natalia Ukhorskaya
2d509b3211 Write correct lineNumbers for properties with comments 2015-05-27 11:17:46 +03:00
Natalia Ukhorskaya
ffb7027680 JetPositionManager: fix finding psi file by source name 2015-05-27 11:17:44 +03:00
Natalia Ukhorskaya
c77d448832 Fix EA-68813: readAccess in JetPositionManager 2015-05-27 10:20:10 +03:00
Natalia Ukhorskaya
0fbcfddf4a Gradle: debug message prefix added 2015-05-27 10:20:09 +03:00
Denis Zharkov
cab2328b64 Do not insert type parameters when replacing javaClass with T::class
Type parameters are invalid for class literal unless class is `Array`
2015-05-27 08:24:57 +03:00
Denis Zharkov
eb80764d21 Introduce forceResolveLazyTypes into TypeResolutionContext
The main reason is to force type resolution when resolving
type arguments in class literal as annotation value argument:

@Ann(Array<String>::class) class Ann

`String` left unresolved unless this commit is applied.

Note, that currently forced calculations used only when bare types are allowed
as it's true for class literals resolution and currenlty it's enough.
2015-05-27 08:24:42 +03:00
Alexander Udalov
f9556e584d Minor, suppress code conformance test for generated sources 2015-05-27 01:44:19 +03:00
Alexander Udalov
6ae7ed1cc4 Add some new tests on functions and extension functions 2015-05-27 01:44:19 +03:00
Alexander Udalov
fae2d0231c Fix test data, restore incorrectly deleted import
It was mistakenly deleted in 738a84e and 48b18f1
2015-05-27 01:44:18 +03:00
Ilya Gorbunov
9c5844cf45 Restore mapping between PsiFiles and VirtualFiles, otherwise built-ins psi elements will become invalid in next test. 2015-05-27 00:58:46 +03:00
Ilya Gorbunov
84ca26719d Deprecate meaningless or vague-defined operations with Char operands.
Change expected test output.
2015-05-27 00:58:35 +03:00
Ilya Gorbunov
c6abf75856 Do not generate primitive type definition for Char, place it in a file beside. 2015-05-27 00:58:24 +03:00
Ilya Gorbunov
5f319e69d8 Restore String.split(String, Int) overload and make it deprecated. 2015-05-27 00:36:30 +03:00
Ilya Gorbunov
1566ea83c7 Rename conflicting repeat function with the same behavior from js tests. 2015-05-26 23:23:39 +03:00
Ilya Gorbunov
310666a617 Deprecate times method taking integer and function. Provide top-level repeat method instead.
#KT-7074 Fixed.
2015-05-26 23:23:37 +03:00
Ilya Gorbunov
45c82f2844 map(): Take into account size of collection being transformed when allocating ArrayList.
#KT-7832 Fixed.
2015-05-26 23:23:36 +03:00
Ilya Gorbunov
c9afb407f1 Provide isNotEmpty() extension function for Maps. 2015-05-26 23:23:34 +03:00
Ilya Gorbunov
01a0348685 Remove deprecated size property usage from generated code. 2015-05-26 23:23:32 +03:00
Alexey Sedunov
58ef7f2691 Extraction Engine: Suggest both bounds for nullability-flexible types without nullability annotations. Do not omit return type if inferred one is flexible
#KT-6837 Fixed
2015-05-26 22:42:46 +03:00
Alexey Sedunov
72205540d6 Extract Function: Show possible types for receiver in Extract Function/Introduce Lambda Parameter dialogs
#KT-7578 Fixed
2015-05-26 22:42:43 +03:00
Alexey Sedunov
cb9b1019b2 Function <-> Property Intention: Fix conversion of recursive functions/property accessors
#KT-7823 Fixed
2015-05-26 19:29:09 +03:00
Alexey Sedunov
5afc6235cc Move: Do not update package directives in files that don't belong to source root
#KT-7824 Fixed
2015-05-26 19:29:08 +03:00
Alexey Sedunov
6a1ae8b911 Minor: Code cleanup 2015-05-26 19:29:07 +03:00
Alexey Sedunov
cc351e55b0 Create from usage: Use type predicates provided by control-flow analysis to suggest more precise types
#KT-7742 Fixed
2015-05-26 19:29:06 +03:00
Alexey Sedunov
c757701a87 Refactoring: Extract function getContainingPseudocode() 2015-05-26 19:29:05 +03:00
Alexey Sedunov
b6ea2d4fd4 Control-Flow: Compute type predicates for arguments of unresolved calls 2015-05-26 19:29:04 +03:00
Alexey Sedunov
036e2c585b Refactoring: Introduce getReferenceTargets() function 2015-05-26 19:28:11 +03:00
Alexey Sedunov
640f07969a Refactoring: Extract createUnresolvedCall() functions 2015-05-26 19:28:10 +03:00
Alexey Sedunov
3d3b5591e1 Control-Flow: Improve debug text of ReadValueInstruction 2015-05-26 19:28:09 +03:00
Alexey Sedunov
868329e3cb Control-Flow: Fix pseudocode generation for combined get/set and invoke conventions
#KT-4462 Fixed
 #KT-4681 Fixed
2015-05-26 19:28:07 +03:00
Alexander Udalov
fa29e75add Minor, move top level function to companion object
Package 'org.jetbrains.kotlin.idea.quickfix' already contains top level
functions in module 'idea-analysis' and top level functions in another module
cause compilation errors because of package facade class clash
2015-05-26 18:52:48 +03:00
Alexander Udalov
48b18f18d3 Restore explicit imports of Kotlin function types in Java
This is a follow-up to 738a84e259 and
d4965a4f3e. Optimize imports in all files
affected in those commits, drop temporary _.kt
2015-05-26 18:46:27 +03:00
Dmitry Jemerov
58e4ff0502 Add quickfixes for unnecessary casts and nullability operations to cleanup inspection. Rewrite two quickfixes from Java to Kotlin. Add inspection description. Use marker interface for identifying quickfixes applicable for code cleanup. 2015-05-26 14:41:23 +02:00
Dmitry Jemerov
e2dbfebf32 add more quickfixes to cleanup action 2015-05-26 14:41:21 +02:00
Dmitry Jemerov
6e7ea662c8 "Code Cleanup" action to migrate all instances of deprecated syntax to new one 2015-05-26 14:41:21 +02:00
Mikhail Glukhikh
4570872bfd Postfix expression code generation fixed as per KT-7561.
A set of tests for KT-7561 on codegen side, including exotic inc() functions().
 #KT-7561 Fixed.
2015-05-26 15:20:37 +03:00
Mikhail Glukhikh
5723c2a077 Front-end fix: result type corrected for increment / decrement expressions. Smart cast allowed on a postfix increment result. See KT-7561.
Now result type is receiver type for postfix increment, or increment result type for prefix increment.
A set of relevant tests.
2015-05-26 15:20:25 +03:00
Alexander Udalov
ea6d0b464d Report error when free function is called as extension 2015-05-26 15:05:04 +03:00
Svetlana Isakova
14c2690447 Distinguish between no declared arguments and an empty argument list
in a function literal
If there are no arguments, any number of them might be expected
2015-05-26 15:05:03 +03:00
Svetlana Isakova
d9568ef88c Added special type constructor for function/ extension function
that stores an information about declared argument types
2015-05-26 15:05:02 +03:00
Alexander Udalov
79ee91c048 Download and build intellij-markdown when ABI version changes 2015-05-26 15:05:02 +03:00
Alexander Udalov
9ba6d91e2e Prepare JVM runtime for support of reflection on functions
Introduce abstract class FunctionReference, which is supposed to be a
superclass for all anonymous classes generated for function references. Each
anonymous subclass will have statically-generated symbol info, which will be
used by reflection to locate the symbol
2015-05-26 15:05:01 +03:00
Alexander Udalov
9aeae7ddc6 Extract FunctionReferenceGenerationStrategy to top level 2015-05-26 15:05:00 +03:00
Alexander Udalov
d0bb06dbb0 Rename helper method in KotlinDebuggerTestBase
Now that functions and extension functions conform to each other, this method
began to conflict with the synthesized SAM-adapter from the super class (which
also can't be overridden by design)
2015-05-26 15:05:00 +03:00
Alexander Udalov
4d00077ffb Delete assertion on receiver presence in 'invoke'
#KT-6541 Fixed
 #KT-7383 Fixed
2015-05-26 15:04:59 +03:00
Alexander Udalov
34c6af0039 Advance stub and JVM ABI versions due to function type reform 2015-05-26 15:04:58 +03:00
Alexander Udalov
7f0b5029eb Refactor KotlinBuiltIns#isFunctionType/isExtensionFunctionType 2015-05-26 15:04:58 +03:00
Alexander Udalov
6a0a703539 Delete numbered ExtensionFunction classes and generation logic 2015-05-26 15:04:57 +03:00
Alexander Udalov
2186ce5e8d Degrade CFG test on values of extension function type
Apparently type annotations ('kotlin.extension' in particular) are lost
somewhere in control-flow values processor at the moment, so types may not be
as precise as they were when functions and extension functions had different
classifiers.

This test presumably only affects IDE functionality like 'Extract Method' in a
way that it will suggest a slightly incorrect function type for the parameter
of an extracted method. An issue is to be reported and fixed later upon demand
2015-05-26 15:04:56 +03:00
Alexander Udalov
49004a8b8e Conform functions to extension functions and vice versa
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Alexander Udalov
b08bd3bc67 Update FunctionImpl hack in Evaluate Expression and test data
Lambdas now have an additional superclass besides FunctionImpl: Lambda, which
should also be changed to inherit from MagicAccessorImpl
2015-05-26 15:04:55 +03:00
Alexander Udalov
4141e0a8df Introduce fictitious numbered Function class descriptors 2015-05-26 15:04:54 +03:00
Alexander Udalov
27ed098467 Introduce kotlin.jvm.internal.Lambda, superclass for all lambdas
It has its arity precomputed, as opposed to the future KFunctionImpl inheriting
from FunctionImpl, for which the computation of arity can take some time and so
it shouldn't be passed in the constructor and saved as a field
2015-05-26 15:04:54 +03:00
Alexander Udalov
86ecb423f6 Drop generic parameters from FunctionImpl classes in JVM runtime
They are not used in any way but cause some complex code in JVM back-end
2015-05-26 15:04:53 +03:00
Alexander Udalov
135ee92966 Minor, don't pass constants as parameters 2015-05-26 15:04:52 +03:00
Alexander Udalov
d4965a4f3e Add temporary imports for disambiguation 2015-05-26 15:04:52 +03:00
Alexander Udalov
738a84e259 Temporary hack to migrate functions to package kotlin.jvm.functions
Add a file in package 'kotlin.jvm.functions' to the project and replace
explicit imports of functions 'kotlin.Function{n}' to two imports 'kotlin.*'
and 'kotlin.jvm.functions.*', so that the codebase can be compiled both by the
old and by the new compiler
2015-05-26 15:04:34 +03:00
Alexander Udalov
7baa7a72e2 Avoid extension functions in Java-facing code in project
This is to workaround the coming functions / extension functions global
refactoring and move
2015-05-26 14:27:42 +03:00
Alexander Udalov
b574c1d205 Move 23 function classes to package kotlin.jvm.functions, drop KFunction* 2015-05-26 14:27:41 +03:00
Alexander Udalov
f6178ad7dd Introduce Function, KFunction interfaces and 'extension' annotation 2015-05-26 14:27:40 +03:00
Alexander Udalov
90097d7e8b Move callable reference diagnostic tests to non-stdlib 2015-05-26 14:27:40 +03:00
Alexander Udalov
51684b3fe1 Drop "Reflection types not loaded" diagnostic
Reflection types are now considered to be built-in, so their absence means the
runtime is broken and the compiler can't work at all; this condition probably
should be handled on another level for all built-in types
2015-05-26 14:27:39 +03:00
Alexander Udalov
45c28abfee Keep built-in metadata for reflection interfaces
Reflection interfaces (interfaces in kotlin.reflect.* in core/builtins/) are
now fully considered as built-ins and can be accessed via KotlinBuiltIns. This
increases runtime size by ~20kb, but only because KotlinBuiltIns is static and
is therefore constructed only via resource loading from the compiler classpath
at the moment. As soon as it's possible to inject KotlinBuiltIns to the
particular resolution process, the metadata on JVM will be loaded via standard
annotation mechanism (kotlin.jvm.internal.KotlinClass/KotlinPackage) and wasted
runtime space will be reclaimed
2015-05-26 14:27:38 +03:00
Michael Nedzelsky
0879860074 AbstractQuickFixTest: fix possible test failure for tests with js-runtime 2015-05-26 12:56:25 +03:00
Michael Nedzelsky
f56bb4e9f4 add dependency on idea-js for idea and fix AbstractQuickFixTest 2015-05-26 05:05:08 +03:00
Michael Nedzelsky
533e4ac812 add dependency on idea-js to idea-test-framework and fix testUtils 2015-05-26 05:05:05 +03:00
Michael Nedzelsky
9f3154e6c0 add dependency on idea-js for idea-completion and fix AbstractJSBasicCompletionTest 2015-05-26 05:05:03 +03:00
Michael Nedzelsky
b558fd4181 add KotlinJavaScriptDecompiledTextConsistencyTest 2015-05-26 05:05:00 +03:00
Michael Nedzelsky
7978e0895e add KotlinJavaScriptStubConsistencyTest 2015-05-26 05:04:57 +03:00
Michael Nedzelsky
4a83de7ef3 tests: extract closeAndDeleteProject, move to testUtils 2015-05-26 05:04:54 +03:00
Michael Nedzelsky
1f744272f2 JS: add decompiled text generated tests 2015-05-26 05:04:52 +03:00
Michael Nedzelsky
c362db7330 tests for decompiled texts: AssertionError -> RuntimeException 2015-05-26 05:04:49 +03:00
Michael Nedzelsky
a0dc22b464 add TARGET_BACKEND: JVM to some decompiled tests 2015-05-26 05:04:44 +03:00
Michael Nedzelsky
79b81d846e fix and improve check for TARGET_BACKEND for generated tests 2015-05-26 05:04:41 +03:00
Michael Nedzelsky
f48a8d206a JdkAndMockLibraryProjectDescriptor: support for Kotlin/Javascript library 2015-05-26 05:04:39 +03:00
Michael Nedzelsky
fc916b22f8 MockLibraryUtil: add support for compile to js 2015-05-26 05:04:36 +03:00
Michael Nedzelsky
69c3f7b69a AllClassesCompletion: remove unnecessary code 2015-05-26 05:04:33 +03:00
Michael Nedzelsky
ac01dd6996 JsAnalyzerFacade: use only metadata from library modules 2015-05-26 05:04:30 +03:00
Michael Nedzelsky
484a73c17e JsHeaderLibraryDetectionUtil -> KotlinJavaScriptLibraryDetectionUtil
JsHeaderLibraryPresentationProvider -> KotlinJavaScriptLibraryPresentationProvider
2015-05-26 05:04:28 +03:00
Michael Nedzelsky
ebcc29b907 PluginDeclarationProviderFactoryService: remove special treatment for Kotlin/Javascript projects 2015-05-26 05:04:25 +03:00
Michael Nedzelsky
23da4f0897 JS: KotlinJavascriptMetaFileDecompiler -> KotlinJavaScriptMetaFileDecompiler 2015-05-26 05:04:23 +03:00
Michael Nedzelsky
a0579ebedd add KotlinJavaScriptStubBuilder 2015-05-26 05:04:20 +03:00
Michael Nedzelsky
ea9d7ed49a DecompiledTextFactory: new implementation of buildDecompiledTextFromJsMetadata 2015-05-26 05:04:17 +03:00
Michael Nedzelsky
18afa8f2d5 add KotlinJavaScriptDeserializeForDecompiler 2015-05-26 05:04:15 +03:00
Michael Nedzelsky
f1a0d86f87 JsMetaFileUtils: add some useful code, remove unnecessary parts 2015-05-26 05:04:12 +03:00
Michael Nedzelsky
4f26c7fe42 DecompiledNavigationUtils, JetSourceNavigationHelper: fix support for Kotlin/Javascript projects
DecompiledUtils: add isKotlinJavaScriptInternalCompiledFile
DecompiledUtils: add isKotlinJsMetaFile
DecompiledNavigationUtils: use isKotlinJvmCompiledFile, isKotlinJsMetaFile
DecompiledNavigationUtils: isFromKotlinJavascript -> isFromKotlinJavasriptMetadata
2015-05-26 05:04:09 +03:00
Michael Nedzelsky
f92d112564 DirectoryBasedClassFinder: add DirectoryBasedKotlinJavaScriptMetaFileFinder and DirectoryBasedKotlinJavaScriptDataFinder 2015-05-26 05:04:06 +03:00
Michael Nedzelsky
7a01ba7d7a JS: add jsProtoBufUtil 2015-05-26 05:04:04 +03:00
Michael Nedzelsky
c4c8f3c3ea convert IDEVirtualFileFinder to kotlin 2015-05-26 05:04:01 +03:00
Michael Nedzelsky
6e371e61a9 change extension: IDEVirtualFileFinder.java -> IDEVirtualFileFinder.kt 2015-05-26 05:03:57 +03:00
Michael Nedzelsky
d4f348edd5 VirtualFileFinder: regenerate injectors 2015-05-26 05:03:54 +03:00
Michael Nedzelsky
618a8622a1 VirtualFileFinderFactory: introduce JvmVirtualFileFinderFactory, JsVirtualFileFinderFactory 2015-05-26 05:03:51 +03:00
Michael Nedzelsky
de35434800 KotlinUpdatePluginComponent: update indices for Kotlin Javascript metafiles. 2015-05-26 05:03:48 +03:00
Michael Nedzelsky
3d641b17b4 add KotlinJavaScriptMetaFileIndex: support indexing for Kotlin Javascript meta files 2015-05-26 05:03:45 +03:00
Michael Nedzelsky
48e7c8cd60 convert KotlinClassFileIndex to kotlin 2015-05-26 05:03:42 +03:00
Michael Nedzelsky
38674dd3a1 convert KotlinClassFileIndex to kotlin: change extension: KotlinClassFileIndex.java -> KotlinClassFileIndex.kt 2015-05-26 05:03:40 +03:00
Michael Nedzelsky
85e84b8aef IDELightClassGenerationSupport: do not try to create stub for non java-class files 2015-05-26 05:03:37 +03:00
Michael Nedzelsky
0815eab3a5 add KotlinJavaScriptMetaFileType 2015-05-26 05:03:34 +03:00
Michael Nedzelsky
0a6c6e35b5 JS: JpsJsModuleUtils: do not include urls with kotlin-js-meta protocol 2015-05-26 05:03:31 +03:00
Michael Nedzelsky
4a05005fa7 JS: do not include sources in kotlin-jslib.jar 2015-05-26 05:03:28 +03:00
Michael Nedzelsky
044497fab6 JS: add idea-js module: KotlinJavaScriptLibraryManager and KotlinJavaScriptLibraryContentsTreeStructureProvider 2015-05-26 05:03:25 +03:00
Michael Nedzelsky
06af6bbd82 JS: KotlinJavascriptSerializationUtil, KotlinJavascriptSerializedResourcePaths: add some useful functions 2015-05-26 05:03:14 +03:00
Ilya Gorbunov
1cf4a407d1 JS: Provide MIN_VALUE and MAX_VALUE member constants for Double and Float companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Double and Float companion objects.
2015-05-26 00:26:19 +03:00
Alexey Tsvetkov
bd934bc3c4 Minor in JS: fixed typo in file name (abstarct->abstract) 2015-05-25 20:20:26 +03:00
Alexey Tsvetkov
fc1a1f742b JS test: added multi-module inline tests 2015-05-25 20:20:25 +03:00
Alexey Tsvetkov
115798f584 JS test: check directives in MultipleModulesTranslationTest 2015-05-25 20:20:25 +03:00
Alexey Tsvetkov
f214c4eac7 JS test: use common dependencies.txt for MultipleModulesTranslationTest 2015-05-25 20:20:25 +03:00
Alexey Tsvetkov
08df655dcc JS: simplify load metadata 2015-05-25 20:20:25 +03:00
Alexey Tsvetkov
b2238c0ebf JS: search inline function in .js file corresponding to module's
.meta.js
2015-05-25 20:20:25 +03:00
Evgeny Gerashchenko
0488229a61 KT-7693 Unused constructor parameter is not detected if class is constructed with named argument
#KT-7693 fixed
2015-05-25 18:33:08 +03:00
Mikhail Glukhikh
3c7225e83a An implementation of KT-7753: now enum constructors cannot be called explicitly.
Several tests are provided.
 #KT-7753 Fixed.
2015-05-25 17:27:31 +03:00
Michael Bogdanov
8cf21f24cd Fix for KT-7792: Invalid class file generation: java.lang.ClassFormatError: Invalid length 65522 in LocalVariableTable in class file
#KT-7792 Fixed
2015-05-25 17:06:18 +03:00
Natalia Ukhorskaya
37c47ac980 Show notification for "Non configured Kotlin Project" only after indexing 2015-05-25 16:19:05 +03:00
Natalia Ukhorskaya
a47a27565b JetPositionManager: do not calculate class name during indexing 2015-05-25 16:19:04 +03:00
Natalia Ukhorskaya
1cfed000c4 Fix exception during step into inline function in library 2015-05-25 16:19:03 +03:00
Natalia Ukhorskaya
2538ebe407 Tests: add ability to write custom stepping tests 2015-05-25 16:19:02 +03:00
Natalia Ukhorskaya
403ca00a63 Fix exception: for inline functions in stdlib we calculate classname by declaration 2015-05-25 16:19:01 +03:00
Natalia Ukhorskaya
5d9daf3890 Refactor stepping tests 2015-05-25 16:19:00 +03:00
Natalia Ukhorskaya
cf163181f1 Minor: report exception with stackTrace 2015-05-25 16:18:58 +03:00
Sergey Mashkov
fe26bd22f0 JS stubs: add URL specification 2015-05-25 14:55:47 +03:00
Mikhail Glukhikh
f4977a1108 Reorganization of when checking: exhaustion predicates clarified, analysis on platform enum warnings was moved to frontend.java 2015-05-25 14:23:57 +03:00
Pavel V. Talanov
e4c242e66b Remove direct usages of ModuleDescriptor#getPackageFragmentProvider() 2015-05-25 13:00:16 +03:00
Pavel V. Talanov
23dabf595a J2k for PackageViewDescriptorImpl: prettify 2015-05-25 13:00:15 +03:00
Pavel V. Talanov
3bca284e1b J2k for PackageViewDescriptorImpl: autoconvert 2015-05-25 13:00:15 +03:00
Pavel V. Talanov
5ff4765e3d J2k for PackageViewDescriptorImpl: rename file 2015-05-25 13:00:14 +03:00
Sergey Mashkov
07a3233569 JS stubs: add CSSOM view specification and GEOMETRY spec 2015-05-25 12:36:42 +03:00
Ilya Gorbunov
4fd1b46e91 Refactor JS tests: unified package name, test JS specific map implementations only in JS.
Add required files to build StdLibTestToJSTest.
Remove tests StdLibMapJsTest and StdLibSetJsTest because they are tested elsewhere.
2015-05-24 05:07:01 +03:00
Ilya Gorbunov
c95ba4da8e Tests for specialized primitive implementations of sets and maps in JS. 2015-05-24 05:06:51 +03:00
Ilya Gorbunov
4d3855a8fb Implement missing members for sets, maps and entry of map.
hashCode and toString for PrimitiveHashMap, hashCode for PrimitiveHashSet.
2015-05-24 05:06:24 +03:00
Ilya Gorbunov
df6d4dc73f Implement some of missing AbstractList methods.
Make ListIterator to implement kotlin.ListIterator interface.
Add TODOs and UnsupportedOperationExceptions for members left to implement.
2015-05-24 05:04:06 +03:00
Ilya Gorbunov
e31cb19a2c Expected output of test changed after introducing new overload of listOf. 2015-05-24 05:03:56 +03:00
Ilya Gorbunov
ebe578dbc5 Tests to ensure the behavior of the specialized empty List, Set, Map implementations is same as of non-specialized ones. 2015-05-24 05:03:46 +03:00
Ilya Gorbunov
edc471c8ec Optimize the implementation of emptyList, emptySet and emptyMap and make them serializable.
Specialized implementations of singleton List, Set and Map are used in JVM.

#KT-6682 Fixed
#KT-7104 Fixed
#KT-4840 Fixed
2015-05-24 05:03:36 +03:00
Alexey Sedunov
b7277cd80c Find Usages: Use isEquivalentTo() instead of identity equality when matching references with PsiCompiledElement 2015-05-22 20:51:28 +03:00
Alexey Sedunov
b2201026d1 Java Resolver: Substitute original element when resolving PsiMethod to FunctionDescriptor
#KT-7353 Fixed
2015-05-22 20:51:25 +03:00
Mikhail Glukhikh
babb7e58bc Implementation of KT-6399: platform types under when are now counted as not nullable but warning is generated. #KT-6399 Fixed.
A set of tests. Warning about Java enum nullable argument under when in particular situations.
2015-05-22 18:38:30 +03:00
Ilya Gorbunov
0efaedd32c Rename files to avoid having identically named files in the same package, which sometimes may confuse debugger. 2015-05-22 18:08:28 +03:00
Evgeny Gerashchenko
a5da64bd4f Don't ask user to choose method for renaming parameter when it is changed in overridden function. 2015-05-22 17:18:09 +03:00
Evgeny Gerashchenko
24c533df32 KT-6285 Rename refactoring doesn't rename named arguments when rename function parameters or private val/var constructor parameters
Just added test. Works automatically since rename parameter now delegates to change signature.

 #KT-6285 fixed
2015-05-22 17:18:08 +03:00
Evgeny Gerashchenko
2568fc92cb Supported Kotlin in Java's automatic parameter renamer. 2015-05-22 17:18:07 +03:00
Evgeny Gerashchenko
1e46469bb1 Automatic renaming parameter in hierarchy. 2015-05-22 17:18:06 +03:00
Ilya Gorbunov
33f5158170 Fix deprecated replaceAll and replaceFirst usages in stdlib tests and tools. 2015-05-22 16:13:55 +03:00
Ilya Gorbunov
79a5e0607d Fix deprecated replaceAll and replaceFirst usages. 2015-05-22 16:13:53 +03:00
Ilya Gorbunov
36fb5b3c49 Use platform independent way to split output to lines. 2015-05-22 16:12:07 +03:00
Evgeny Gerashchenko
9b28609d57 Optimized matchesTarget for "(" references 2015-05-22 14:33:11 +03:00
Evgeny Gerashchenko
e50de5d94d KT-7730 Find Usages causes 100% CPU usage, UI blocked, never returned
KT-7623 Renaming val constructor parameter of a data class is very slow

 #KT-7730 fixed
 #KT-7730 fixed
2015-05-22 14:33:11 +03:00
Mikhail Glukhikh
d8745b3ecb Solution for EA-65195. #EA-65195 Fixed. 2015-05-22 13:38:36 +03:00
Natalia Ukhorskaya
52fe6310a0 Fix breakpoints in inline functions in libraries 2015-05-22 11:05:06 +03:00
Ilya Gorbunov
6516c74a1a Revert back 2nd stage of split semantics change and restore deprecated String.split(String). 2015-05-21 23:13:16 +03:00
Alexey Sedunov
b1f1360081 PSI: Make JetPostfixExpression.getBaseExpression() nullable
#KT-7761 Fixed
2015-05-21 19:29:49 +03:00
Alexey Sedunov
14d1d8e1dc Inspections: Create single diagnostic for inspections based on multiple intentions
#KT-7784 Fixed
2015-05-21 19:29:47 +03:00
Alexey Sedunov
5166cdbc96 Introduce...: Allow semicolon extraction
#KT-7583 Fixed
2015-05-21 19:29:46 +03:00
Alexey Sedunov
64892e7d28 Minor: Fix inconsistent naming of menu items under "Refactor > Extract"
#KT-7609 Fixed
2015-05-21 19:29:44 +03:00
Natalia Ukhorskaya
1b6475c676 LibraryClassFileSearcher: minor, do not search top level functions in package inner classes 2015-05-21 19:17:37 +03:00
Natalia Ukhorskaya
0b91ab141e FieldWatchpoints: UI for adding kotlin field watchpoint 2015-05-21 19:17:36 +03:00
Natalia Ukhorskaya
2b015ae09a Debugger: support field watchpoints for kotlin 2015-05-21 19:17:35 +03:00
Natalia Ukhorskaya
7406627e26 Minor: optimise search in LibraryClassFileSearcher 2015-05-21 19:17:33 +03:00
Natalia Ukhorskaya
95b9c05138 Tests for step out command 2015-05-21 19:17:32 +03:00
Natalia Ukhorskaya
5edc25d2ba Debugger: step into default property getter/setter
#KT-7287 Fixed
2015-05-21 19:17:31 +03:00
Natalia Ukhorskaya
f742188df9 Minor: do not use property in twoLambdasOnOneLineSecond test 2015-05-21 19:17:30 +03:00
Ilya Gorbunov
fb342de451 Ensure stable order is used when rendering list of resolved calls by sorting them with MemberComparator. 2015-05-21 19:07:19 +03:00
Zalim Bashorov
4de3e3c712 Fix SlicedMapImpl#clear 2015-05-21 18:53:57 +03:00
Zalim Bashorov
d8b1856e1c Create SlicedMapImpl#collectiveSliceKeys on demand 2015-05-21 18:53:56 +03:00
Zalim Bashorov
492404bf04 Introduce KeyWithSlice and use it as Key for UserDataHolder in SlicedMap instead of cashing mapping from key to slice(see SlicedMapImpl#keyIdToSlice) 2015-05-21 18:53:56 +03:00
Zalim Bashorov
ecb824386e Optimize memory usage in SlicedMapImpl (used in BindingContext)
In short:
before these changes: Map<SlicedMapKey<slice, key>, value>
after: Map<key, Map<slice, value>> // where for nested Map used lightweight storage UserDataHolder

Before these changes it stored map from SlicedMapKey to value.
Where SlicedMapKey created for each record and store slice and key.
And now it sored map from key to UserDataHolder.
UserDataHolder store map from slice to value.
2015-05-21 18:53:56 +03:00
Zalim Bashorov
c7175e1858 Temporary copy UserDataHolderBase and KeyFMap implementations from intellij/master 2015-05-21 18:53:56 +03:00
Yan Zhulanow
89d3a4b623 Move AnnotationProcessingManager to main kotlin-gradle-plugin 2015-05-21 15:48:30 +03:00
Yan Zhulanow
6de79f46e4 More kotlin-annotation-processing parsing tests 2015-05-21 15:48:29 +03:00
Yan Zhulanow
07214c4f35 Platform-agnostic text compare in kotlin-annotation-processing 2015-05-21 15:48:27 +03:00
Yan Zhulanow
692e396ffd Support constructors in kapt wrapper 2015-05-21 15:48:26 +03:00
Yan Zhulanow
569582fd34 kapt: Add constructor collectToFile test 2015-05-21 15:48:26 +03:00
Yan Zhulanow
62a1f8edf3 Rename kotlinApt/ directories to kapt/ 2015-05-21 15:48:25 +03:00
Yan Zhulanow
c414c598ca Minor: fixes in KotlinAnnotationProvider (APT wrapper) 2015-05-21 15:48:24 +03:00
Yan Zhulanow
d2e256f470 Output annotation processor fqName if the processor can't be initialized 2015-05-21 15:48:24 +03:00
Yan Zhulanow
0363b6b911 Warn if the generated source destination (for APT) was modified 2015-05-21 15:48:23 +03:00
Yan Zhulanow
7a2f3bf1ea Replace all dollar signs in class name with . (temporary workaround) 2015-05-21 15:48:22 +03:00
Yan Zhulanow
b9a9f783e9 Fix annotation collector tests (now using mock JDK) 2015-05-21 15:48:22 +03:00
Yan Zhulanow
921017367a APT: Add more compiler plugin tests 2015-05-21 15:48:21 +03:00
Yan Zhulanow
594988db51 Move kapt compiler plugin classes to BundledCompilerPlugins 2015-05-21 15:48:20 +03:00
Yan Zhulanow
01a097dae7 Annotations file name change: annotations.txt -> annotations.kotlin.txt 2015-05-21 15:48:20 +03:00
Yan Zhulanow
fdc183e3af Apt working dir is now outside the Kotlin classes directory 2015-05-21 15:48:19 +03:00
Yan Zhulanow
d93508f4d3 APT: Support non-Android Java projects in Gradle 2015-05-21 15:48:18 +03:00
Yan Zhulanow
80762f99bb Catch UnknownPropertyException properly 2015-05-21 15:48:17 +03:00
Yan Zhulanow
297f2d0669 Add annotation file parse tests in AP wrapper 2015-05-21 15:48:16 +03:00
Yan Zhulanow
803bfd6097 Add kotlin-annotation-processing dependency automatically in kotlinApt configurations 2015-05-21 15:48:15 +03:00
Yan Zhulanow
964e57a8f8 Add annotation processor wrapper as a Maven artifact 2015-05-21 15:48:14 +03:00
Yan Zhulanow
c6e11949b8 Support Android source sets in annotation processing 2015-05-21 15:48:11 +03:00
Yan Zhulanow
905eb01044 Annotation processor wrapper fqName changed 2015-05-21 15:48:10 +03:00
Yan Zhulanow
3e5b24f2a2 Add output dir for generated sources 2015-05-21 15:48:09 +03:00
Yan Zhulanow
ee8f2bbd75 Generate custom annotation class file 2015-05-21 15:48:09 +03:00
Yan Zhulanow
1dd96a3f23 Move APT-related functions to AnnotationProcessingManager 2015-05-21 15:48:08 +03:00
Yan Zhulanow
d9289df29e Basic annotation collector tests 2015-05-21 15:48:07 +03:00
Yan Zhulanow
f12531dd6d Initial annotation processing support in Gradle 2015-05-21 15:48:07 +03:00
Yan Zhulanow
b2220ca98a Annotation collector compiler plugin 2015-05-21 15:48:06 +03:00
Mikhail Glukhikh
c8aa6defb6 Data flow information is no longer dropped while analyzing object literal expression. #KT-6293 Fixed. #KT-7110 Fixed.
A set of tests for KT-6293 / KT-7110 provided.
2015-05-21 13:03:39 +03:00
Michael Bogdanov
5bca1d3c8f Added dianostic error for non-local return on disabled inlines,
Render bytecode diagnostics in BytecodeToolWindow

  #KT-5584 Fixed
2015-05-21 10:06:03 +03:00
Michael Bogdanov
ef4981b0ef Report error on indirect inline cycles 2015-05-21 10:06:02 +03:00
Michael Bogdanov
a671d684c9 Test for obsolete KT-5199: IllegalArgumentException with non local return in lambda
#KT-5199 Obsolete
2015-05-21 10:06:02 +03:00
Michael Bogdanov
4abaa54d0e Test for obsolete KT-4869: Report error when inline parameter is passed to a function variable
#KT-4869 Obsolete
2015-05-21 10:06:01 +03:00
Michael Bogdanov
319c5aec60 Fix for KT-7557: NoSuchMethodError when capturing receiver in object expression
#KT-7557 Fixed
   #KT-7769 Fixed
2015-05-21 10:06:01 +03:00
Michael Nedzelsky
34100fff99 fix maven tests: NoInternalVisibilityInStdLibTest.kt 2015-05-21 02:46:44 +03:00
Michael Nedzelsky
bfc641caba JS: fix tests for -meta-info 2015-05-21 02:30:57 +03:00
Michael Nedzelsky
d629271510 JS: make -meta-info cli option boolean 2015-05-21 02:30:54 +03:00
Michael Nedzelsky
572ce47c25 add tests for serializaion of nested classes and objects (builtins and js) 2015-05-21 02:30:38 +03:00
Michael Nedzelsky
6b64dcc4ee JvmProtoBuf: reuse one instance of ExtensionRegistryLite 2015-05-21 02:30:35 +03:00
Michael Nedzelsky
ea8234adb9 convert JvmProtoBufUtil.java to kotlin, step 2: convert content 2015-05-21 02:30:32 +03:00
Michael Nedzelsky
2a6cd3dd96 convert JvmProtoBufUtil.java to kotlin, step 1: rename extentsion 2015-05-21 02:30:27 +03:00
Pavel V. Talanov
cfdb1f4ec3 Refactor creation of ModuleDescriptor
Add storageManager to ModuleDescriptorImpl (to be used later)
Extract ModuleParameters to hold default imports and platform class map
Introduce MutableModuleContext to simplify module creation code
2015-05-20 19:45:50 +03:00
Ilya Gorbunov
6a3cb0eff8 Provide distinctBy(keySelector) method for collections and sequences.
Implement distinct() and toMutableSet() for sequences.
Breaking change: distinct() now returns List instead of Set.

#KT-5834 Fixed
#KT-6063 Fixed
2015-05-20 19:28:47 +03:00
Ilya Gorbunov
46d91b2606 Add test for toMap with key selector and value transform. 2015-05-20 19:28:45 +03:00
Ilya Gorbunov
85e637b1e7 Revert toArrayList for primitive arrays back to trivial implementation.
Use newly introduced Int.MAX_VALUE in JS.
Inline mapCapacityForValues function.
Precalculate capacity of linked hash set being created with toMutableSet function.
2015-05-20 19:28:44 +03:00
Danny Thomas
7ce0487b7e Collection performance improvements
Lists

- For arrays, use Arrays.asList, then toArrayList making the list creation an array copy
- For the same reason, use the ArrayList(Collection) constructor
- Replace duplicate code in toList, instead calling toArrayList

Maps/Sets

- Where the size of the source is known, precalculate the capacity, using the formula used by Guava's Maps class
- For toMap where we're unable to get at the private function, use HashSet's formula where the size is known
- Add a toMap that takes a selector and a transform, avoiding a separate step for transforming values
2015-05-20 19:27:44 +03:00
Svetlana Isakova
0e6babc96b Converted IdeRenderers to kotlin 2015-05-20 15:19:31 +02:00
Svetlana Isakova
61df8c55e4 Rename IdeRenderers to kt file 2015-05-20 15:19:31 +02:00
Evgeny Gerashchenko
7dbc08f048 Moved util function to util package. Also to avoid top-level functions in same package of different targets. 2015-05-20 15:48:07 +03:00
Valentin Kipyatkov
ce4fa6b0f1 KT-4774 Hotkey conflict for "select all occurrences" and "convert java file to kotlin file"
Changed shortcut to Ctrl-Alt-Shift-K

 #KT-4774 Fixed
2015-05-20 14:01:58 +03:00
Valentin Kipyatkov
d91ee03e9e KT-7178 Converter from Java drops the result when there is already a file with the same name
#KT-7178 Fixed
2015-05-20 14:01:58 +03:00
Valentin Kipyatkov
0b809453b5 Fixed KT-7682 Conversion from Java to Kotlin - converted file is not added automatically to VCS
#KT-7682 Fixed
2015-05-20 14:01:58 +03:00
Sergey Mashkov
4695aed993 Replace trait with interfaces in JavaScript stubs 2015-05-20 14:01:03 +03:00
Sergey Mashkov
9b24a9b73b Maven: fix test data for project configurator 2015-05-20 13:45:14 +03:00
Sergey Mashkov
f9ab08ed47 Maven: maven configurator shouldn't add resources directory to sources list
#KT-7781 Fixed
2015-05-20 13:45:13 +03:00
Sergey Mashkov
6c59a311fb Maven: Maven IDEA configurator also configures tests for JavaScript 2015-05-20 13:45:13 +03:00
Denis Zharkov
6df805d6f2 Refine diagnostics reported on implicit constructor delegation call
- Do not report anything else if primary's call expected

- Do not repeat EXPLICIT_DELEGATION_CALL_REQUIRED

 #KT-7230 Fixed
2015-05-20 09:24:57 +03:00
Denis Zharkov
87be626848 Add quickfix for deprecated labels syntax 2015-05-20 09:24:57 +03:00
Denis Zharkov
e98b9ea84e Save annotations of lambda on SAM's method
Also add tests checking that annotations on 'invoke' methods of common lambdas are saved properly

 #KT-6932 Fixed
2015-05-20 09:24:57 +03:00
Denis Zharkov
e078eaf15b Resolve annotations on lambda's descriptor
Also add test checking functional expression
2015-05-20 09:24:57 +03:00
Denis Zharkov
fd4946e552 Annotate $default-method with same annotations as original
#KT-6930 Fixed
2015-05-20 09:24:57 +03:00
Denis Zharkov
5b1f3080d3 Add quickfix removing names of function expressions 2015-05-20 09:24:57 +03:00
Denis Zharkov
b650753643 Change formatting of function expressions without names
No spaces between 'fun' and value parameter list
2015-05-20 09:24:56 +03:00
Denis Zharkov
2deb7faf05 Deprecate function expressions with names 2015-05-20 09:24:56 +03:00
Denis Zharkov
aa1548a83b Report obsolete labels syntax deprecation on objects
#KT-7771 Fixed
2015-05-20 09:24:56 +03:00
Denis Zharkov
5297b4974f Adjust descriptor renderer to latest parsing changes
- `constructor` keyword expected in primary constructor with non-empty modifier list
- annotation list should be preceeded by '@'
2015-05-20 09:24:56 +03:00
Denis Zharkov
dd14b36921 Prohibit unescaped annotations on primary constructor of local class 2015-05-20 09:24:56 +03:00
Denis Zharkov
89337ff51e Change deprecation rules for annotations in brackets
Also adjust quickfix for deprecated syntax
2015-05-20 09:24:56 +03:00
Denis Zharkov
e4f54b5d2e Parsing: support '@[ann1 ann2]', '@file:ann' and '@file:[ann]' cases 2015-05-20 09:24:56 +03:00
Denis Zharkov
f6aadec7e2 Minor, rename tests onFile -> onFileObsolete 2015-05-20 09:24:56 +03:00
Denis Zharkov
083966389a Minor, get rid of repeating parsing semantics 2015-05-20 09:24:55 +03:00
Denis Zharkov
1df08cfa6c Minor, drop redundant allowAtAnnotations option
As '@' annotations are allowed everywhere
2015-05-20 09:24:55 +03:00
Denis Zharkov
488464dd3b Minor, extract methods 2015-05-20 09:24:55 +03:00
Denis Zharkov
aa4a20dddc Add missing 'constructor' to testData when it was necessary 2015-05-20 09:24:55 +03:00
Denis Zharkov
a9c1c3edb6 Add quickfix for missing 'constructor' inside primary ctor 2015-05-20 09:24:55 +03:00
Denis Zharkov
a2578d0f46 Minor, move quickfixUtil.kt 2015-05-20 09:24:55 +03:00
Denis Zharkov
46a6cab671 Formatter: no spaces after 'constructor' inside primary ctor 2015-05-20 09:24:55 +03:00
Denis Zharkov
09cae59f0a Report warning on modifier list of primary ctor unless 'constructor' keyword specified 2015-05-20 09:24:54 +03:00
Denis Zharkov
805a811d91 Change parsing rules for primary constructor
- Parse 'constructor' keyword before value arguments
- Allow unescaped annotations
2015-05-20 09:24:54 +03:00
Denis Zharkov
d058a07ce2 Parsing: allow semicolon between declarations 2015-05-20 09:24:54 +03:00
Valentin Kipyatkov
7edff172a2 KT-1273 Unused assignment - should highlight assignment instead of expression
#KT-1273 Fixed
2015-05-19 23:45:59 +03:00
Alexander Udalov
189286efee Support platformStatic members in companion object of enums
#KT-7777 Fixed
2015-05-19 18:47:00 +03:00
Alexander Udalov
e1b367bd65 Delete test case for navigation to 'invoke' of functional type
Classes for functional types will not have any physical source representation
anymore, so navigation to them in the IDE will not be possible
2015-05-19 18:47:00 +03:00
Alexander Udalov
bc2398cf40 JS: disable test on inheritance from function types
This is not yet fully supported but this test is an obstacle for the function
type refactoring

 #KT-7692 Open
2015-05-19 18:46:59 +03:00
Alexander Udalov
7a1b3bfbed JS: serialize/deserialize type annotations similarly to JVM
No new tests added because there are some on extension functions, which soon
will depend on type annotations to be preserved to work correctly
2015-05-19 18:46:58 +03:00
Andrey Breslav
a2b1a86ef5 Rename packages in kotlin-reflect.jar so that they do not duplicate compiler classes 2015-05-19 17:15:02 +03:00
Andrey Breslav
100c1b2787 Proguard instruction extracted to a separate file 2015-05-19 17:15:02 +03:00
Andrey Breslav
f7a9cc6b28 Fix for EA-64905 - assert: TypeUtils.intersect 2015-05-19 17:15:02 +03:00
Mikhail Glukhikh
1389b62fa4 Enum entry delimiters / super constructors: a few remaining warnings removed 2015-05-19 17:07:47 +03:00
Pavel V. Talanov
5b14d5be28 ClsStubBuilder: fix stub builder in case of java types annotated with special annotations 2015-05-19 16:01:40 +03:00
Sergey Mashkov
09e7e0da4d JS: example library to use new library format 2015-05-19 15:51:38 +03:00
Sergey Mashkov
4ef745974e Maven: Fix build for Maven 3.0.5 2015-05-19 15:00:10 +03:00
Mikhail Glukhikh
1edce76d01 Fix for EA-68569 with a test. #EA-68569 Fixed 2015-05-19 13:55:28 +03:00
Nikolay Krasko
0108205367 Minor: log class of element in assert message 2015-05-19 13:04:57 +03:00
Nikolay Krasko
9c507ec9cb Use equality check when looking for java elements in IDE 2015-05-19 13:04:56 +03:00
Nikolay Krasko
edeea5e399 Refactoring: move JavaDescriptorResolver extensions to idea-analysis module 2015-05-19 13:04:55 +03:00
Nikolay Krasko
ea789845aa J2K: LazyTopDownAnalyzer - converter fixes 2015-05-19 13:04:54 +03:00
Nikolay Krasko
6caa1e644d J2K: LazyTopDownAnalyzer - converter 2015-05-19 13:04:54 +03:00
Nikolay Krasko
94386f35e3 J2K: LazyTopDownAnalyzer - rename file 2015-05-19 13:04:53 +03:00
Mikhail Glukhikh
3585c45f70 Fixed a quick fix for enum entry delimiters: situation with following comments. Three new tests. isAvailable(). 2015-05-19 11:22:57 +03:00
Mikhail Glukhikh
6342b98592 Fixed a quick fix for enum entry short super constructor syntax (situation with a preceding comment / annotation). Four extra tests. isAvailable(). 2015-05-19 11:22:34 +03:00
Natalia Ukhorskaya
62e9c31987 Do not step into package facade class if SKIP_SYNTHETIC_METHODS flag is true 2015-05-19 10:39:09 +03:00
Michael Bogdanov
0cb4b8f8d4 Fix outer info generation for scripts 2015-05-19 10:34:34 +03:00
Andrey Breslav
0426291bd7 Test data fixed 2015-05-19 06:26:11 +03:00
Alexey Sedunov
fa03e4e76c Move: Implement "Update package directive" option 2015-05-18 21:18:56 +03:00
Alexey Sedunov
d88e01e770 Convert to Kotlin: KotlinMoveFilesOrDirectoriesHandler.kt 2015-05-18 21:18:55 +03:00
Alexey Sedunov
e854da386d Convert to Kotlin: Rename KotlinMoveFilesOrDirectoriesHandler.java -> .kt 2015-05-18 21:18:54 +03:00
Alexey Sedunov
c34ba01513 Move: Place "Destination directory" panel under "To Package" option. Fix panel title. Add missing mnemonics 2015-05-18 21:18:54 +03:00
Alexey Sedunov
7bc5ec04c7 Move: Suggest deleting file when all declarations are moved 2015-05-18 21:18:53 +03:00
Alexey Sedunov
6c4b895f72 Move: Do not search/process usages if package is not changed 2015-05-18 21:18:52 +03:00
Alexey Sedunov
da6b8b75ea Move File/Change Package: Change package directive prior to processing of internal usages (otherwise some necessary imports are not added) 2015-05-18 21:18:51 +03:00
Alexey Sedunov
1a60995ea9 Move: Forbid refactoring if target file is the same as the original one 2015-05-18 21:18:50 +03:00
Alexey Sedunov
35bdf9c261 Minor: Code cleanup 2015-05-18 21:18:49 +03:00
Alexey Sedunov
38ae9349fc Move: Move entire file if all declarations are selected ("Move to Package" mode) 2015-05-18 21:18:48 +03:00
Alexey Sedunov
7cf7a14d9b Move: Warn about moving to the existing file in "Move to Package" mode 2015-05-18 21:18:47 +03:00
Alexey Sedunov
870c9c4668 Move: Allow the user to choose target file name when moving declarations to package 2015-05-18 21:18:47 +03:00
Alexey Sedunov
2bd21b0f37 Move: Allow moving several files represented by their top-level declarations in the Project View (provided there is only one declaration per file) 2015-05-18 21:18:46 +03:00
Alexey Sedunov
f08438c53c Move: Fix dialog layout (member selection panel should take as much space as possible)
#KT-7696 In Progress
2015-05-18 21:18:45 +03:00
Alexey Sedunov
d88d7a0ac5 Move: Do not use existing file name when moving its top-level declaration(s)
#KT-7697 Fixed
2015-05-18 21:18:44 +03:00
Sergey Mashkov
72238c4d39 Maven: maven annotations is required in compile time in some cases 2015-05-18 19:59:55 +03:00
Mikhail Glukhikh
0d7f649cc2 Implementation of exhaustive whens in control flow analysis.
Now control flow analyzer knows when is exhaustive.
If despite of this all conditions are accidentally false, jump to error is generated.
A set of tests (diagnostic, control flow). #KT-5113 Fixed. #KT-6046 Fixed. #KT-1882 Fixed.
2015-05-18 19:44:29 +03:00
Mikhail Glukhikh
c4aa6d01a9 Exhaustive when on boolean argument. A set of tests.
Compile-time constants are taken into account. #KT-3743 Fixed.
2015-05-18 19:44:22 +03:00
Mikhail Glukhikh
633b252ff5 Unnecessary comment removed 2015-05-18 19:43:02 +03:00
Sergey Mashkov
42662d7349 JS: example project to produce full artifacts set: production+test sources jar, production+test binary jar 2015-05-18 19:36:19 +03:00
Sergey Mashkov
d04ec74217 Maven: use maven-annotations in kotlin-maven-plugin 2015-05-18 19:36:19 +03:00
Sergey Mashkov
35ed682714 Maven: Introduce test-js goal
#KT-7757 Fixed Maven K2JS should be able to build tests too
2015-05-18 19:36:18 +03:00
Sergey Mashkov
b25ae3d7dd JS stdlib-gen shouldn't call outdated codegen 2015-05-18 19:35:48 +03:00
Sergey Mashkov
606ea7bb70 Do not pass non-existing source roots to the compiler
#KT-3679 Fixed Maven build fails when some source directories don't exist
2015-05-18 19:27:35 +03:00
Sergey Mashkov
0578f44fd0 Maven: don't scan target directories for annotations in multimodule project
#KT-7187 Fixed Maven K2JVM compiler scanning for annotations
2015-05-18 19:27:35 +03:00
Andrey Breslav
df6c20efa4 KT-7689 Wrong error message format for type of ... doesn't match to the type of overridden var-property
#KT-7689 Fixed
2015-05-18 19:26:29 +03:00
Mikhail Glukhikh
fdf0ea5546 Enum warnings fixed: deprecated delimiters, short super constructors, both in project and in libraries 2015-05-18 16:08:16 +03:00
Pavel V. Talanov
5c3d8c1616 Update api usages in NoInternalVisibilityInStdLibTest
Broken by 01efbb1502
2015-05-18 16:01:31 +03:00
Michael Bogdanov
58183731f5 Test for obsolete KT-5448: VerifyError with mismatched stack types
#KT-5448 Obsolete
2015-05-18 15:28:58 +03:00
Michael Bogdanov
5cb9671803 Support inlining in scripts and outer expression capturing
#KT-7744 Fixed
2015-05-18 14:47:57 +03:00
Michael Bogdanov
226350b4ba Test data fixed: replace trait with interface 2015-05-18 11:57:39 +03:00
Pavel V. Talanov
119ffd2347 Minor: replace obsolete trait keyword in newly added test 2015-05-17 18:24:50 +03:00
Pavel V. Talanov
268d43d14a Change ModuleContext#module type to ModuleDescriptor instead of ModuleDescriptorImpl 2015-05-17 18:24:50 +03:00
Pavel V. Talanov
01efbb1502 Introduce ModuleContext, ProjectContext and use it some of the APIs 2015-05-17 18:24:49 +03:00
Pavel V. Talanov
9d22a39924 Refactor: TopDownAnalysisParameters -> TopDownAnalysisMode
No longer implements TypeLazinessToken (was unused)
2015-05-17 18:24:49 +03:00
Pavel V. Talanov
d9c70b5927 Drop TopDownAnalysisParameters#isAnalyzingBootstrapLibrary() 2015-05-17 18:24:48 +03:00
Pavel V. Talanov
f9b6c25498 Refactor: TopDownAnalysisParameters doesn't implement GlobalContext 2015-05-17 18:24:47 +03:00
Ilya Gorbunov
f18b9caa8d JS: Provide MIN_VALUE and MAX_VALUE member constants for Int, Long, Short and Byte companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Int, Long, Short and Byte companion objects.
2015-05-17 17:26:25 +03:00
Valentin Kipyatkov
c4b881c458 Fixed test data 2015-05-17 12:32:11 +03:00
Valentin Kipyatkov
617fe9b49d No duplicate "Expecting ')'" when parsing accessor 2015-05-16 17:15:16 +03:00
Valentin Kipyatkov
00fbf41bd8 More correct recovery after '.' in user type 2015-05-16 17:15:15 +03:00
Valentin Kipyatkov
e4cf12f93e Corrected test data to not use obsolete syntax 2015-05-16 17:15:15 +03:00
Valentin Kipyatkov
a05ffafc84 Added a test 2015-05-16 17:15:14 +03:00
Valentin Kipyatkov
c94dc6d5f7 Better parsing of block after missing "->" after "else" in when 2015-05-16 17:15:14 +03:00
Valentin Kipyatkov
56c3f7b7db Minor code corrections on code review 2015-05-16 17:15:13 +03:00
Valentin Kipyatkov
cdf6229fff KT-7486 Auto import inserts qualified name in companion object
#KT-7486 Fixed
2015-05-16 17:15:13 +03:00
Valentin Kipyatkov
60b0236101 Corrected parser: incomplete code should never cause brace disbalance
Fixed KT-7539 fq name inserted when completing nested traits name

 #KT-7539
2015-05-16 17:15:12 +03:00
Valentin Kipyatkov
c8b1dd6425 Minor code refactoring 2015-05-16 17:15:12 +03:00
Valentin Kipyatkov
7641c3cb84 Moved classes into separate files 2015-05-16 17:15:11 +03:00
Valentin Kipyatkov
858adfb2db KT-7731 Completion: replacement of call with no parameters with property by Tab
#KT-7731 Fixed
2015-05-16 17:15:11 +03:00
Valentin Kipyatkov
8ea0441348 KT-7349 Replace keyword "companion" in completion with "companion object" 2015-05-16 17:15:10 +03:00
Valentin Kipyatkov
db40f1ee5a More reliable testing of keyword completion (introduced directive "NOTHING_ELSE" instead of "NUMBER") 2015-05-16 17:15:10 +03:00
Valentin Kipyatkov
5807d03a52 Keyword completion: "reified" keyword is now supported 2015-05-16 17:15:09 +03:00
Valentin Kipyatkov
5ecf33c88e KT-6330 When completion for boolean method/property is finished by typing '!' symbol it should insert selected item with negation
#KT-6330 Fixed
2015-05-16 17:15:09 +03:00
Valentin Kipyatkov
892b2b0f83 KT-7195 Smart completion after "return ": the function itself should get smaller priority + declarations in the same file to have higher priority than default-imported
#KT-7195 Fixed
2015-05-16 17:15:08 +03:00
Valentin Kipyatkov
09f478fc0f Fixed duplication of some generic functions in code completion 2015-05-16 17:15:08 +03:00
Valentin Kipyatkov
ce3492f270 KT-6393 Smart completion of anonymous object inserts type with "!" for type parameter
#KT-6393 Fixed
2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
833d474876 Smart completion when only named argument possible 2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
67cfd9d516 KT-4909 Smart completion does not work for named arguments
KT-7668 Named argument completion does not work after vararg

 #KT-4909 Fixed
 #KT-7668 Fixed
2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
58ac497bd7 KT-5041 Smart completion for last argument lambda outside parenthesis
#KT-5041 Fixed
2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
023c5eabf4 KT-6780 Completion inserts incorrect comma in end of parameter list when lambda parameter exists
#KT-6780 Fixed
2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
a036a6435b Fixed not working item in completion list for infix call 2015-05-16 17:09:51 +03:00
Valentin Kipyatkov
2adf0a3e9a KT-4908 Smart completion does not work for arguments of function with vararg
#KT-4908 Fixed
2015-05-16 17:09:50 +03:00
Valentin Kipyatkov
4c315b6219 KT-7452 Code completion does not honor smart casts for 'this'
#KT-7452 Fixed
2015-05-16 17:09:50 +03:00
Dmitry Jemerov
dc9523016a report 'trait' keyword as deprecated, provide quickfix for replacing with 'interface' 2015-05-15 18:20:39 +02:00
Michael Nedzelsky
3dce96e01c JS: add tests for two libraries and js-file with two modules 2015-05-15 18:50:01 +03:00
Michael Bogdanov
5daf79d2de Tests for obsolete KT-5232: vfy error with default parameter in method of trait
#KT-5232 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov
f1eb68c55a Test for obsolete KT-3579: UsupportedOperationException while trying to compile recursive trait
#KT-3579 Obsolete
2015-05-15 18:06:52 +03:00
Michael Bogdanov
eb8d2d695c Test for non-general case of KT-4174 2015-05-15 18:06:51 +03:00
Michael Bogdanov
576ead2afe Test for obsolete KT-3698: Static fields of primitive types and String must be compile-time constants
#KT-3698 Obsolete
2015-05-15 18:06:51 +03:00
Mikhail Glukhikh
4e1a90ee61 Diagnostics for incorrect enum members order, when enum entry follows enum member. A few diagnostic tests.
Now incorrect enum members order is treated as a warning.
2015-05-15 16:13:46 +03:00
Mikhail Glukhikh
983339e1c9 Detection of semicolon between enum entries together with the correct delimiter quick fix for this case.
Error message reported directly on semicolon.
2015-05-15 16:13:41 +03:00
Mikhail Glukhikh
edd269f5ff Quick fix for enum entry delimiter syntax fix, together with a set of tests.
Possible NPE in getNextSiblingIgnoringWhitespace fixed. Some warnings also removed.
Last comma is replaced by semicolon. Comments are taken into account.
2015-05-15 16:13:39 +03:00
Mikhail Glukhikh
da3d083dc0 Quick fix for enum entry super constructor syntax fix, together with a set of tests 2015-05-15 16:13:36 +03:00
Mikhail Glukhikh
147bca3d22 Enum deprecated syntax detection implemented and integrated into DeclarationsChecker.
A lot of tests was changed to refactor deprecated syntax. Six new tests were added to check deprecated syntax detection.
Diagnostic for "enum entry uses deprecated super constructor": constructor is highlighted
Diagnostic for "enum entry uses deprecated or no delimiter".
One warning removed.
2015-05-15 16:13:34 +03:00
Mikhail Glukhikh
1a312140e9 New enum syntax: Short constructor syntax introduced for entries, optional commas between entries, semicolon after entries. #KT-7605 Fixed.
Grammar changed accordingly.
Semicolons prohibited after an entry except the last one.
Only one initializer is allowed per entry.
EnumReferenceExpression AST node introduced.
Some tests fixed, a pair of new tests written. Kotlin code inside project fixed.
Formatter and intendation tests fixed accordingly.
Stub version is incremented.
2015-05-15 16:13:32 +03:00
Mikhail Glukhikh
67cce57aeb Decompiler & stub builder fixed accordingly with new enum syntax.
Companion object now directly follows enum entries to avoid having them at the middle.
Some decompiler & stub builder tests fixed accordingly.
2015-05-15 16:13:29 +03:00
Mikhail Glukhikh
cf741cb868 Enum parsing changed: first entries, then members. Grammar fixed accordingly.
A set of compiler tests and some plugin tests changed accordingly.
Compiler Kotlin code changed accordingly.
2015-05-15 16:13:27 +03:00
Mikhail Glukhikh
7a4dee44b8 Final decision about enum new syntax (specification) 2015-05-15 16:13:25 +03:00
Andrey Breslav
629513e532 Options for new syntax 2015-05-15 16:13:23 +03:00
Andrey Breslav
457aa24f27 Create enums.md 2015-05-15 16:13:21 +03:00
Nikolay Krasko
6b64ae77f3 Test light classes from sources have priority over decompiled light classes 2015-05-15 15:29:31 +03:00
Nikolay Krasko
04cb2bc66f Update to 141.1010.3 2015-05-15 15:29:30 +03:00
Natalia Ukhorskaya
b6e885ba84 Minor: rename 2015-05-15 13:22:50 +03:00
Natalia Ukhorskaya
b9a45172c8 refactoring: do not create dialog in ChangeSignatureTests 2015-05-15 13:09:17 +03:00
Ilya Gorbunov
1fc5c39c22 Remove overload of joinToString with 5 parameters and it's usage from java code. 2015-05-15 03:02:48 +03:00
Ilya Gorbunov
7ffc1e13d9 Char.isLetter and Char.isLetterOrDigit (JVM). 2015-05-15 03:02:33 +03:00
Ilya Gorbunov
7721efad8a Restore isNotEmpty and isNotBlank methods for non-nullable String receiver.
#KT-7234 Fixed
2015-05-15 02:59:22 +03:00
Sergey Mashkov
771af78b06 JS fix gradle example 2015-05-14 23:51:46 +03:00
Evgeny Gerashchenko
a93cc083d6 Don't try to find local descriptors in decompiled classes. 2015-05-14 21:51:08 +03:00
Evgeny Gerashchenko
0498bd7739 KT-7587 Overloads are not generated during partial compilation of package
#KT-7587 fixed
2015-05-14 21:51:08 +03:00
Evgeny Gerashchenko
ca883d8117 Green code. 2015-05-14 21:51:08 +03:00
Evgeny Gerashchenko
533935f2c0 KT-7472 function of anonymous class is never used
#KT-7472 fixed
2015-05-14 21:51:07 +03:00
Evgeny Gerashchenko
f00d96d67a Merge pull request #669 from JetBrains/rr/nik
use API class instead of impl to create Java SDK
2015-05-14 21:50:10 +04:00
Alexander Udalov
2fe05c6f11 Parse and resolve annotations on supertypes 2015-05-14 18:58:08 +03:00
Alexander Udalov
5539444aa2 Minor, fix runtime for compiler in CompilerSmokeTest 2015-05-14 18:40:50 +03:00
Alexander Udalov
a267beb5aa Fix order of dependencies for module 'descriptors'
'util.runtime' exports Kotlin Runtime which has reflection classes which
override their newer copies from 'deserialization'
2015-05-14 18:40:49 +03:00
Alexander Udalov
62d0d5c77f Minor, fix error message when renaming package facade 2015-05-14 18:40:49 +03:00
Alexander Udalov
b881827b74 Use descriptors instead of PSI in ImplementationBodyCodegen 2015-05-14 18:40:48 +03:00
Sergey Mashkov
13a55ae72e JS use wholeText instead of replaceWholeText() in example 2015-05-14 17:30:34 +03:00
nik
cefc704af0 use API class instead of impl to create Java SDK 2015-05-14 15:51:12 +03:00
Alexey Sedunov
e7748e2700 Convert Parameter to Receiver: Replace parameter references with labeled this-expressions (before shortening them). Report conflict when this-label is ambiguous
#KT-7681 Fixed
2015-05-14 15:47:56 +03:00
Alexey Sedunov
2dac70a4f7 Inline Val: Do not highlight usages if some are not located in the same file as the declaration itself
#KT-7655 Fixed
2015-05-14 15:47:55 +03:00
Alexey Sedunov
7f05b35332 Minor: Fix checkox mnemonic 2015-05-14 15:47:54 +03:00
Alexey Sedunov
3e620dbbbb Find Usages: Show class-specific dialog for all Kotlin classes (including bultins)
#KT-7048 Fixed
2015-05-14 15:47:53 +03:00
Alexey Sedunov
02006126f5 Introduce Property: Forbid extension properties with initializers and lazy
ones
2015-05-14 15:47:51 +03:00
Alexey Sedunov
b69b66feab Extraction Engine: Do not extract type parameter if it's resolved in the target scope
#KT-7246 Fixed
2015-05-14 15:47:50 +03:00
Sergey Mashkov
7045140d11 JS make NodeListAsList field private 2015-05-14 14:33:37 +03:00
Sergey Mashkov
425efa3ae1 JS IDL2K move Event, EventListener and EventTarget to org.w3c.events 2015-05-14 14:19:08 +03:00
Natalia Ukhorskaya
f20e76c185 Improve assert message.
#KT-6625 In Progress
2015-05-14 14:08:16 +03:00
Natalia Ukhorskaya
37cca22538 JetPositionManager: return kotlin package class for JetClsFile with linenumber -1 2015-05-14 14:08:14 +03:00
Sergey Mashkov
f0c55c98f2 JS fix failed test caused by strings API change 2015-05-14 13:39:33 +03:00
Sergey Mashkov
e9c2b33d2d JS IDL2K use Any? type for "any" but callback functions return types that returns dynamic instead of Any? 2015-05-14 09:17:01 +03:00
Sergey Mashkov
42f1f9df03 JS Union type members should have inherit corresponding marker interface 2015-05-14 09:17:00 +03:00
Sergey Mashkov
002b26e4ed JS IDL2K spaces in functional types 2015-05-14 09:16:59 +03:00
Sergey Mashkov
b34da5713d JS update IDL definitions, append source URL to downloaded file 2015-05-14 09:16:59 +03:00
Sergey Mashkov
7033b27ea8 JS Changes according to review 2015-05-14 09:16:58 +03:00
Sergey Mashkov
e3ae12ed62 JS Fix build failure due to missing splitWithRegex 2015-05-14 09:16:57 +03:00
Sergey Mashkov
0ce1edd417 JS IDL2K better callbacks support + bugfixes according to review 2015-05-14 09:16:57 +03:00
Sergey Mashkov
a11e0a84b5 JS tests for addClass, removeClass, removeFromParent 2015-05-14 09:16:56 +03:00
Sergey Mashkov
bcbfa3c240 JS CSS style declarations 2015-05-14 09:16:56 +03:00
Sergey Mashkov
d24bdf5ad0 JS Introduce SVG DOM support 2015-05-14 09:16:55 +03:00
Sergey Mashkov
6366f966b7 JS Introduce typed arrays 2015-05-14 09:16:54 +03:00
Sergey Mashkov
a6bed4f623 JS Fix marker interface filtering 2015-05-14 09:16:54 +03:00
Sergey Mashkov
2e687fde6b JS Generate DOM stubs from IDLs 2015-05-14 09:16:53 +03:00
Sergey Mashkov
236ec54c2a JS download DOM IDLs 2015-05-14 09:16:52 +03:00
Sergey Mashkov
47cf73d089 JS IDL2K fix bugs regarding union types and unknown types, any and so on
JS IDL2K better support for functional types and callback handlers
2015-05-14 09:16:52 +03:00
Sergey Mashkov
6e09100877 JS IDL2K refactoring according to review discussion 2015-05-14 09:16:51 +03:00
Sergey Mashkov
4ee780ef07 JS move document/window/storage to kotlin.browser 2015-05-14 09:16:51 +03:00
Sergey Mashkov
33c1d5d2cf JS fix tests failed due to api change 2015-05-14 09:16:50 +03:00
Sergey Mashkov
4bc91ba652 JS fix stdlib API to conform to new DOM3 2015-05-14 09:16:49 +03:00
Sergey Mashkov
374dcd56f2 JS better typedefs and union-types support 2015-05-14 09:16:49 +03:00
Sergey Mashkov
e487825237 JS deprecate old declarations 2015-05-14 09:16:48 +03:00
Sergey Mashkov
e84aa78ac6 JS introduce marker annotation 2015-05-14 09:16:48 +03:00
Sergey Mashkov
e2d663b288 JS Introduce utility functions for DOM3 2015-05-14 09:16:47 +03:00
Sergey Mashkov
53495fa989 JS Implement IDL2K tool and import DOM3 IDLs
JS Introduce required utility functions for DOM3
2015-05-14 09:16:46 +03:00
Valentin Kipyatkov
dc7f81a904 Code corrections after code review 2015-05-14 01:10:14 +03:00
Valentin Kipyatkov
1ad5ea4f7e Corrected test data 2015-05-14 01:10:13 +03:00
Valentin Kipyatkov
841d07f1aa More correct fix of getEnclosingElementForLocalDeclaration( 2015-05-14 01:10:13 +03:00
Valentin Kipyatkov
d67b678a65 Minor changes after review 2015-05-14 01:10:12 +03:00
Valentin Kipyatkov
d09c1e7c5b "Invert if" - handling some more cases 2015-05-14 01:10:12 +03:00
Valentin Kipyatkov
279b406bca "Invert if condition" intention works better for non-symmetric if's
#KT-5009 Fixed
2015-05-14 01:10:11 +03:00
Valentin Kipyatkov
181af17315 KT-7704 Intention actions on visibility modifier for quick changing it
#KT-7704 Fixed
2015-05-14 01:10:11 +03:00
Valentin Kipyatkov
ad91d2cd9e Removed unused deprecated constructors 2015-05-14 01:10:10 +03:00
Valentin Kipyatkov
d95b198da7 Refactored (and more correct) getOutermostLastBlockElement and its usages 2015-05-14 01:10:10 +03:00
Valentin Kipyatkov
38ac420057 Fixed bug in MergeWhenIntention 2015-05-14 01:10:10 +03:00
Valentin Kipyatkov
6456729973 Better intention text 2015-05-14 01:10:09 +03:00
Valentin Kipyatkov
462074df8c MergeWhenIntention code refactoring + smaller range 2015-05-14 01:10:09 +03:00
Valentin Kipyatkov
102aa661ee Moved intention based inspection classes to their intention classes + some renames 2015-05-14 01:10:08 +03:00
Valentin Kipyatkov
9a97818b82 Smaller range for SimplifyNegatedBinaryExpressionIntention 2015-05-14 01:10:08 +03:00
Valentin Kipyatkov
fc3609d403 SimplifyNegatedBinaryExpressionIntention - no i18n + code simplification 2015-05-14 01:10:08 +03:00
Valentin Kipyatkov
0422cf402d RemoveExplicitTypeArguments - no i18n + minor 2015-05-14 01:10:07 +03:00
Valentin Kipyatkov
54051c40dc Moved 2 intentions from idea-analysis to idea 2015-05-14 01:10:07 +03:00
Valentin Kipyatkov
addcadeddf Replace "contains" with "in" intention handles negation 2015-05-14 01:10:06 +03:00
Valentin Kipyatkov
e601057e93 Smaller ranges for intentions 2015-05-14 01:10:06 +03:00
Valentin Kipyatkov
11812a9ece Renamed some intentions + test data dirs 2015-05-14 01:10:05 +03:00
Valentin Kipyatkov
096df91972 Renamed intentions package 2015-05-14 01:10:05 +03:00
Valentin Kipyatkov
8095aabd42 Refactored intentions to replace special name calls with operators 2015-05-14 01:10:04 +03:00
Valentin Kipyatkov
fbc3fa2b09 KT-7212 Convert member function to extension intenton positions caret improperly
#KT-7212 Fixed
2015-05-14 01:10:04 +03:00
Valentin Kipyatkov
3222486dba Changed intention text to less confusing 2015-05-14 01:10:03 +03:00
Valentin Kipyatkov
5491523f05 Renamed intention class 2015-05-14 01:10:03 +03:00
Valentin Kipyatkov
48ac89dca4 Refactored ConvertMemberToExtension to re-use original declaration instead of regenerating it by text
#KT-4920 Fixed
2015-05-14 01:10:02 +03:00
Valentin Kipyatkov
ac9d75b45e KT-6632 "Convert to extension" intention should not be available on methods that override or implement a superclass method
#KT-6632 Fixed
2015-05-14 01:10:02 +03:00
Valentin Kipyatkov
a23c6a2cdc Smaller range + refactoring of ConvertMemberToExtension 2015-05-14 01:10:02 +03:00
Valentin Kipyatkov
04ec19cb4a Converted ConvertMemberToExtension to Kotlin 2015-05-14 01:10:01 +03:00
Valentin Kipyatkov
518ea85c87 Renames 2015-05-14 01:10:01 +03:00
Valentin Kipyatkov
a3bd6ca017 Introduced shortcut properties + getArrowNode -> getArrow 2015-05-14 01:10:00 +03:00
Valentin Kipyatkov
d86e142366 Smaller range for SplitPropertyDeclarationIntention 2015-05-14 01:10:00 +03:00
Valentin Kipyatkov
cb320bc0ac Moved function 2015-05-14 01:09:59 +03:00
Valentin Kipyatkov
4488a6719d Refactored DeclarationUtils 2015-05-14 01:09:59 +03:00
Valentin Kipyatkov
345076c11e Converted DeclarationUtils to Kotlin 2015-05-14 01:09:59 +03:00
Valentin Kipyatkov
269074b399 Smaller range fro SafeAccessToIfThenIntention 2015-05-14 01:09:58 +03:00
Valentin Kipyatkov
776e653421 Refactored SafeAccessToIfThenIntention 2015-05-14 01:09:58 +03:00
Valentin Kipyatkov
8a30d2d664 Avoid creation expressions by texts 2015-05-14 01:09:57 +03:00
Valentin Kipyatkov
749416434f Smaller range for IfThenToDoubleBangIntention 2015-05-14 01:09:57 +03:00
Valentin Kipyatkov
2b77fe2ff1 Refactored IfThenToDoubleBangIntention 2015-05-14 01:09:56 +03:00
Valentin Kipyatkov
b94d6306a7 Minor 2015-05-14 01:09:56 +03:00
Valentin Kipyatkov
ea168b0f6b Smaller ranges for intentions 2015-05-14 01:09:56 +03:00
Valentin Kipyatkov
4c275cb4ea Code refactoring 2015-05-14 01:09:55 +03:00
Valentin Kipyatkov
a3360df424 Moved intentions from UnfoldBranchedExpressionIntention.kt into own files 2015-05-14 01:09:55 +03:00
Valentin Kipyatkov
3743e9f508 Refactored UnfoldBranchedExpressionIntention's getting rid of UnfoldableKind 2015-05-14 01:09:54 +03:00
Valentin Kipyatkov
2ea2be01cd Minor code refactorings 2015-05-14 01:09:54 +03:00
Valentin Kipyatkov
a81f445190 Converted file to Kotlin 2015-05-14 01:09:53 +03:00
Valentin Kipyatkov
224e73e4f0 Inlined JetPsiFactory.createReturn 2015-05-14 01:09:53 +03:00
Valentin Kipyatkov
ceb9b3d663 Fixed test data 2015-05-14 01:09:53 +03:00
Valentin Kipyatkov
71d9c4726b No more usages of createReturn(text) 2015-05-14 01:09:52 +03:00
Valentin Kipyatkov
67a5e8a69d Fixed bug in DeprecatedLambdaSyntaxFix 2015-05-14 01:09:52 +03:00
Valentin Kipyatkov
ed595aab27 Fixed formatting problem + other way of creating returns 2015-05-14 01:09:51 +03:00
Valentin Kipyatkov
386be4bd10 Fixed formatting problem 2015-05-14 01:09:51 +03:00
Valentin Kipyatkov
8e2d381b85 Code simplifications 2015-05-14 01:09:51 +03:00
Valentin Kipyatkov
089267deee Refactored branched folding intentions into separate files and inlining methods from util 2015-05-14 01:09:50 +03:00
Valentin Kipyatkov
832b4fb8d8 Refactored FoldBranchedExpressionIntention removing common subclass and FoldableKind 2015-05-14 01:09:50 +03:00
Valentin Kipyatkov
d77b77809c Code corrections after conversion 2015-05-14 01:09:49 +03:00
Valentin Kipyatkov
b1ef08c9a1 Conversion to Kotlin (not compilable yet) 2015-05-14 01:09:49 +03:00
Valentin Kipyatkov
b9486846e1 ElvisToIfThenIntention - smaller range + minor code improvements 2015-05-14 01:09:48 +03:00
Valentin Kipyatkov
3b7bb81141 Renamed methods so that tests for parsing do not fail 2015-05-14 01:09:48 +03:00
Valentin Kipyatkov
37ab41ac52 Added parameter info + isAvailable 2015-05-14 01:09:47 +03:00
Valentin Kipyatkov
43ccdf1036 Changed order of quickfixes 2015-05-14 01:09:47 +03:00
Valentin Kipyatkov
21eb2acd31 Shorter quickfix names 2015-05-14 01:09:47 +03:00
Valentin Kipyatkov
e31f0ed829 Add constructor parameters quickfix reuses existing parameters 2015-05-14 01:09:46 +03:00
Valentin Kipyatkov
0952e9a63a Add constructor parameters quickfix works for multiple constructors 2015-05-14 01:09:46 +03:00
Valentin Kipyatkov
4ac2e29d28 Fixed error type case 2015-05-14 01:09:45 +03:00
Valentin Kipyatkov
c6ebc50e6c Renaming test data files 2015-05-14 01:09:45 +03:00
Valentin Kipyatkov
381049d13e Fix for non-accessible constructor case 2015-05-14 01:09:44 +03:00
Valentin Kipyatkov
a5dabac296 Refactored "Change to constructor invocation" and new "Add constructor parameters and use them" quickfixes into one factory, making the first one always available 2015-05-14 01:09:44 +03:00
Valentin Kipyatkov
cd419c2ddf Moved test data 2015-05-14 01:09:44 +03:00
Valentin Kipyatkov
00dcbd4d93 Initial implementation of KT-4046 Support 'Create constructor matching superclass'
#KT-4046 Fixed
2015-05-14 01:09:21 +03:00
Valentin Kipyatkov
734b502ad6 Fixed test data 2015-05-14 01:00:30 +03:00
Valentin Kipyatkov
df25adcb15 Smaller range for IfNullToElvisIntention and inspection 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
40f52f0216 Minor changes on code review 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
69c787dded Fixed resolveToDescriptor for parameter of catch block 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
830e3ba073 Better code in j2k 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
709573db69 Fix in SpecifyTypeExplicitlyIntention 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
07a89b38e1 Intention based intentions: added ability to highlight partial range, used it in new inspection based on IntroduceWhenSubjectIntention + added missing description 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
45c5454e39 Refactored IntroduceWhenSubjectIntention 2015-05-14 01:00:29 +03:00
Valentin Kipyatkov
ada11ca5e9 Use of expressions instead of plain text when converting when's 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
66a90916fe JetPsiFactory.createExpressionByPattern supports JetTypeReference's as arguments 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
6317ecc870 No use of CallChainBuilder anymore 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
ea6b632cea WhenToIfIntention - smaller range and refactoring 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
76fc0c1418 FlattenWhenIntention - smaller range and refactoring 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
428bcbbc8a No use of WhenBuilder at all 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
4f96965310 No use of WhenBuilder in introduceSubject 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov
b200324a86 EliminateWhenSubjectIntention - no use of WhenBuilder 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
b1d0365c2f IfToWhenIntention - no use of WhenBuilder 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
47c613c477 IfToWhenIntention - smaller range and code refactoring 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
50f2c13cac EliminateWhenSubjectIntention - smaller range and code refactoring 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
3702add034 Refactored IfThenToSafeAccessIntention 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
f2cced4384 Code improvements in IfThenToElvisIntention 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
345f9217ae DoubleBangToIfThenIntention - smaller range + minor code improvements 2015-05-14 01:00:27 +03:00
Valentin Kipyatkov
f892e17d6b Refactored ConvertIfWithThrowToAssertIntention 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
392a1f52eb Fixed JetTypeLookupExpression 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
74cdd39ac9 Renamed test data dirs 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
f73c4b296e Converted to Kotlin 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
0ca492464b Refactored SimplifyBooleanWithConstantsIntention 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
1fa14af02f Converted to Kotlin 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
0c7a366ddf No i18n 2015-05-14 01:00:26 +03:00
Valentin Kipyatkov
b0ce16eada Remove explicit type intention should not be available on public 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
2d90ee5cad Split SpecifyTypeExplicitly intention into two + refactored them completely 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
d956d31012 Minor code editings after conversion 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
899a28f5ec Converted to Kotlin (step 2) 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
1251663099 Converted to Kotlin (step 1) 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
7499c4bc19 Refactored SplitIfIntention + JetPsiFactory.createIf uses createExpressionByPattern and does not reformat its arguments 2015-05-14 01:00:25 +03:00
Valentin Kipyatkov
de8601bb5d Got rid of JetPsiFactory.createBinaryExpression 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
b0aca040d8 "JetPsiFactory.createExpressionByPattern" and some usages of it 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
0a5951fcb9 Minor 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
05b6181d20 Renamed intention 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
c617d5256e ReplaceWithTraditionalAssignmentIntention - smaller range 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
8fc799322b Refactored ReplaceWithTraditionalAssignmentIntention 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
475a361b32 Renamed intention 2015-05-14 01:00:24 +03:00
Valentin Kipyatkov
435e9fed3f Added inspection based on ReplaceWithOperatorAssignIntention 2015-05-14 01:00:23 +03:00
Valentin Kipyatkov
bab4ae3879 Refactored ReplaceWithOperatorAssignIntention 2015-05-14 01:00:23 +03:00
Dmitry Jemerov
95f42ac050 fix test: redundant parentheses are no longer generated 2015-05-13 21:19:36 +02:00
Nikolay Krasko
3c7e7ffda6 Place light classes finder before standard PsiElementFinderImpl
Source elements should have priority over libraries.
2015-05-13 21:32:09 +03:00
Dmitry Jemerov
6f4cae03fe Quickfix to add a loop label when 'break' or 'continue' is used in a loop inside 'when'
#KT-7202 Fixed
2015-05-13 17:26:18 +02:00
Dmitry Jemerov
625096466e IDE testdata: s/trait/interface 2015-05-13 16:13:13 +02:00
Michael Bogdanov
99cad4b43f Support default method invocation via super
#KT-5970 Fixed
2015-05-13 14:52:18 +03:00
Michael Bogdanov
3fbdf05921 Added some new test for java8 2015-05-13 14:52:18 +03:00
Alexey Tsvetkov
37dfa58cd3 JS: expand calls, generated to curry reified is checks 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
818b197169 JS: support reified usage in extension functions 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
79ab47d374 JS: support reified type references in closures 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
85dc7a1ac4 JS: always translate reified type parameters 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
2f786efebf JS: support is-check on reified parameter 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
2c99484066 Minor in JS: use toTypedArray in JS tests 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
8cdff2439b JS: added reified is-check test cases 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
0a3ed7f12e JS: small fixes after conversion 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
f0c2aa9eb2 JS: converted CallArgumentTranslator to Kotlin 2015-05-13 12:15:29 +03:00
Alexey Tsvetkov
cdfd88cc2f JS: changed file extension of CallArgumentTranslator.java -> .kt 2015-05-13 12:15:29 +03:00
Ilya Gorbunov
f7aa997003 Provide fast path for negative index values in elementAt.
Minor: kdoc wording.
2015-05-12 21:07:24 +03:00
Dmitry Jemerov
4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Ilya Gorbunov
a5ed5d4269 Generate elementAtOrNull and elementAtOrElse extension methods for iterables, collections, sequences, etc.
#KT-6952 Fixed
2015-05-12 20:08:20 +03:00
Michael Nedzelsky
c420e0f010 JS: eliminate direct usage of builtins serialization for js 2015-05-12 19:30:29 +03:00
Michael Nedzelsky
6dc7c4bc29 add SerializedResourcePaths, extract base code from builtins package fragment, data finder 2015-05-12 19:30:26 +03:00
Michael Nedzelsky
d8ca5be29d JS: KotlinJavascriptMetadataUtils: ABI 1 -> 2 2015-05-12 19:30:23 +03:00
Michael Nedzelsky
de3a31b07c JS: add import from descriptors to js.proto 2015-05-12 19:30:20 +03:00
Dmitry Jemerov
2a99f757c4 replace 'trait' keyword with 'interface' in library code 2015-05-12 17:07:46 +02:00
Dmitry Jemerov
b1c4a5670a provide element type name for multi-declaration entries; enable in-place rename for those; show local properties as "variable"
#KT-7627 Fixed
2015-05-12 16:18:03 +02:00
Dmitry Jemerov
0582d1947d JetRefactoringSupportProvider: J2K 2015-05-12 16:18:01 +02:00
Dmitry Jemerov
d990bbffdc JetRefactoringSupportProvider: rename to .kt 2015-05-12 16:18:01 +02:00
Dmitry Jemerov
9975bb8935 replace 'trait' keyword with 'interface' in user-visible messages and code generation tools 2015-05-12 11:49:37 +02:00
Dmitry Jemerov
25959fefdc J2K: generate 'interface' keyword instead of 'trait' 2015-05-12 11:49:37 +02:00
Ilya Gorbunov
69a58d1f0e Minor: correct kdoc comment. 2015-05-12 12:25:27 +03:00
Michael Bogdanov
d6964525b2 Fix for KT-7490: Bad bytecode generated by delegates and lambdas
#KT-7490 Fixed
2015-05-12 12:06:11 +03:00
Alexey Sedunov
aed6ed0f9b Introduce Parameter: Fix occurrence replacement when parameter name/type is changed by the user 2015-05-12 01:01:43 +03:00
Alexey Sedunov
ca54fe0883 Introduce Property: Fix primary occurrence replacement
#KT-7610 Fixed
2015-05-11 20:58:02 +03:00
Alexey Sedunov
339383b5b1 Extract Function: Add test for ===
#KT-7663 Fixed
2015-05-11 20:57:59 +03:00
Alexey Sedunov
c4e20b5cc1 Control-Flow: Generate mark instruction before the call/unresolved call instruction
#KT-7663 In Progress
2015-05-11 20:57:56 +03:00
Ilya Gorbunov
34526005d0 Provide a way to construct an empty typed array without init lambda. 2015-05-09 11:45:43 +03:00
Ilya Gorbunov
31b9ee65e0 Change the expected output after joinToString signature was changed. 2015-05-09 01:11:51 +03:00
Ilya Gorbunov
16d20ff009 Temporary add jvm.overloads annotation for generated joinToString() method.
Stdlib generator: allow to specify arbitrary annotations for all or some of generic function expansions.
2015-05-09 01:11:49 +03:00
Ilya Gorbunov
d531d7130f Add an optional parameter to joinToString() and joinTo() functions: lambda function which maps the element to string.
#KT-5468 Fixed
2015-05-09 01:11:47 +03:00
Ilya Gorbunov
c8a76f6344 Merge overloads String.compareToIgnoreCase and String.compareTo with an optional parameter. Provide CASE_INSENSITIVE_ORDER comparer in String.Companion. 2015-05-09 01:11:45 +03:00
Ilya Gorbunov
64b23054a6 Specify abbreviated code for each general Unicode category. 2015-05-09 01:11:43 +03:00
Ilya Gorbunov
1eed3675fe Add Char.isTitleCase, Char.toTitleCase methods (JVM). 2015-05-09 01:11:40 +03:00
Ilya Gorbunov
efe6bee106 Add Char.isSurrogate function and Char.MIN_SURROGATE, Char.MAX_SURROGATE constants. 2015-05-09 01:11:38 +03:00
Ilya Gorbunov
062d080e80 CharCategory and CharDirectionality enums for JVM. 2015-05-09 01:11:36 +03:00
Ilya Gorbunov
fb5a3a771c String.split(Pattern, limit) now treats limit differently: 0 means no limit is specified, but trailing empty elements are not stripped; -1 and other negative values are not allowed. 2015-05-09 01:11:34 +03:00
Ilya Gorbunov
b1255cf95b 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. 2015-05-09 01:11:32 +03:00
Ilya Gorbunov
aa6bdb039b Take caution when advancing to the next match after an empty string was matched not to stuck at the same position. 2015-05-09 01:11:30 +03:00
Ilya Gorbunov
260553d516 Temporary workaround due to KT-7502.
Correct usage of joinToString.
Test for passing multiple options.
2015-05-09 01:11:28 +03:00
Ilya Gorbunov
81325208be Remove Regex() and toRegex() overloads with vararg options. Now only zero, one or set of options are allowed. 2015-05-09 01:11:26 +03:00
Ilya Gorbunov
44d7f768c7 Visibility of Regex primary constructor. Provide adapting methods Pattern.toRegex and Regex.toPattern. 2015-05-09 01:11:24 +03:00
Ilya Gorbunov
6c9ca39286 Implement CharSequence.isEmpty method in stdlib.js. Remove corresponding intrinsic. 2015-05-09 01:11:22 +03:00
Ilya Gorbunov
7a51123d26 Make native* methods internal in stdlib.js as it was intended.
They are not checked with stdlib-validator, so it is possible.
2015-05-09 01:11:20 +03:00
Ilya Gorbunov
ae13359adc Change package of extensions and other top-level declarations from kotlin.js to kotlin to match corresponding ones in stdlib for JVM. 2015-05-09 01:11:18 +03:00
Ilya Gorbunov
908864b0c0 Move native RegExp to kotlin.text.js package 2015-05-09 01:11:16 +03:00
Ilya Gorbunov
a5177b785d Add String.replaceFirst methods.
String.replaceFirst(String, String) temporary named as replaceFirstLiteral.
2015-05-09 01:11:14 +03:00
Ilya Gorbunov
157c86b9c6 Empty string is supported as a delimiter in split and as an oldValue in replace. 2015-05-09 01:11:12 +03:00
Ilya Gorbunov
43dd23bd4b Remove some conflicting declarations from test, convert code to new Regex API 2015-05-09 01:11:10 +03:00
Ilya Gorbunov
2ae767a049 Add deprecated matcher() method to Regex to fix build. 2015-05-09 01:11:08 +03:00
Ilya Gorbunov
5f4e3ae6af Documentation and visibility of members.
Add hasMatch method to check whether there is at least one match exists.
IGNORE_CASE always includes UNICODE_CASE on JVM.
2015-05-09 01:11:07 +03:00
Ilya Gorbunov
db13705506 Tests for match and replace. 2015-05-09 01:11:04 +03:00
Ilya Gorbunov
0b03caf3e7 Uniform implementation of String.replace and String.matches(Regex) across JVM and JS.
Deprecated String.matches(String) and String.replaceAll methods.
2015-05-09 01:11:03 +03:00
Ilya Gorbunov
01ace84070 Regex implementation: split, replace and replaceFirst. 2015-05-09 01:11:00 +03:00
Ilya Gorbunov
559c1604d7 Rename Pattern to Regex.
toRegex now converts string to our regex, and toPattern converts to JVM Pattern.
2015-05-09 01:10:59 +03:00
Ilya Gorbunov
a4784dfa78 Pattern implementation for JS. 2015-05-09 01:10:57 +03:00
Ilya Gorbunov
da1641e0f8 Pattern implementation: JVM and partially JS.
Common tests.
2015-05-09 01:10:55 +03:00
Ilya Gorbunov
459e95d1d9 Pattern (Regex) API. 2015-05-09 01:10:53 +03:00
Ilya Gorbunov
370a67e753 js.stdlib: native replace made private. 2015-05-09 01:10:51 +03:00
Ilya Gorbunov
69a5d27c74 js.stdlib: Native RegExp. 2015-05-09 01:10:49 +03:00
Ilya Gorbunov
18f3018ce7 js.stdlib: js-only tests now included in kotlin-js-tests module. 2015-05-09 01:10:47 +03:00
Valentin Kipyatkov
837e46a9b8 Big change in quickfix tests: no stupid test data format with "before" and "after" file prefixes 2015-05-08 22:29:42 +03:00
Yan Zhulanow
a1acc60ed3 Update Gradle API and Android Gradle plugin dependency versions in kotlin-android-extensions 2015-05-08 18:19:26 +03:00
Yan Zhulanow
7639ab4f41 Separate support and normal properties 2015-05-08 18:19:26 +03:00
Yan Zhulanow
1ae2719d34 Visit children nodes even if layout XML tag is ignored 2015-05-08 18:19:25 +03:00
Yan Zhulanow
c774eac0e3 IDEA dependency version check for main IDEA and Android Extensions IDEA plugins 2015-05-08 18:19:25 +03:00
Yan Zhulanow
dbc0099e6e Fix usage printing for compiler plugins 2015-05-08 18:19:25 +03:00
Yan Zhulanow
fdc253b67f Bugfix: support several resource directories in AndroidPsiTreeChangePreprocessor 2015-05-08 18:19:24 +03:00
Yan Zhulanow
77be78b627 Support Android flavors 2015-05-08 18:19:24 +03:00
Yan Zhulanow
bf707ec3f7 Minor: code clean, remove obsolete functions 2015-05-08 18:19:24 +03:00
Yan Zhulanow
3645dfc5af Support several res/ directories 2015-05-08 18:19:23 +03:00
Yan Zhulanow
7a685b8c56 Support Fragment synthetic properties 2015-05-08 18:19:23 +03:00
Yan Zhulanow
d7488023d2 Add compiler tests for support.v4.app.Fragment 2015-05-08 18:19:22 +03:00
Yan Zhulanow
514bc74e9c Support android.support.v4.Fragment classes 2015-05-08 18:19:22 +03:00
Yan Zhulanow
cc697d2c1a Minor: remove isResourceDeclarationOrUsage 2015-05-08 18:19:22 +03:00
Yan Zhulanow
bc4a342a38 Refactoring: handle base AndroidResource class (in order to support <fragment>) 2015-05-08 18:19:21 +03:00
Zalim Bashorov
2cf478c864 Update to IDEA 14.1 EAP (141.1009.5) 2015-05-08 17:21:13 +03:00
Ilya Gorbunov
02b8394cb2 Change JetCodeFragment.IMPORT_SEPARATOR back to String 2015-05-08 16:48:11 +03:00
Alexey Sedunov
f13eb038e1 Introduce Parameter: Java -> Kotlin Interoperability 2015-05-08 11:43:00 +03:00
Denis Zharkov
93861e16c8 Prohibit non-constant default values for annotation parameter
#KT-7449 Fixed
2015-05-07 22:36:17 +03:00
Denis Zharkov
585a437b2e Parse '@' annotations on enum entries
Just drop truncating builder's creation as we parse only escaped annotations
and will not `eat` entry identifier
2015-05-07 22:36:17 +03:00
Denis Zharkov
e2cd983d49 Add quickfix for replacing deprecated annotations 2015-05-07 22:36:17 +03:00
Denis Zharkov
e59a0dd0c6 Adjust KotlinSuppressIntentionAction to syntax with '@' 2015-05-07 22:36:16 +03:00
Denis Zharkov
849b8acbf8 Replace annotations with brackets in testData
Just in tests that changed after deprecation
2015-05-07 22:36:16 +03:00
Denis Zharkov
5bc7c9600f Deprecate annotations in brackets 2015-05-07 22:36:16 +03:00
Denis Zharkov
1d77f50903 Refine highlighting of '@'
- Do not highlight '@' as separate token.

- Highlight '@' the same way as element where it's located: annotation, label or modifier.

- Extend text range when positioning unresolved reference in annotation with '@'.

Note that currently '@' is collapsed with modifiers tokens
2015-05-07 22:36:16 +03:00
Denis Zharkov
aa7bae213d Introduce ++ operator into grammar 2015-05-07 22:36:16 +03:00
Denis Zharkov
b924f35ed3 Resolve annotations on multi-declaration for parameter 2015-05-07 22:36:16 +03:00
Denis Zharkov
3d810ffe61 Parse modifier list of multi-declaration and for parameters 2015-05-07 22:36:16 +03:00
Denis Zharkov
e236d04957 Minor, drop unused method createConstructorModifierList 2015-05-07 22:36:16 +03:00
Denis Zharkov
9e23698fe3 Unwrap annotated expression in deparenthesize
It's needed to complete resolved call with annotated function literal
2015-05-07 22:36:15 +03:00
Denis Zharkov
9101505eca Rework deparenthesize-like methods
- Extract private `deparenthesizeOnce` and repeat it until get the same expression

- Drop redundant parameter `deparenthesizeRecursively`

- Drop some usages of `safeDeparenthesize` in `deparenthesize`
  because even if `deparenthesize` returns null (i.e. something was not parsed)
  there is no sense in working with such expressions

Note, that `deparenthesize` now unwraps nested labels' declaration (see changes in testData),
but it seems to be reasonable
2015-05-07 22:36:15 +03:00
Denis Zharkov
b72a3de86e Parse annotations on lambda-argument 2015-05-07 22:36:15 +03:00
Denis Zharkov
c5af4b42b4 Extract common logic for annotation entries collection
Before this change annotation entries starting with '@' within expressions hadn't been resolved

Note that order of annotation entries in result may change according to order of children in PSI (see changed testData)
2015-05-07 22:36:15 +03:00
Denis Zharkov
7d8351abc6 Implement parsing annotations and modifiers starting with '@' 2015-05-07 22:36:15 +03:00
Denis Zharkov
b13e932c3c Parse label reference with spaces before '@'
But still report error
2015-05-07 22:36:15 +03:00
Denis Zharkov
3528762e2d Minor, drop constant parameters and rename method 2015-05-07 22:36:15 +03:00
Denis Zharkov
5ce1fc6fbb Minor, rename AnnotationParsingMode's entries 2015-05-07 22:36:15 +03:00
Nikolay Krasko
0fa93d59c5 Get context for partial resolve if we have result for full analyze already 2015-05-07 20:14:12 +03:00
Natalia Ukhorskaya
9108d87a57 Add warning for division by zero:
#KT-5529 fixed
2015-05-07 15:41:37 +03:00
Nikolay Krasko
cb9c28e73f Update to Idea 141.914.3 EAP 2015-05-07 15:12:02 +03:00
Natalia Ukhorskaya
16b17b9e94 Minor: rename 2015-05-07 13:23:59 +03:00
Natalia Ukhorskaya
d7a301d698 Evaluate Expression: support local functions 2015-05-07 13:23:15 +03:00
Natalia Ukhorskaya
8c99183970 Write local functions to localVariables table 2015-05-07 13:23:03 +03:00
Natalia Ukhorskaya
35f9cb5405 Extract function: capture only local functions, not from local declarations 2015-05-07 13:22:10 +03:00
Natalia Ukhorskaya
35bacb4ac7 Refactoring: extract FrameVisitor class 2015-05-07 13:22:08 +03:00
Natalia Ukhorskaya
4848af5ef6 Minor: fix warnings 2015-05-07 13:22:06 +03:00
Alexey Tsvetkov
68603d188b JS: ExpressionDecomposer should always visit JsInvocation qualifier 2015-05-06 18:19:21 +03:00
Alexey Tsvetkov
8db104ef36 JS: decomposition should preserve 'this' context with invocations
#KT-7502 fixed
2015-05-06 18:19:21 +03:00
Nikolay Krasko
2d8dcaddd0 Compile modules with circular dependency as one module 2015-05-06 14:19:20 +03:00
Nikolay Krasko
3b18a44340 Allow to use Kotlin reflection in all modules with Kotlin 2015-05-06 14:18:27 +03:00
Nikolay Krasko
9d986d077c Move kotlin runtime library to end of classpath and remove duplicates with 'util' package 2015-05-06 14:18:24 +03:00
Nikolay Krasko
62a8174072 Fix compatibility issue 2015-05-05 16:43:24 +03:00
Michael Bogdanov
49f063522c Inline util functions renaming 2015-05-05 12:47:57 +03:00
Michael Bogdanov
fe23f23664 Support inlined functional expressions in debugger 2015-05-05 12:47:56 +03:00
Michael Bogdanov
e0aa64b8d2 Support functional expression in non-local returns 2015-05-05 12:47:56 +03:00
Valentin Kipyatkov
3a6e5ac78c Corrected test data 2015-05-02 14:03:26 +03:00
Valentin Kipyatkov
73f764abd0 Minor changes on code review 2015-05-02 14:03:26 +03:00
Valentin Kipyatkov
d1afff1612 Renamed intention 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
2de466970d ReplaceWithInfixFunctionCallIntention - refactored 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
9dd67cfc4d InfixCallToOrdinaryIntention - smaller range + minor code improvements 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
1b7ac6bb02 Renamed intention to more clear name 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
7d6145e105 J2K converter applies IfNullToElvisIntention automatically 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
38f735dcac IfNullToElvisIntention - better behavior for var's + slightly refactored utility functions 2015-05-02 14:03:25 +03:00
Valentin Kipyatkov
186dd5454d Added inspection based on IfNullToElvisIntention + moved intention based inspections into one file 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
8d887f8780 In progress: KT-7442 Inspection + intention to replace "if (xxx == null) return ..' with elvis 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
c52f69538d Fixed test data 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
1daf12cf70 ReplaceItWithExplicitFunctionLiteralParamIntention - better caret position 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
01a8ff0860 Refactored ReplaceItWithExplicitFunctionLiteralParamIntention 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
c7937f181b Refactored ReplaceExplicitFunctionLiteralParamWithItIntention 2015-05-02 14:03:24 +03:00
Valentin Kipyatkov
65d59467a8 Renamed intention 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
175806a902 "Make types implicit in lambda" intention - adapted to new lambda syntax + do not work on closing brace 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
c6b18efb15 "Remove unnecessary parentheses" intention - smaller range & refactoring 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
444da656e6 RemoveCurlyBracesFromTemplateIntention - shorter text 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
6467b07245 RemoveCurlyBracesFromTemplateIntention - minor refactoring 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
9996afbde3 Minor 2015-05-02 14:03:23 +03:00
Valentin Kipyatkov
3b87869bf7 ReconstructTypeInCastOrIsIntention - refactored 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
1780d469d5 Converted to Kotlin (step 2) 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
ea62fafa69 Converted to Kotlin (step 1) 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
995b82ae62 Renamed test data directory 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
b959c7f2c0 "Move lambda argument out of parentheses" intention - smaller range 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
077307b518 "Move lambda argument into parentheses" intention - slightly wider range 2015-05-02 14:03:22 +03:00
Valentin Kipyatkov
f631f97a22 "Move lambda function into parentheses" -> "Move lambda argument into parentheses" 2015-05-02 14:03:21 +03:00
Valentin Kipyatkov
5ace57bc5f "Move lambda function into parentheses" intention - smaller availability range 2015-05-02 14:03:21 +03:00
Valentin Kipyatkov
f1fa33548a "Make types explicit in lambda" intention renamed to "Specify explicit lambda signature" 2015-05-02 14:03:21 +03:00
Valentin Kipyatkov
f9d690db21 "Make types explicit in lambda" intention: not available on right brace + adapted to new lambda syntax + refactored 2015-05-02 14:03:21 +03:00
Valentin Kipyatkov
252399b9a9 "Invert if condition" intention - smaller availability range + refactored 2015-05-02 14:03:21 +03:00
Valentin Kipyatkov
cda3344250 ForEach to for-loop intention: smaller range + refactoring 2015-05-02 14:03:21 +03:00
Alexey Sedunov
ad9317d047 Specify Type Explicitly: Reuse injected instance of TemplateManager 2015-05-01 18:58:15 +03:00
Alexey Sedunov
ee83435830 Move: Implement member selection UI 2015-05-01 18:58:12 +03:00
Alexey Sedunov
d096e74c10 Move: Implement inspection which reports mismatch between package directive and containing directory 2015-05-01 18:58:09 +03:00
Alexey Sedunov
fe96a8563a Inspections: Implement multi-file test class 2015-05-01 17:17:00 +03:00
Alexey Sedunov
6c28380be0 Intentions: Implement multi-file test class 2015-05-01 17:16:59 +03:00
Alexey Sedunov
8879166f53 Move: Add intention to change file package without moving it physically 2015-05-01 17:16:57 +03:00
Svetlana Isakova
6ee59a06dd Removed obsolete cache for object literals 2015-04-30 21:24:51 +03:00
Svetlana Isakova
02301a0d70 KT-7597 ErrorType leaked into backend
#KT-7597 Fixed
2015-04-30 21:24:51 +03:00
Mikhail Glukhikh
f4dd685bbe Fix for a problem with smart cast impossible in a situation when it's not needed. A test for KT-3572. #KT-3572 Fixed. 2015-04-30 16:48:15 +03:00
Dmitry Jemerov
093878bd06 correctly implement JetSimpleNameReference.getTextRange() so that it doesn't include the @ character for references in labels
#KT-7560 Fixed
2015-04-30 16:12:03 +03:00
Denis Zharkov
ca8fb53ccd Fix old labels syntax in testData 2015-04-30 10:22:17 +03:00
Denis Zharkov
bcee052302 Revert "Temporary parse label definitions with both syntax versions"
This reverts commit 3e3535f8cf.
2015-04-30 10:16:42 +03:00
Denis Zharkov
02659ca22d Adjust project code to new labels syntax 2015-04-30 10:16:42 +03:00
Dmitry Jemerov
1d8786dabf allow renaming functions which are members of anonymous objects
#KT-5857 Fixed
2015-04-29 20:09:17 +02:00
Dmitry Jemerov
46841ef447 fix expected testdata for StubBuilderTestGenerated 2015-04-29 19:19:40 +02:00
Dmitry Jemerov
8cc9ea1c8a fix compilation 2015-04-29 18:06:29 +02:00
Dmitry Jemerov
f0b7830521 use new API for indexing identifiers and TODO items in Kotlin files that allows reusing the lexer for building both indices; index TODO items in KDoc comments
#KT-5677 Fixed
2015-04-29 18:38:10 +03:00
Dmitry Jemerov
09a7e87102 fix text navigation offset for secondary constructors; add some missing element types to FindUsagesProvider
#KT-7607 Fixed
2015-04-29 18:34:53 +03:00
Dmitry Jemerov
8574c38998 fix usages of ClassKind.TRAIT in kdoc 2015-04-29 16:50:30 +02:00
Dmitry Jemerov
3b8167a8c3 rename "Kotlin Trait" file template to "Kotlin Interface" 2015-04-29 16:50:29 +02:00
Dmitry Jemerov
702188bbe2 regenerate JS reserved words test 2015-04-29 16:50:22 +02:00
Dmitry Jemerov
b7b5333cb9 keyword completion test: trait -> interface 2015-04-29 16:50:21 +02:00
Zalim Bashorov
9b49221c74 Fix test case generator: escape modifiers when they used for declaration enum entry 2015-04-29 16:50:21 +02:00
Dmitry Jemerov
9701a8fc7e regenerate keyword strings; add testcase for 'interface' keyword 2015-04-29 16:50:20 +02:00
Dmitry Jemerov
f61a4a15cc rename "isTrait" to "isInterface": update test data 2015-04-29 16:50:20 +02:00
Dmitry Jemerov
cce1be3892 rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE 2015-04-29 16:50:19 +02:00
Dmitry Jemerov
ee60ce8369 understand "interface" keyword as synonym for "trait" 2015-04-29 16:50:14 +02:00
Dmitry Jemerov
55cfd3b0c7 fix QuickFixTestGenerated$Expressions.testRemoveUselessCast 2015-04-29 16:33:39 +02:00
Dmitry Jemerov
94071550e3 fix JetPsiCheckerTest 2015-04-29 16:33:38 +02:00
Dmitry Jemerov
8258d72e23 don't report USELESS_CAST in case of casting to superype using 'as' 2015-04-29 16:33:32 +02:00
Dmitry Jemerov
f374eec8f1 deprecating types after colon 2015-04-29 16:33:24 +02:00
Nikolay Krasko
b7a4b3c17d Fix build 2015-04-29 16:44:41 +03:00
Alexander Udalov
c860f54461 Rewrite codegen tests which check time in deterministic way
Delete one useless test

 #KT-7621 Fixed
2015-04-29 15:28:10 +03:00
Nikolay Krasko
90cdb19324 Add origin for generated jvm overloads and tweak equals methods to distinguish them
- KT-7586 Strange navigation issue

 #KT-7586 Fixed
2015-04-29 15:20:31 +03:00
Nikolay Krasko
536b30af20 Refactoring: extract test method 2015-04-29 15:20:30 +03:00
Nikolay Krasko
b82f7d5c33 Refactoring: extract method for configuring runtime without sdk change 2015-04-29 15:20:29 +03:00
Nikolay Krasko
dbe6d2743d Drop deprecated API 2015-04-29 15:20:28 +03:00
Dmitry Jemerov
ed83385099 delete function which is now unused 2015-04-29 14:07:06 +02:00
Dmitry Jemerov
b98e2513f2 fix Common.testInSecondaryConstructorDelegationCall completion test: don't insert $ which breaks parsing of argument list and causes the block to be detached from the constructor itself 2015-04-29 14:07:06 +02:00
Dmitry Jemerov
d00b4ca27a update for modern constructor syntax 2015-04-29 14:07:06 +02:00
Dmitry Jemerov
f93eeeb563 fix tests by adding missing 'init' keywords to testdata 2015-04-29 14:07:05 +02:00
Dmitry Jemerov
98b8784ab0 drop deprecated syntax for anonymous initializer blocks 2015-04-29 14:07:04 +02:00
Ilya Ryzhenkov
35e82d4574 Propagate annotations when performing substitution on constructors #KT-7608 Fixed
Tests for deprecated warning on generic constructor.
2015-04-29 14:53:40 +03:00
Denis Zharkov
1fc742ffeb Add quickfix for java.lang.Class as annotation parameter 2015-04-29 14:03:11 +03:00
Denis Zharkov
fc5236244b Deprecate java.lang.Class as annotation parameter 2015-04-29 14:03:11 +03:00
Denis Zharkov
fa2af69942 Drop obsolete token in KDOC 2015-04-29 14:03:11 +03:00
Denis Zharkov
74bf4a3a7f Refine findElementOfClassAtRange to make it find labels 2015-04-29 14:03:11 +03:00
Denis Zharkov
ffa9b0aa7c Remove whitespaces before labels in project code
Whitespaces are not allowed after lates syntax changes
2015-04-29 14:03:11 +03:00
Denis Zharkov
3e3535f8cf Temporary parse label definitions with both syntax versions
Should be reverted after bootstrap
2015-04-29 14:03:11 +03:00
Denis Zharkov
44a55e5bf6 Adjust testData to new labels syntax 2015-04-29 14:03:11 +03:00
Denis Zharkov
5977302465 Adjust J2K to new labels syntax 2015-04-29 14:03:11 +03:00
Denis Zharkov
89c72d9400 Adjust PSI usages to new labels syntax 2015-04-29 14:03:11 +03:00
Denis Zharkov
241860d510 JetExpressionWithLabel: Convert to kotlin 2015-04-29 14:03:11 +03:00
Denis Zharkov
18bd8fa6ab JetExpressionWithLabel: .java -> .kt 2015-04-29 14:03:10 +03:00
Denis Zharkov
7d5a035aaf Regenerate lexers for new labels parsing rules 2015-04-29 14:03:10 +03:00
Denis Zharkov
507eefcaa5 Implement new parsing rules for labels
See changes in expressions.grm
2015-04-29 14:03:10 +03:00
Alexander Udalov
0d76634f6b Support SKIP_TXT directive in diagnostic tests
Don't render the whole 'kotlin' package in some tests, because test data will
change every time something is updated in built-ins
2015-04-29 01:36:20 +03:00
Alexander Udalov
43ac20e88a Move builtins dependency to the top in compiler-tests
When running tests locally, serialized built-ins located in dist/builtins
should have a higher priority than the ones in the bootstrap runtime, on which
almost every module depends by default. Also make it a 'runtime' dependency
because the binary files there can't really change anything at compile time
2015-04-29 01:36:20 +03:00
Alexander Udalov
890d18e7be Support external annotations in IDE when approximating flexible types 2015-04-29 01:09:36 +03:00
Alexander Udalov
2271ca1e81 Further simplify Java annotation resolution
Filter annotations by FQ name, get rid of unneeded properties, lazy values,
static import some stuff
2015-04-29 01:09:36 +03:00
Alexander Udalov
d7c810a4d0 Copy only nullability/mutability annotations to types
Also don't render copied annotations
2015-04-29 01:09:35 +03:00
Alexander Udalov
3369da94e4 Rename annotationUtils.kt -> LazyJavaAnnotations.kt 2015-04-29 01:03:57 +03:00
Alexander Udalov
24bad39e76 Don't use external annotations in compiler
External annotations will be re-enabled in the IDE later.

This fixes LazyJavaAnnotations which was breaking the contract of Annotations:
findAnnotation(FqName) was looking for external annotations, while iterator()
did not. This resulted in some inconsistencies in the compiler and IDE tests.

The other way, i.e. making iterator() look up external annotations, would have
been too costly for the compiler and with no clear benefit at the moment.
2015-04-29 01:03:57 +03:00
Alexander Udalov
fe602d34ce Support type annotations in cls stub builder
Also add test on decompiler
2015-04-29 01:03:56 +03:00
Alexander Udalov
0732b78853 Serialize/deserialize annotations on types 2015-04-29 01:03:55 +03:00
Alexander Udalov
88abcdbde5 Minor, remove workarounds for the fixed KT-5786 2015-04-29 01:03:55 +03:00
Alexander Udalov
b860f2c9d5 Minor, remove temporary bootstrapping workaround 2015-04-29 01:03:54 +03:00
Mikhail Glukhikh
054e85338d Fix for EA-68153 (incorrect nullability) 2015-04-28 17:37:56 +03:00
Mikhail Glukhikh
fd789cb68e Correct behaviour for break / continue inside function call arguments, including multiple ones. Additional tests. 2015-04-28 17:37:53 +03:00
Pavel V. Talanov
3702089396 Minor: Do not throw on getContainingDeclaration() in test
Fix build
2015-04-28 16:45:44 +03:00
Pavel V. Talanov
032846aba0 Remove a couple of usages of KotlinBuiltIns.getInstance() 2015-04-28 16:45:43 +03:00
asedunov
7d28f8d2cf Merge pull request #656 from JetBrains/rr/yole/kt7483
fix JetPsiUtil.deleteClass() so that it no longer tries to delete the en...
2015-04-28 15:49:42 +03:00
asedunov
e701f8878d Merge pull request #657 from JetBrains/rr/yole/kt5207
support custom folding regions for Kotlin
2015-04-28 15:46:24 +03:00
Mikhail Glukhikh
8f2a3e9d5f Fixed DFA for the last assignment / initialization in block. A relevant test. #KT-7599 Fixed. 2015-04-28 15:16:39 +03:00
Mikhail Glukhikh
60fdfb8441 Bug fix: DataFlowInfo.getCompleteTypeInfo (with a test) 2015-04-28 15:16:36 +03:00
Pavel V. Talanov
17c3bf6502 Minor: improve DescriptorUtils#getContainingModule()
Correctly handle the case when descriptor is a child of PackageViewDescriptor
2015-04-28 12:49:39 +03:00
Pavel V. Talanov
ac2cb9af74 Remove some usages of KotlinBuiltIns.getInstance()
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Alexander Udalov
21d9c272c9 Minor, improve error messages when serializing error types 2015-04-28 00:54:31 +03:00
Alexander Udalov
95c4fb16f4 Minor, add toString() to PackageFragmentDescriptorImpl 2015-04-28 00:54:23 +03:00
Alexander Udalov
244f37aa74 Use preloader for JS compilation in build.xml
Similar to "new-kotlinc" macro. Before this change bootstrap-runtime appeared
earlier on the classpath than the newly built compiler, and so everything was
breaking when e.g. built-ins metadata had been updated (old version in the old
runtime was found earlier than the newer version in the compiler)
2015-04-28 00:52:03 +03:00
Alexander Udalov
167942f4bb Add constant "invoke" to OperatorConventions 2015-04-28 00:51:50 +03:00
Alexander Udalov
94eac98500 Reformat some code, optimize imports, remove unused
Mostly in JVM codegen intrinsics
2015-04-28 00:35:53 +03:00
Alexey Sedunov
7831e75955 Change Signature: Introduce variable for expression which can't be safely copied in the course of argument substitution 2015-04-27 23:02:39 +03:00
Alexey Sedunov
14f63cdce5 Change Signature: Substitute parameter references in default values of call expression arguments 2015-04-27 23:02:38 +03:00
Alexey Sedunov
cbbeec3790 Change Signature: Keep base function descriptor in JetParameterInfo 2015-04-27 23:02:36 +03:00
Alexey Sedunov
bd6031fea1 Change Signature: Initialize JetFunctionCallUsage delegate early to ensure consistent analysis results 2015-04-27 23:02:35 +03:00
Alexey Sedunov
720e696f6b Refactoring: Represent call-site default value of JetParameterInfo as JetExpression 2015-04-27 23:02:34 +03:00
Alexey Sedunov
8918ddbb0a Refactoring: Move jetRefactoringUtil.kt to idea module. Move compareDescriptors() and comparePossiblyOverridingDescriptors() to descriptorUtils.kt 2015-04-27 23:02:32 +03:00
Alexey Sedunov
d07fc878e7 Minor: Add default values to parameters of JetChangeInfo constructor 2015-04-27 23:02:31 +03:00
Dmitry Jemerov
3af20b5d45 support custom folding regions for Kotlin
#KT-5207 Fixed
2015-04-27 19:22:37 +02:00
Dmitry Jemerov
c2944181be fix JetPsiUtil.deleteClass() so that it no longer tries to delete the entire file when deleting a nested class or object
#KT-7483 Fixed
2015-04-27 18:37:43 +02:00
Natalia Ukhorskaya
47bc89775d Minor: add message for assert EA-64788 2015-04-27 18:43:48 +03:00
Natalia Ukhorskaya
328013a351 Evaluate Expression: box and unbox arguments before running JDIEval 2015-04-27 18:43:47 +03:00
Natalia Ukhorskaya
7e245e97ad JDIEval: add box and unbox methods 2015-04-27 18:43:47 +03:00
Natalia Ukhorskaya
7723a9f434 Fix evaluate expression on properties with getter 2015-04-27 18:43:46 +03:00
Dmitry Jemerov
cb553bc952 split string literal if Enter is pressed in the middle
#KT-6308 Fixed
2015-04-27 17:39:12 +02:00
Dmitry Jemerov
22aa8599c9 KotlinQuoteHandler: J2K 2015-04-27 17:39:11 +02:00
Dmitry Jemerov
e60ea6449a KotlinQuoteHandler: rename .java to .kt 2015-04-27 17:39:10 +02:00
Natalia Ukhorskaya
1ae3e9bbfe Subplugin-example: change scope for gradle-api library 2015-04-27 16:24:52 +03:00
Natalia Ukhorskaya
4d896b47e7 kotlin-android plugin: check minimal version of android plugin 2015-04-27 16:24:51 +03:00
Natalia Ukhorskaya
88e9439d25 kotlin-android plugin: use VariantDataList instead of list of Variant.
Support junit tests
Fix sourceRoot dependencies for productFlavors
#KT-7065 Fixed
#KT-7506 Fixed
2015-04-27 16:24:51 +03:00
Natalia Ukhorskaya
cb85da3162 Gradle: update kotlin-gradle-plugin dependencies 2015-04-27 16:24:50 +03:00
Natalia Ukhorskaya
2bccfa99e1 Gradle: update android test to use gradle 2.3 and android-plugin 1.1.0 2015-04-27 16:24:49 +03:00
Natalia Ukhorskaya
4265994118 Update gradle-api to 2.3 2015-04-27 16:24:49 +03:00
Natalia Ukhorskaya
8ed628cef5 Update README: how to update gradle-api.jar 2015-04-27 16:24:48 +03:00
Natalia Ukhorskaya
f0e93d2df5 Gradle: Include java sources to sources, not to classpath
#KT-7503 Fixed
2015-04-27 16:24:47 +03:00
asedunov
3da49df471 Merge pull request #650 from JetBrains/rr/yole/kt7531
override hierarchy: convert some more code to Kotlin, sort out nullabili...
2015-04-27 16:21:37 +03:00
Dmitry Jemerov
478b18e376 remove two final occurrences of 'class object' from testdata 2015-04-27 15:14:34 +02:00
Dmitry Jemerov
fd5c3e3b9d remove obsolete test for completing 'object' after 'class' 2015-04-27 15:14:33 +02:00
Dmitry Jemerov
cbbb2fcd48 fix JetParsingTestGenerated 2015-04-27 15:14:33 +02:00
Dmitry Jemerov
683d727c72 drop deprecated syntax for class objects 2015-04-27 15:14:33 +02:00
Dmitry Jemerov
61a02a9d5a convert isOverrideHierarchyElement() to extension function 2015-04-27 14:59:15 +02:00
Pavel V. Talanov
2bc4dde959 Minor: do not set default value in QualifiedExpressionResolver 2015-04-27 15:57:35 +03:00
Pavel V. Talanov
430b20cb74 Minor: missed copyright 2015-04-27 15:57:10 +03:00
Pavel V. Talanov
1a5efacbf3 Refactor frontend components
Make dependencies more explicit
Move components out of ExpressionTypingServices
Make ExpressionTypingUtils a true utility class, refactor stuff out
Extract new components: FakeCallResolver, MultiDeclarationResolver, ValueParameterResolver
2015-04-27 15:56:59 +03:00
Pavel V. Talanov
50ae8182b8 Refactor ExpressionTypingVisitorDispatcher to make it more "componentlike" 2015-04-27 15:56:43 +03:00
Pavel V. Talanov
1e5108a2ab Drop unused InjectorForLazyTopDownAnalyzerBasic 2015-04-27 15:56:36 +03:00
asedunov
c39dd59703 Merge pull request #649 from JetBrains/rr/yole/override-varargas
Override/Implement: J2K; correctly generate call to super method with varargs
2015-04-27 15:48:53 +03:00
Svetlana Isakova
4f0d541493 Resolve function references independently of target type
KT-7564 AbstractDiagnosticsTest.checkAllResolvedCallsAreCompleted() fails on tests with function references
 #KT-7564 Fixed
2015-04-27 13:32:47 +03:00
Ilya Gorbunov
5ee17c0c26 Remove deprecated split usages in build-protobuf-lite script. 2015-04-24 20:50:29 +03:00
Ilya Gorbunov
d734dad4b8 Replace deprecated methods in FormatHtmlUtil. 2015-04-24 20:50:28 +03:00
Michael Bogdanov
39fabda611 New diagnostic for Java default method call via super in trait 2015-04-24 18:54:09 +03:00
Michael Bogdanov
0854c601b4 Fix non local returns to functional expressions 2015-04-24 18:54:09 +03:00
Alexey Tsvetkov
012bc8f1db Revert "Simple workaround for problem described in KT-6437"
This reverts commit 34d408eb7b.
2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
764c506aaa JS: do not generate break for top level return during inline 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
cbdfaeb998 Minor in JS: store js test directives in a list 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
bced28ee41 Minor in JS: simplify count vars directive 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
900147385d JS: do not alias 'this' literal in a receiver position 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
6b09b4c2b6 JS: do not create variable for result, if inline call is only return subexpression 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
ea41bc4231 JS: do not create variable for result, if inline function has one top level return 2015-04-24 18:19:34 +03:00
Alexey Tsvetkov
c9b24510bb JS: do not create var for result if statement is 'someVar = inlineCall()' 2015-04-24 18:19:33 +03:00
Alexey Tsvetkov
fd09d4d837 Minor in JS: moved test for additional vars during inline to separate directory 2015-04-24 18:19:33 +03:00
Alexey Tsvetkov
7a0787bc25 JS: converted FunctionInlineMutator to Kotlin 2015-04-24 18:19:33 +03:00
Alexey Tsvetkov
3bad62840e JS: changed file extension FunctionInlineMutator.kt->.java 2015-04-24 18:19:33 +03:00
Dmitry Jemerov
d013221942 override hierarchy: convert some more code to Kotlin, sort out nullability
#KT-7531 Fixed
2015-04-24 15:27:00 +02:00
Dmitry Jemerov
0cf77dfb10 override/implement: correctly generate call to super method with vararg arguments
#KT-7580 FIxed
2015-04-24 14:59:46 +02:00
Ilya Ryzhenkov
bcb0b499f4 Workaround to allow QualifiedExpressionResolver to be created without an Injector. Should be fixed by code owner. 2015-04-24 15:44:44 +03:00
Ilya Ryzhenkov
79388d0dbf Update test data for highlighter tests on deprecations. 2015-04-24 15:44:43 +03:00
Ilya Ryzhenkov
879b6a0a3f Implement deprecated validator. 2015-04-24 15:44:42 +03:00
Ilya Ryzhenkov
288e1baa87 Tests, messages and infra for deprecated symbol reporting 2015-04-24 15:44:32 +03:00
Ilya Ryzhenkov
c8920b8158 Include arrayOf() into list of constant values for annotations 2015-04-24 15:44:30 +03:00
Ilya Ryzhenkov
aec37a35dc Add renderAccessors flag to DescriptorRenderer to render property accessors as "setter for …" 2015-04-24 15:44:29 +03:00
Ilya Ryzhenkov
c2b3bcc95f SymbolUsageValidator infrastructure 2015-04-24 15:44:28 +03:00
Dmitry Jemerov
f5019371bd OverrideImplementMethodsHandler: cleanup after conversion 2015-04-24 14:16:00 +02:00
Dmitry Jemerov
e9c669c841 OverrideImplementMethodsHandler: J2K 2015-04-24 14:05:58 +02:00
Dmitry Jemerov
5ba89206b7 OverrideImplementMethodsHandler: rename to .kt 2015-04-24 14:00:37 +02:00
Stanislav Erokhin
b3aadfd5e0 Performance workaround for assert call. 2015-04-24 09:02:47 +03:00
Stanislav Erokhin
8582f4ab47 Fixed memory leak 2015-04-24 09:02:47 +03:00
Alexander Udalov
d1f94e8468 Get rid of confusing javaToKotlinCovariant map 2015-04-24 02:09:34 +03:00
Alexander Udalov
d2cd7b00bb Map intrinsic companion objects in JavaToKotlinClassMap
Get rid of multiple usages of IntrinsicObjects where JavaToKotlinClassMap was
already used, simplify code, and support loading of *CompanionObject as Kotlin
built-in companions from Java code.

Also fix a small bug where Boolean was considered a class with an intrinsic
companion in IntrinsicObjects, although it was not
2015-04-24 02:09:26 +03:00
Alexander Udalov
987206bf95 Merge JavaToKotlinClassMap and JavaToKotlinClassMapBuilder 2015-04-24 02:09:05 +03:00
Alexander Udalov
43c11b2925 Merge CollectionClassMapping into JavaToKotlinClassMap 2015-04-24 02:09:05 +03:00
Alexander Udalov
a59fa5015e Merge KotlinToJavaTypesMap into JavaToKotlinClassMap
Also use this new Kotlin->Java mapping in RuntimeTypeMapper instead of
inheriting directly from JavaToKotlinClassMapBuilder
2015-04-24 02:09:05 +03:00
Alexander Udalov
b956fb5eb0 Pull Java<->Kotlin primitive type mapping up to JavaToKotlinClassMapBuilder 2015-04-24 02:09:04 +03:00
Alexander Udalov
4b07ec11ea Change Class<?> parameter to ClassId in JavaToKotlinClassMap implementations 2015-04-24 02:09:04 +03:00
Alexander Udalov
0dec1eaaad Refactor RuntimeTypeMapper, extract IntrinsicObjects-related behavior
Make it similar to other JavaToKotlinClassMapBuilder implementations to be able
to get rid of that inheritance
2015-04-24 02:09:04 +03:00
Alexander Udalov
ad02706294 Get rid of unnecessary map in RuntimeTypeMapper 2015-04-24 02:09:04 +03:00
Alexander Udalov
73de54f557 Get rid of unneeded additional map in JavaToKotlinClassMap 2015-04-24 02:09:03 +03:00
Alexander Udalov
deff3968db Simplify KotlinToJavaTypesMap, use only one map 2015-04-24 02:09:03 +03:00
Alexander Udalov
23a792aa44 Somewhat simplify mapping of JVM primitive types 2015-04-24 02:09:03 +03:00
Alexander Udalov
0a66c78449 Disperse primitive type mapping in JavaToKotlinClassMap 2015-04-24 02:09:02 +03:00
Alexander Udalov
d86b9c8f54 Drop unused primitive wrapper mapping in JavaToKotlinClassMap 2015-04-24 02:08:37 +03:00
Alexander Udalov
6a158c2b16 Remove unused method from PlatformToKotlinClassMap 2015-04-24 02:08:37 +03:00
Alexander Udalov
3014238189 Drop unused MutablePackageFragmentProvider 2015-04-24 02:08:36 +03:00
Alexander Udalov
34fa61675d Replace more eager asserts in project with lazy 2015-04-24 02:08:22 +03:00
Alexander Udalov
1a48b5750e Minor, remove unnecessary unwrapping of VariableAsFunctionResolvedCall
Almost all of its methods delegate to functionCall already
2015-04-23 22:09:02 +03:00
Alexander Udalov
07c2442405 Make $default methods non-private, avoid generating accessors for them
#KT-5786 Fixed
2015-04-23 22:09:02 +03:00
Pavel V. Talanov
dc05596ce0 Create FqName safely in KotlinCliJavaFileManagerImpl#findPackage
#KT-7501 Fixed
2015-04-23 21:10:58 +03:00
Mikhail Glukhikh
525b9e63ae Refactoring: checkType && checkImplicitCast returned to DataFlowUtils, PROCESSED unboxing returned, StringTemplateVisitor made local 2015-04-23 18:25:52 +03:00
Mikhail Glukhikh
8b241b8c05 Dead block removed (function literal inside do...while) 2015-04-23 18:25:50 +03:00
Mikhail Glukhikh
b40fe9d5ba Refactoring: TypeInfoFactory.createTypeInfo() without type -> noTypeInfo(), getNotNullType -> getTypeNotNull, nullability refined, style fixes 2015-04-23 18:25:47 +03:00
Nikolay Krasko
3e1c3e9dfe Don't search for NonClasspathClassFinder classes and package during Kotlin resolve 2015-04-23 17:38:07 +03:00
Nikolay Krasko
f972e12331 Use constant for empty resolve result 2015-04-23 17:38:05 +03:00
Michael Bogdanov
df2900c4e4 Introduced ParameterDescriptor type 2015-04-23 15:41:59 +03:00
Michael Bogdanov
53b8a1d56e Fix for KT-7544: Backend fails when inlining nested calls with reified type parameter and default value parameter
#KT-7544 Fixed
2015-04-23 15:41:59 +03:00
Dmitry Jemerov
72648d305e better folding for function literals
#KT-4090 Fixed
2015-04-23 13:37:35 +02:00
Dmitry Jemerov
048bb79946 JetFoldingBuilder: J2K and some cleanup 2015-04-23 13:37:34 +02:00
Dmitry Jemerov
185e3b8135 JetFoldingBuilder: rename .java to .kt 2015-04-23 13:37:34 +02:00
Ilya Gorbunov
526348b207 Implement toTypedArray as non-intrinsic.
Remove unused intrinsic method.
2015-04-23 14:10:42 +03:00
Stanislav Erokhin
c3f825a711 Update to idea 141.713.2 2015-04-23 13:50:47 +03:00
Denis Zharkov
470ad93328 Do not report inspection "no reflection" in annotation entries
Annotation codegen shouldn't use something from reflection.jar
2015-04-23 11:22:39 +03:00
Denis Zharkov
14df5b72b7 Minor, uncomment throws with class literal in code 2015-04-23 11:22:39 +03:00
Denis Zharkov
99fffc1b4b Optimize migrational intentions
- Run read/write action just once for all files
- Ignore file if no task is found
2015-04-23 11:22:39 +03:00
Denis Zharkov
3cb6b61a47 Add quickfix for migrating Java annotation method calls 2015-04-23 11:22:39 +03:00
Denis Zharkov
634b1a9568 Add workaround for KT-7544
Inlining lambdas into objects or non-inlineable lambdas does not work well.

Should be reverted after issue will be fixed
2015-04-23 11:22:39 +03:00
Denis Zharkov
fef568dbf0 Refactor migrational intentions
- Make them independent on element
- Extract common parts into JetWholeProjectModalByTaskCollectionAction class
2015-04-23 11:22:38 +03:00
Denis Zharkov
ef79b260f4 Extract common pattern in simple intention factories 2015-04-23 08:27:44 +03:00
Denis Zharkov
1b42e2fdcc Deprecate calls of annotations' methods 2015-04-23 08:27:43 +03:00
Denis Zharkov
29bf24b7d3 Use properties of Java annotations in codegen tests
Retain obsolete versions until support for methods in Java annotations is dropped
2015-04-23 08:27:42 +03:00
Denis Zharkov
6ca7d2aad7 Regenerate test data
Add properties for Java annotations
2015-04-23 08:27:41 +03:00
Denis Zharkov
93bbd2cbbc Java: load annotations methods as properties 2015-04-23 08:10:31 +03:00
Alexander Udalov
a0502d99f4 Minor, use substringBeforeLast instead of hand-written code 2015-04-23 03:20:11 +03:00
Michael Nedzelsky
7e69c414d4 JS: support new names for built-in metadata files starting with dot 2015-04-23 03:17:31 +03:00
Alexander Udalov
20cd360b07 Rename built-in metadata files starting with dot
Files starting with dot are considered as hidden on Unix systems, and sometimes
are ignored by the tools. For example, Android build tools do not package such
files to the resulting application, which causes Kotlin reflection to fail
there

 #KT-7088 Fixed
2015-04-23 03:17:29 +03:00
Alexey Sedunov
40864a554b Introduce Parameter: Add "Introduce default value" checkbox to the dialog 2015-04-22 23:56:48 +03:00
Alexey Sedunov
298dfa545f Introduce Parameter: Implement "Introduce lambda parameter" 2015-04-22 23:56:47 +03:00
Alexey Sedunov
2cc39995bb Extraction Engine: Simplify helper API 2015-04-22 23:56:46 +03:00
Zalim Bashorov
9dd527b76c Fix printing file size for TeamCity statistics 2015-04-22 19:52:00 +03:00
Ilya Gorbunov
7fba979372 Generate to[Primitive]Array() methods for generic arrays and collections.
#KT-4180 Fixed
2015-04-22 18:21:37 +03:00
Ilya Gorbunov
d18b086113 Refactor stdlib generator engine.
Introduce special class to hold generic function properties.
2015-04-22 18:21:35 +03:00
Ilya Gorbunov
343edcf8d0 Specify explicitly when to generate platformName annotation. 2015-04-22 18:21:33 +03:00
Ilya Gorbunov
592e6582b3 Provide isInfinite() and isFinite() functions for Double and Float.
#KT-7126 Fixed
2015-04-22 18:21:31 +03:00
Ilya Gorbunov
5dacb5a745 Provide average() method for iterables, sequences and arrays.
#KT-3843 Fixed
2015-04-22 18:21:29 +03:00
Ilya Gorbunov
f402ae8540 Ensure families and primitives have stable order, so that the code is generated in the same order each time. 2015-04-22 18:21:26 +03:00
Ilya Gorbunov
9759be5493 Generate sum() methods for arrays, iterables and sequences of Byte and Short. These overloads got explicit platformName.
Heuristics to decide when to set platformName.
#KT-3714
2015-04-22 18:21:24 +03:00
Ilya Gorbunov
ccc3646bb8 Generate coerceAtLeast, coerceAtMost and coerceIn extension functions for numbers and other Comparables. 2015-04-22 18:20:47 +03:00
Ilya Gorbunov
ade69ec0e9 Provide the emptySequence() method.
sequenceOf() with no arguments is equivalent to emptySequence().
#KT-7233 Fixed
2015-04-22 17:57:26 +03:00
Ilya Gorbunov
ae28379493 Provide Enumeration<T>.asSequence() method to make Enumeration usable in chained operations
#KT-6828 Fixed
2015-04-22 17:57:24 +03:00
Ilya Gorbunov
899a01e8c2 Rename sequence() extension to asSequence() 2015-04-22 17:57:20 +03:00
Zalim Bashorov
60347e87aa Print size of some kotlin2js artifacts for TeamCity statistics 2015-04-22 16:37:55 +03:00
Zalim Bashorov
5ec8d72949 Minor: download Rhino as dependency instead of store it in the repository 2015-04-22 15:46:02 +03:00
Nikolay Krasko
06fd6c4ba2 Allow to override teamcity bootstrap compiler for "bootstrap.build.no.tests" 2015-04-22 14:13:21 +03:00
Nikolay Krasko
0be99c8efc Add parameters to control what kotlin dependencies to download 2015-04-22 14:13:20 +03:00
Evgeny Gerashchenko
f5677d8424 Converted JetPsiUtil.getElementTextWithContext() to Kotlin extension function. 2015-04-22 14:10:00 +03:00
Zalim Bashorov
f59506c5e0 Minor: update rhino to 1.7.6 2015-04-22 12:48:22 +03:00
Zalim Bashorov
1ef9b9db1f JS backend: add the support function expression
#KT-7242 Fixed
2015-04-22 12:48:22 +03:00
Zalim Bashorov
02071c5bdd Minor: move function expression tests to separate directory 2015-04-22 12:48:21 +03:00
Zalim Bashorov
6e60a31b73 JS backend: don't translate labels on expression
#KT-7487 Fixed
2015-04-22 12:48:20 +03:00
Zalim Bashorov
1fe93c302a Minor in JS tests: move dummy abstract classes into one file 2015-04-22 12:48:20 +03:00
Evgeny Gerashchenko
9a4fbd35bd Supported Kotlin usages of Java class in automatic variable renamer. 2015-04-22 11:33:28 +03:00
Evgeny Gerashchenko
a9f9ca4ccb Supported Java usages in automatic variable renamer. 2015-04-22 11:33:27 +03:00
Evgeny Gerashchenko
3897548204 Minor. More post-conversion code cleanup. 2015-04-22 11:33:27 +03:00
Evgeny Gerashchenko
f7f90c8592 Minor. Renamed misleading function. 2015-04-22 11:33:27 +03:00
Evgeny Gerashchenko
5eadf4db17 Minor. Moved stuff from companion object to top-level. 2015-04-22 11:33:26 +03:00
Evgeny Gerashchenko
11020cacfd Renamed JetLineMarkerProvider to KotlinLineMarkerProvider. 2015-04-22 11:33:26 +03:00
Evgeny Gerashchenko
04e438f4f8 Post-conversion code cleanup. 2015-04-22 11:33:26 +03:00
Evgeny Gerashchenko
94311f262b Moved JetLineMarkerProvider. 2015-04-22 11:33:26 +03:00
Evgeny Gerashchenko
de9b26ac77 Convert JetLineMakerProvider to Kotlin. Auto-convert. 2015-04-22 11:33:25 +03:00
Evgeny Gerashchenko
09cff44207 Automatic renaming overloads in class or object.
#KT-4642 fixed
2015-04-22 11:33:25 +03:00
Evgeny Gerashchenko
d383e03a81 Automatic renaming top-level overloads.
#KT-4642 in progress
2015-04-22 11:33:25 +03:00
Evgeny Gerashchenko
8fe3a1d366 Added test for inheritor renamer (Kotlin subclasses of Java class). 2015-04-22 11:33:25 +03:00
Evgeny Gerashchenko
e1f6dfa52d EA-67458 - assert: UnusedSymbolInspection.hasNonTrivialUsages 2015-04-22 11:32:17 +03:00
Natalia Ukhorskaya
74e68950f9 Evaluate expression: support inline functions from source code 2015-04-22 10:56:39 +03:00
Natalia Ukhorskaya
9f2955c434 Minor: move methods 2015-04-22 10:35:22 +03:00
Natalia Ukhorskaya
50ad0af399 KotlinBytecodeToolWindow: analyze inline functions from multi declarations and from iterator call in for 2015-04-22 10:35:21 +03:00
Natalia Ukhorskaya
6a7bf4808d Minor: extract function 2015-04-22 10:35:20 +03:00
Natalia Ukhorskaya
715b9ad859 Collect inline functions using visitor 2015-04-22 10:35:20 +03:00
Natalia Ukhorskaya
f936689db3 Add test for KotlinBytecodeToolWindow 2015-04-22 10:35:19 +03:00
Natalia Ukhorskaya
907f0db7be Do not include files that contains only top level classes or objects to LightClassForPackage 2015-04-22 10:35:18 +03:00
Natalia Ukhorskaya
f575890732 Change J2K API for Web Demo 2015-04-22 10:35:17 +03:00
Ilya Gorbunov
9ed2cb3858 Provide zip() and merge() overloads for primitive arrays with themselves.
Better predicting size of resulting list of plus() operation.
#KT-4968 Fixed
2015-04-22 03:19:30 +03:00
Ilya Gorbunov
be11394adf Rename copyToArray() to toTypedArray(). 2015-04-21 21:27:28 +03:00
Ilya Gorbunov
5eb3c0bb5e Rename *array() factory methods to *arrayOf(). 2015-04-21 21:27:26 +03:00
Ilya Gorbunov
58310d172f Deprecate sequence implementations in favor of sequence operations. 2015-04-21 21:27:24 +03:00
Ilya Gorbunov
b2b98502e9 Deprecate Int.latch and Int.indices extensions. 2015-04-21 21:27:22 +03:00
asedunov
e9fe91ad2e Merge pull request #646 from JetBrains/rr/yole/kt2016
Find Usages: Provide element description for HighlightUsagesDescriptionLocation
2015-04-21 20:10:45 +03:00
Dmitry Jemerov
05c17a11c6 provide element description for HighlightUsagesDescriptionLocation
#KT-2016 Fixed
2015-04-21 18:45:33 +02:00
Alexey Sedunov
d815634233 Control-Flow: Assign pseudo-values to local functions (except those
declared directly in the block)
2015-04-21 17:10:46 +03:00
Alexey Sedunov
5b1906fb13 Control-Flow: Add tests for pseudo-values of labeled expressions 2015-04-21 17:10:45 +03:00
asedunov
417611e2be Merge pull request #644 from JetBrains/rr/yole/kt6669
Override/Implement Members: Escape identifiers in generated super method call
2015-04-21 16:42:23 +03:00
Dmitry Jemerov
d32ff50579 escape identifiers in generated super method call in Override/Implement
#KT-6669 Fixed
2015-04-15 15:44:11 +02:00
Ross Hanson
bbbdfd25d9 KT-4820: Added new tests, introduced functionality to detect overridden functions, other minor fixes 2014-05-09 05:48:50 -04:00
Ross Hanson
35c5a62b11 KT-4820: Intention to remove an unused index variable from a for loop. 2014-05-09 05:48:50 -04:00
Ross Hanson
97010c7d7f KT-4820: Intention to introduce an index variable to a for loop over an ordered collection via "withIndices()." 2014-05-09 05:45:30 -04:00
27669 changed files with 566741 additions and 307424 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
**/testData/** linguist-vendored

2
.gitignore vendored
View File

@@ -8,8 +8,6 @@
/ideaSDK
/android-studio/sdk
out
/pluginPublisher/idea*
/pluginPublisher/plugin-verifier.jar
tmp
workspace.xml
*.versionsBackup

5
.idea/ant.xml generated
View File

@@ -10,14 +10,13 @@
<buildFile url="file://$PROJECT_DIR$/TeamCityBuild.xml">
<maximumHeapSize value="512" />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/pluginPublisher/TeamCityPluginPublisher.xml" />
<buildFile url="file://$PROJECT_DIR$/idea-runner/runner.xml" />
<buildFile url="file://$PROJECT_DIR$/replicate_versions.xml" />
<buildFile url="file://$PROJECT_DIR$/libraries/build-docs.xml">
<maximumHeapSize value="1024" />
<properties>
<property name="dokka.path" value="../../dokka/out/artifacts" />
<property name="dokka.path" value="../../dokka" />
</properties>
</buildFile>
<buildFile url="file://$PROJECT_DIR$/TeamCityRelay.xml" />
</component>
</project>

View File

@@ -1,9 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="InjectorGenerator">
<output-path>$PROJECT_DIR$/out/artifacts/internal/</output-path>
<root id="archive" name="injector-generator.jar">
<element id="module-output" name="injector-generator" />
<element id="dir-copy" path="$PROJECT_DIR$/generators/injector-generator" />
</root>
</artifact>
</component>

View File

@@ -1,20 +0,0 @@
<component name="ArtifactManager">
<artifact name="KotlinAndroidExtensions">
<output-path>$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensions</output-path>
<root id="root">
<element id="directory" name="lib">
<element id="archive" name="kotlin-android-extensions.jar">
<element id="module-output" name="android-idea-plugin" />
</element>
<element id="directory" name="jps">
<element id="archive" name="kotlin-android-extensions-jps.jar">
<element id="module-output" name="android-jps-plugin" />
</element>
</element>
<element id="archive" name="android-compiler-plugin.jar">
<element id="module-output" name="android-compiler-plugin" />
</element>
</element>
</root>
</artifact>
</component>

View File

@@ -19,6 +19,11 @@
<element id="module-output" name="util" />
<element id="module-output" name="util.runtime" />
<element id="file-copy" path="$PROJECT_DIR$/resources/kotlinManifest.properties" />
<element id="module-output" name="daemon-client" />
<element id="module-output" name="daemon-common" />
<element id="module-output" name="deserialization" />
<element id="extracted-dir" path="$PROJECT_DIR$/dependencies/native-platform-uberjar.jar" path-in-jar="/" />
<element id="module-output" name="android-jps-plugin" />
</root>
</artifact>
</component>

View File

@@ -42,12 +42,22 @@
<element id="module-output" name="serialization" />
<element id="module-output" name="idea-completion" />
<element id="module-output" name="idea-core" />
<element id="module-output" name="container" />
<element id="module-output" name="daemon-common" />
<element id="module-output" name="idea-repl" />
<element id="module-output" name="idea-live-templates" />
</element>
<element id="library" level="project" name="javax.inject" />
<element id="directory" name="jps">
<element id="artifact" artifact-name="KotlinJpsPlugin" />
</element>
<element id="library" level="project" name="markdown" />
<element id="archive" name="kotlin-android-extensions-plugin.jar">
<element id="module-output" name="android-idea-plugin" />
</element>
<element id="archive" name="kotlin-android-extensions-compiler-plugin.jar">
<element id="module-output" name="android-compiler-plugin" />
</element>
</element>
<element id="directory" name="kotlinc">
<element id="dir-copy" path="$PROJECT_DIR$/dist/kotlinc" />

View File

@@ -274,7 +274,7 @@
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="jet">
<codeStyleSettings language="kotlin">
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
@@ -287,5 +287,4 @@
</option>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</component>
</project>
</project>

2
.idea/compiler.xml generated
View File

@@ -2,8 +2,10 @@
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<option name="BUILD_PROCESS_HEAP_SIZE" value="2000" />
<excludeFromCompile>
<directory url="file://$PROJECT_DIR$/core/reflection.jvm" includeSubdirectories="true" />
<directory url="file://$PROJECT_DIR$/core/runtime.jvm" includeSubdirectories="true" />
</excludeFromCompile>
<resourceExtensions />
<wildcardResourcePatterns>

View File

@@ -17,6 +17,7 @@
<w>redeclarations</w>
<w>subclassed</w>
<w>subgraph</w>
<w>substep</w>
</words>
</dictionary>
</component>

View File

@@ -2,12 +2,14 @@
<dictionary name="abreslav">
<words>
<w>accessor</w>
<w>covariantly</w>
<w>deserialized</w>
<w>dominator</w>
<w>inferrer</w>
<w>iterable</w>
<w>nondeterministic</w>
<w>nullable</w>
<w>overridable</w>
<w>pseudocode</w>
<w>substitutor</w>
<w>subtyping</w>

9
.idea/dictionaries/bashor.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<component name="ProjectDictionaryState">
<dictionary name="bashor">
<words>
<w>ctor</w>
<w>lookups</w>
<w>unescape</w>
</words>
</dictionary>
</component>

View File

@@ -2,6 +2,7 @@
<dictionary name="geevee">
<words>
<w>builtins</w>
<w>callables</w>
<w>klass</w>
<w>proto</w>
<w>protoc</w>

View File

@@ -1,14 +1,24 @@
<component name="ProjectDictionaryState">
<dictionary name="valentin">
<words>
<w>decapitalize</w>
<w>delegator</w>
<w>funs</w>
<w>immediates</w>
<w>initializers</w>
<w>inserter</w>
<w>negatable</w>
<w>pparent</w>
<w>precheck</w>
<w>prioritizer</w>
<w>processings</w>
<w>rbrace</w>
<w>rbracket</w>
<w>renderers</w>
<w>rparenth</w>
<w>selectioner</w>
<w>unpluralize</w>
<w>weighers</w>
</words>
</dictionary>
</component>

7
.idea/encodings.xml generated
View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

View File

@@ -408,7 +408,6 @@
<inspection_tool class="UnnecessaryUnboxing" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithPublicConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="VolatileLongOrDoubleField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="true" level="WARNING" enabled_by_default="true" />

7
.idea/kotlinc.xml generated
View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinCommonCompilerArguments">
<option name="suppressWarnings" value="true" />
</component>
</project>

14
.idea/libraries/Rhino.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="Rhino">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/rhino-1.7.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/rhino-1.7.6-sources.jar!/rhino1.7.6/src" />
</SOURCES>
</library>
</component>

View File

@@ -9,11 +9,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/android/android/ultimate/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib" recursive="false" />
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/android/lib/jps" recursive="false" />

14
.idea/libraries/ant.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="ant">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/ant-1.8/lib/ant.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.8.2-src.zip!/apache-ant-1.8.2/src/main" />
</SOURCES>
</library>
</component>

View File

@@ -1,21 +0,0 @@
<component name="libraryTable">
<library name="ant-1.7">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/ant-1.7/lib/ant.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/core/loaderref/src" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/core/containersrc" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/types/assertions" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/apt" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/rmic/src" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/fixcrlf/input" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/etc/testcases/taskdefs/fixcrlf/expected" />
<root url="jar://$PROJECT_DIR$/dependencies/apache-ant-1.7.0-src.zip!/apache-ant-1.7.0/src/main" />
</SOURCES>
</library>
</component>

View File

@@ -8,7 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -7,7 +7,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -10,21 +10,7 @@
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/gradle/lib" recursive="false" />
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/Groovy/lib" recursive="false" />

View File

@@ -2,7 +2,7 @@
<library name="idea-full">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/lib" />
@@ -12,328 +12,7 @@
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/cli-parser-1.1.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/vcs-api-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/editorconfig/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/lib" recursive="false" />
</library>

View File

@@ -2,7 +2,7 @@
<library name="intellij-core">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$PROJECT_DIR$/ideaSDK/core" />
@@ -11,328 +11,7 @@
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/vcs-api-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/editorconfig/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/core" recursive="false" />
</library>

View File

@@ -2,7 +2,7 @@
<library name="intellij-core-analysis">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/core-analysis/intellij-core-analysis.jar!/" />
@@ -11,328 +11,7 @@
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/asm5-src.zip!/" />
<root url="jar://$PROJECT_DIR$/dependencies/guava-17.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/gradle-tooling-extension-impl/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/groovy-psi/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jetgroovy/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/jps-standalone-builder/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/lang-impl/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/spellchecker/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework-java/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/testFramework/java-production" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/.jps-build-data/groovyStubs/util/java-test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/RegExpSupport/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/cucumber-test-runner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/build/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/images/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/forms-compiler/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/instrumentation-util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/javac2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/compiler/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/debugger/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/execution/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/idea-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-structure-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/java-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-base-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/jsp-spi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/manifest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/structuralsearch-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/java/typeMigration/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-launcher/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/plugin-system/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/json/tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/annotations/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/boot/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/core-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/duplicates-analysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/dvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/editor-ui-ex/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/extensions/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/external-system-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/forms_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/funcTests/project1/module1/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/indexing-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-api/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lang-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/lvcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-main/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/platform-tests/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/projectModel-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/agent-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/remote-servers/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/backend/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/debugger-ui/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/generated" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-model-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader-runtime/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/protocol-reader/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/script-debugger/protocol/schema-reader-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/smRunner/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structuralsearch/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/bootstrap/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testFramework/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/testRunner/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/usageView/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-api/vcs-api-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/graph/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/vcs-log/impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/xdebugger-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ByteCodeViewer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/InspectionGadgets/testsrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/IntelliLang-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/intellilang-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/xml-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntentionPowerPak/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ShortcutPromoter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ant/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/commander/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/copyright/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage-common/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/coverage/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cucumber-jvm-formatter/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/cvs-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/javacvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/smartcvs-src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/examples" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/cvs/trilead-ssh2-build213/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/devkit/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/eclipse/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/editorconfig/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/generate-tostring/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/remote-servers-git/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/test-stepdefs" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/git4idea/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/github/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/jps-plugin/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/runtime/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/google-app-engine/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/gradle/tooling-extension-impl/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/groovy-psi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/hotswap/agentSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt-constants/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/structuralsearch-groovy/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/groovy/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/hg4idea/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/engine/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-decompiler/plugin/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/FxBuilderEmbedder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/common-javaFX-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-CE/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/javaFX-jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/javaFX/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m31/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/resources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/svn4idea/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/jira/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-java/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/tasks/tasks-tests/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/terminal/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/testSources" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng_rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer-core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/ui-designer/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-lang/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xpath-view/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xpath/xslt-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/engine/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/rt/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/xslt-debugger/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/IntelliLang-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/course-creator/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/learn-python/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/edu/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ide/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/ipnb/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pluginTestSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/pydevSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/python-rest/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/rest/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/python/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/actions/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/applicationConfigurable/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/comparingReferences/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/source" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/conditionalOperatorConvertor/testSource" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/textEditor/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/toolWindow/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/samples/vfs/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/spellchecker/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/launcher-generator/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/binary" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/cup" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/interpreter" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/examples/simple" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/tools/lexer/jflex-1.4/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/updater/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/dom-tests/tests" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/openapi/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/relaxng/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/tests/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-analysis-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/xml/xml-structure-view-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -5,8 +5,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/java-support" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/IntelliLang/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

11
.idea/libraries/jansi.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="jansi">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/jansi.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/jansi-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -8,8 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/java-i18n/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -8,18 +8,8 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/antLayout/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/standalone-builder/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util/src" />
<root url="jar://$PROJECT_DIR$/dependencies/protobuf-java-2.5.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/platform/util-rt/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/jps" recursive="false" />
</library>

View File

@@ -8,9 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -8,9 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/jps-builders/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-impl/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/jps/model-serialization/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/jps/test" recursive="false" />
</library>

View File

@@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="js-test-libs">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/js/js.tests/testLib/rhino-1.7R4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/js/js.tests/testLib/src/rhino-1.7R4-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,16 +0,0 @@
<component name="libraryTable">
<library name="junit-4.11">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/hamcrest-core-1.3.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/junit-4.11.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/hamcrest-core-1.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/junit-4.11-sources.jar!/" />
</SOURCES>
</library>
</component>

16
.idea/libraries/junit_4_12.xml generated Normal file
View File

@@ -0,0 +1,16 @@
<component name="libraryTable">
<library name="junit-4.12">
<ANNOTATIONS>
<root url="file://$PROJECT_DIR$/annotations" />
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/hamcrest-core-1.3.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/junit-4.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/dependencies/hamcrest-core-1.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/dependencies/junit-4.12-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -5,10 +5,11 @@
</ANNOTATIONS>
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/junit/lib/idea-junit.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/junit/lib/resources_en.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/junit/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -2,12 +2,11 @@
<library name="kotlin-runtime">
<CLASSES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-runtime.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/libraries/stdlib/src" />
<root url="file://$PROJECT_DIR$/core/builtins/src" />
<root url="file://$PROJECT_DIR$/core/runtime.jvm/src" />
</SOURCES>
</library>
</component>

View File

@@ -8,17 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/main/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/src/test/java" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/jps-plugin/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven-server-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven2-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/maven3-server-impl/test" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m2/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/maven/artifact-resolver-m3/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/ideaSDK/plugins/maven/lib" recursive="false" />
</library>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="native-platform-uberjar">
<CLASSES>
<root url="jar://$PROJECT_DIR$/dependencies/native-platform-uberjar.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -8,11 +8,7 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/gen" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-api/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/properties-psi-impl/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/properties/testSrc" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -6,10 +6,12 @@
<CLASSES>
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/testng/lib/testng-plugin.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/testng/lib/testng.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/testng/lib/jcommander.jar!/" />
<root url="jar://$PROJECT_DIR$/ideaSDK/plugins/testng/lib/resources_en.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.zip!/plugins/testng/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/sources/sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -8,10 +8,10 @@
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/util/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/trove4j_src.jar!/generated/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/core/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/generated/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/test/src" />
<root url="jar://$PROJECT_DIR$/ideaSDK/lib/src/trove4j_src.jar!/util/src" />
</SOURCES>
</library>
</component>

11
.idea/misc.xml generated
View File

@@ -7,6 +7,9 @@
</component>
<component name="EntryPointsManager">
<entry_points version="2.0" />
<list size="1">
<item index="0" class="java.lang.String" itemvalue="javax.inject.Inject" />
</list>
</component>
<component name="FacetAutodetectingManager">
<autodetection-disabled>
@@ -42,11 +45,6 @@
<option value="$PROJECT_DIR$/confluence/pom.xml" />
</list>
</option>
<option name="ignoredFiles">
<set>
<option value="$PROJECT_DIR$/confluence/pom.xml" />
</set>
</option>
</component>
<component name="ProjectResources">
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
@@ -54,6 +52,9 @@
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="SuppressABINotification">
<option name="isSuppressed" value="true" />
</component>
<component name="WebServicesPlugin" addRequiredLibraries="true" />
<component name="com.sixrr.metrics.MetricsReloaded">
<option name="selectedProfile" value="" />

10
.idea/modules.xml generated
View File

@@ -8,6 +8,7 @@
<module fileurl="file://$PROJECT_DIR$/plugins/android-jps-plugin/android-jps-plugin.iml" filepath="$PROJECT_DIR$/plugins/android-jps-plugin/android-jps-plugin.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/android-studio/android-studio.iml" filepath="$PROJECT_DIR$/android-studio/android-studio.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/compiler/android-tests/android-tests.iml" filepath="$PROJECT_DIR$/compiler/android-tests/android-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/plugins/annotation-collector/annotation-collector.iml" filepath="$PROJECT_DIR$/plugins/annotation-collector/annotation-collector.iml" group="plugins" />
<module fileurl="file://$PROJECT_DIR$/ant/ant.iml" filepath="$PROJECT_DIR$/ant/ant.iml" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend/backend.iml" filepath="$PROJECT_DIR$/compiler/backend/backend.iml" group="compiler/java" />
<module fileurl="file://$PROJECT_DIR$/compiler/backend-common/backend-common.iml" filepath="$PROJECT_DIR$/compiler/backend-common/backend-common.iml" group="compiler" />
@@ -16,7 +17,13 @@
<module fileurl="file://$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" filepath="$PROJECT_DIR$/compiler/builtins-serializer/builtins-serializer.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli.iml" filepath="$PROJECT_DIR$/compiler/cli/cli.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-common/cli-common.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/cli/cli-runner/cli-runner.iml" filepath="$PROJECT_DIR$/compiler/cli/cli-runner/cli-runner.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/compiler/tests/compiler-tests.iml" filepath="$PROJECT_DIR$/compiler/tests/compiler-tests.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/conditional-preprocessor/conditional-preprocessor.iml" filepath="$PROJECT_DIR$/compiler/conditional-preprocessor/conditional-preprocessor.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/container/container.iml" filepath="$PROJECT_DIR$/compiler/container/container.iml" group="compiler" />
<module fileurl="file://$PROJECT_DIR$/compiler/daemon/daemon.iml" filepath="$PROJECT_DIR$/compiler/daemon/daemon.iml" group="compiler/daemon" />
<module fileurl="file://$PROJECT_DIR$/compiler/daemon/daemon-client/daemon-client.iml" filepath="$PROJECT_DIR$/compiler/daemon/daemon-client/daemon-client.iml" group="compiler/daemon" />
<module fileurl="file://$PROJECT_DIR$/compiler/daemon/daemon-common/daemon-common.iml" filepath="$PROJECT_DIR$/compiler/daemon/daemon-common/daemon-common.iml" group="compiler/daemon" />
<module fileurl="file://$PROJECT_DIR$/core/descriptor.loader.java/descriptor.loader.java.iml" filepath="$PROJECT_DIR$/core/descriptor.loader.java/descriptor.loader.java.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/descriptors/descriptors.iml" filepath="$PROJECT_DIR$/core/descriptors/descriptors.iml" group="core" />
<module fileurl="file://$PROJECT_DIR$/core/descriptors.runtime/descriptors.runtime.iml" filepath="$PROJECT_DIR$/core/descriptors.runtime/descriptors.runtime.iml" group="core" />
@@ -32,9 +39,10 @@
<module fileurl="file://$PROJECT_DIR$/idea/idea-completion/idea-completion.iml" filepath="$PROJECT_DIR$/idea/idea-completion/idea-completion.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-core/idea-core.iml" filepath="$PROJECT_DIR$/idea/idea-core/idea-core.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-jps-common/idea-jps-common.iml" filepath="$PROJECT_DIR$/idea/idea-jps-common/idea-jps-common.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-live-templates/idea-live-templates.iml" filepath="$PROJECT_DIR$/idea/idea-live-templates/idea-live-templates.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-repl/idea-repl.iml" filepath="$PROJECT_DIR$/idea/idea-repl/idea-repl.iml" />
<module fileurl="file://$PROJECT_DIR$/idea-runner/idea-runner.iml" filepath="$PROJECT_DIR$/idea-runner/idea-runner.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/idea/idea-test-framework/idea-test-framework.iml" filepath="$PROJECT_DIR$/idea/idea-test-framework/idea-test-framework.iml" group="ide" />
<module fileurl="file://$PROJECT_DIR$/generators/injector-generator/injector-generator.iml" filepath="$PROJECT_DIR$/generators/injector-generator/injector-generator.iml" group="infrastructure" />
<module fileurl="file://$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" filepath="$PROJECT_DIR$/compiler/preloader/instrumentation/instrumentation.iml" group="compiler/cli" />
<module fileurl="file://$PROJECT_DIR$/j2k/j2k.iml" filepath="$PROJECT_DIR$/j2k/j2k.iml" group="j2k" />
<module fileurl="file://$PROJECT_DIR$/compiler/java8-tests/java8-tests.iml" filepath="$PROJECT_DIR$/compiler/java8-tests/java8-tests.iml" group="compiler" />

View File

@@ -13,7 +13,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=320m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64m" />
<option name="VM_PARAMETERS" value="-ea -XX:+HeapDumpOnOutOfMemoryError -Xmx900m -XX:MaxPermSize=400m -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=128m" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
@@ -34,9 +34,6 @@
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="compiler-quick" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="runtime" />
</method>
<method />
</configuration>
</component>

View File

@@ -24,9 +24,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinAndroidExtensions" />
</option>
<option name="BuildArtifacts" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,23 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Generate Injectors" type="JetRunConfigurationType" factoryName="Kotlin">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.generators.injectors.InjectorsPackage" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="generators" />
<envs />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>

View File

@@ -6,7 +6,7 @@
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.generators.tests.TestsPackage" />
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.generators.tests.GenerateTestsKt" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />

View File

@@ -1,12 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IDEA" type="Application" factoryName="Application">
<configuration default="false" name="IDEA" type="Application" factoryName="Application" singleton="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin,$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensions -Dkotlin.internal.mode.enabled=true" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
@@ -43,9 +43,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinAndroidExtensions" />
</option>
<option name="BuildArtifacts" enabled="true" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea-runner/runner.xml" target="force-enable-kotlin-plugin" />
</method>
</configuration>

View File

@@ -1,8 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IDEA (No ProcessCanceledException)" type="Application" factoryName="Application">
<configuration default="false" name="IDEA (No ProcessCanceledException)" type="Application" factoryName="Application" singleton="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=250m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin,$PROJECT_DIR$/out/artifacts/KotlinAndroidExtensions -Didea.ProcessCanceledException=disabled -Dkotlin.internal.mode.enabled=true" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=250m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Didea.ProcessCanceledException=disabled -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -24,9 +24,7 @@
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinAndroidExtensions" />
</option>
<option name="BuildArtifacts" enabled="true" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea-runner/runner.xml" target="force-enable-kotlin-plugin" />
</method>
</configuration>

23
.idea/runConfigurations/IDEA__win_.xml generated Normal file
View File

@@ -0,0 +1,23 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IDEA (win)" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=${JAVA_HOME}\lib\tools.jar,../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="1.7" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="idea-runner" />
<envs />
<method>
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea-runner/runner.xml" target="force-enable-kotlin-plugin" />
</method>
</configuration>
</component>

View File

@@ -1,37 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Incremental Compilation Tests" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="jps-plugin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.jps.build" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="pattern" />
<option name="VM_PARAMETERS" value="-ea -Xmx512m -XX:MaxPermSize=320m -Dkotlin.incremental.compilation=true" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns>
<pattern testClass="org.jetbrains.kotlin.jps.build.IncrementalJpsTestGenerated" />
<pattern testClass="org.jetbrains.kotlin.jps.build.IncrementalCacheVersionChangedTest" />
<pattern testClass="org.jetbrains.kotlin.jps.build.IncrementalConstantSearchTest" />
</patterns>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="true" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="dist-quick-compiler-only" />
</method>
</configuration>
</component>

View File

@@ -7,9 +7,9 @@
</pattern>
</extension>
<module name="java8-tests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="1.8" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin.codegen" />
<option name="PACKAGE_NAME" value="org.jetbrains.kotlin" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />

View File

@@ -0,0 +1,29 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Update-Dist-Run" type="Application" factoryName="Application" singleton="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.intellij.idea.Main" />
<option name="VM_PARAMETERS" value="-Xmx800m -XX:ReservedCodeCacheSize=64m -XX:MaxPermSize=450m -XX:+HeapDumpOnOutOfMemoryError -ea -Didea.is.internal=true -Didea.debug.mode=true -Didea.system.path=../system-idea -Didea.config.path=../config-idea -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.io.useCanonCaches=false -Dplugin.path=$PROJECT_DIR$/out/artifacts/Kotlin -Dkotlin.internal.mode.enabled=true -Didea.additional.classpath=../idea-kotlin-runtime/kotlin-runtime.jar,../idea-kotlin-runtime/kotlin-reflect.jar" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/ideaSDK/bin" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="idea-runner" />
<envs />
<method>
<option name="Make" enabled="false" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="clean_idea_output" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/update_dependencies.xml" target="update" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/build.xml" target="dist" />
<option name="MakeProject" enabled="true" />
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Generate Tests" run_configuration_type="Application" />
<option name="BuildArtifacts" enabled="true">
<artifact name="KotlinPlugin" />
</option>
<option name="BuildArtifacts" enabled="true" />
<option name="AntTarget" enabled="true" antfile="file://$PROJECT_DIR$/idea_runner/runner.xml" target="force_enable_kotlin_plugin" />
</method>
</configuration>
</component>

View File

@@ -47,4 +47,4 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
</module>

View File

@@ -1,20 +1,27 @@
<a href="http://kotlinslackin.herokuapp.com"><img src="https://kotlinslackin.herokuapp.com/badge.svg" height="20"></a>
[![TeamCity (simple build status)](https://img.shields.io/teamcity/http/teamcity.jetbrains.com/s/bt345.svg)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=bt345&branch_Kotlin=%3Cdefault%3E&tab=buildTypeStatusDiv)
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlin/kotlin-maven-plugin.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.jetbrains.kotlin%22)
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
# Kotlin Programming Language
Welcome to [Kotlin](http://kotlinlang.org/)! Some handy links:
* [Kotlin Site](http://kotlinlang.org/)
* [Getting Started Guide](http://kotlinlang.org/docs/tutorials/getting-started.html)
* [Web Demo](http://kotlin-demo.jetbrains.com/)
* [API](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/index.html)
* [Try Kotlin](http://try.kotlinlang.org/)
* [Kotlin Standard Library](http://kotlinlang.org/api/latest/jvm/stdlib/index.html)
* [Issue Tracker](http://youtrack.jetbrains.com/issues/KT)
* [Forum](http://devnet.jetbrains.net/community/kotlin?view=discussions)
* [Kotlin Blog](http://blog.jetbrains.com/kotlin/)
* [Follow Kotlin on Twitter](http://twitter.com/#!/project_kotlin)
* [Follow Kotlin on Twitter](https://twitter.com/kotlin)
* [Public Slack channel](http://kotlinslackin.herokuapp.com/)
* [TeamCity CI build](https://teamcity.jetbrains.com/project.html?tab=projectOverview&projectId=Kotlin)
## Editing Kotlin
* [Kotlin IntelliJ IDEA Plugin](http://hadihariri.com/2012/02/17/the-kotlin-journey-part-i-getting-things-set-up/)
* [Kotlin Eclipse Plugin](http://kotlinlang.org/docs/tutorials/getting-started-eclipse.html)
* [Kotlin TextMate Bundle](https://github.com/k33g/kotlin-textmate-bundle#readme)
## Building
@@ -31,7 +38,7 @@ which will setup the dependencies on
Then, you need to run
ant -f build.xml
which will build the binaries of the compiler and put them into the 'dist' directory. You may need to increase the **heap size** for Ant using
[ANT_OPTS](http://www.liferay.com/community/wiki/-/wiki/Main/Ant+opts).
@@ -56,7 +63,7 @@ To keep the plugin version in sync with the rest of the team and our [Continuous
you should install the according to the [instructions below](#plugin-for-contributors).
If you want to have an IntelliJ IDEA installation without the Kotlin plugin which is separate to your default IntelliJ IDEA installation which has the Kotlin
plugin [see this document](http://devnet.jetbrains.net/docs/DOC-181) which describes how to have mutliple IntelliJ IDEA installations using different configurations and plugin directories.
plugin [see this document](http://devnet.jetbrains.net/docs/DOC-181) which describes how to have multiple IntelliJ IDEA installations using different configurations and plugin directories.
From this root project there are Run/Debug Configurations for running IDEA or the Compiler Tests for example; so if you want to try out the latest and greatest IDEA plugin
@@ -83,7 +90,7 @@ You can now open any Kotlin based projects.
**Note for contributors**: If you are planning to contribute to Kotlin project you probably want to have locally the same version of plugin that build server is using for building.
As this version is constantly moving, the best way to always be updated is to let IntelliJ IDEA notify you when it is time to renew your plugin.
Open
Open
Preferences -> Plugins -> Browse Repositories -> Manage Repositories...
@@ -95,15 +102,22 @@ Then update the list of plugins in "Browse Repositories", you'll see two version
# Contributing
We love contributions! There's [lots to do on Kotlin](http://youtrack.jetbrains.com/issues/KT) and on the [standard library](https://youtrack.jetbrains.com/issues/KT?q=Subtask+of%3A+KT-2554+%23Unresolved) so why not chat with us on the [forum](http://devnet.jetbrains.net/community/kotlin?view=discussions) about what you're interested in doing?
We love contributions! There's [lots to do on Kotlin](http://youtrack.jetbrains.com/issues/KT) and on the
[standard library](https://youtrack.jetbrains.com/issues/KT?q=Subtask+of%3A+KT-2554+%23Unresolved) so why not chat with us
about what you're interested in doing? Please join the #kontributors channel in [our Slack chat](http://kotlinslackin.herokuapp.com/)
and let us know about your plans.
If you want to find some issues to start off with, try [this query](https://youtrack.jetbrains.com/issues?q=tag%3A+%7BUp+For+Grabs%7D+%23Unresolved) which should find all issues that marked as "up-for-grabs".
Currently only committers can assign issues to themselves so just add a comment if you're starting work on it.
A nice gentle way to contribute would be to review the [API docs](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/index.html) and find classes or functions which are not documented very well and submit a patch.
A nice gentle way to contribute would be to review the [standard library docs](http://kotlinlang.org/api/latest/jvm/stdlib/index.html)
and find classes or functions which are not documented very well and submit a patch.
In particular it'd be great if all functions included a nice example of how to use it such as for the <a href="http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/java/util/Collection-extensions.html#filter(kotlin.Function1)">filter()</a> function on Collection. This is implemented using the <a href="https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/IterablesLazy.kt#L17">@includeFunctionBody</a> macro to include code from a test function. This serves as a double win; the API gets better documented with nice examples to help new users and the code gets more test coverage.
In particular it'd be great if all functions included a nice example of how to use it such as for the
<a href="http://kotlinlang.org/api/latest/jvm/stdlib/kotlin/hash-map-of.html">hashMapOf()</a> function.
This is implemented using the <a href=https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/collections/Maps.kt#L53">@sample</a>
macro to include code from a test function. This serves as a double win; the API gets better documented with nice examples to help new users and the code gets more test coverage.
Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) could really use your help. See the [JavaScript contribution section](https://github.com/JetBrains/kotlin/blob/master/js/ReadMe.md) for more details.
@@ -112,7 +126,7 @@ Also the [JavaScript translation](https://github.com/JetBrains/kotlin/blob/maste
The Kotlin compiler is written in Java and Kotlin (we gradually migrate more and more of it to pure Kotlin). So the easiest way to work on the compiler or IntelliJ IDEA plugin is
* download a clean [IDEA 14 EAP build](http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP)
* download a clean [IDEA 15 EAP build](https://confluence.jetbrains.com/display/IDEADEV/IDEA+15+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [root kotlin project](https://github.com/JetBrains/kotlin) in IDEA (opening the kotlin directory)
@@ -125,7 +139,7 @@ You can now run the various Run/Debug Configurations such as
## If you want to work on the Kotlin libraries
* download a clean [IDEA 14 EAP build](http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP)
* download a clean [IDEA 15 EAP build](https://confluence.jetbrains.com/display/IDEADEV/IDEA+15+EAP)
* [install the Kotlin plugin](#pre-built-plugin)
* open the [kotlin libraries project](https://github.com/JetBrains/kotlin/tree/master/libraries)
@@ -141,8 +155,10 @@ Some of the code in the standard library is created by generating code from temp
The best way to submit a patch is to [fork the project on github](http://help.github.com/fork-a-repo/) then send us a
[pull request](http://help.github.com/send-pull-requests/) via [github](http://github.com).
If you create your own fork, it might help to [enable rebase by default when you pull](http://d.strelau.net/post/47338904/git-pull-rebase-by-default)
which will avoid your local repo having too many merge commits which will help keep your pull request simple and easy to apply.
If you create your own fork, it might help to enable rebase by default
when you pull by executing `git config --global pull.rebase
true`. This will avoid your local repo having too many merge commits
which will help keep your pull request simple and easy to apply.
## Commit comments

View File

@@ -1,29 +1,27 @@
<project name="Jet CI Steps" default="none">
<project name="Kotlin CI Steps" default="none">
<import file="build.xml" optional="false"/>
<import file="replicate_versions.xml" optional="false"/>
<property name="build.number" value="snapshot"/>
<property name="jdk16.home" value="${java.home}"/>
<property name="fail.on.plugin.verifier.error" value="true"/>
<property name="version_substitute_dir" value="${basedir}/versions_temp/" />
<property name="version_substitute_dir" value="${basedir}/versions_temp/"/>
<property name="artifact.output.path" value="${basedir}/out/artifacts"/>
<property name="plugin.xml" value="idea/src/META-INF/plugin.xml"/>
<property name="plugin.xml.bk" value="${version_substitute_dir}/plugin.xml.bk"/>
<property name="plugin.xml.versioned" value="${plugin.xml}.versioned" />
<property name="android-extensions.plugin.xml" value="plugins/android-idea-plugin/src/META-INF/plugin.xml"/>
<property name="android-extensions.plugin.xml.bk" value="${version_substitute_dir}/kotlin-android-extensions.plugin.xml.bk"/>
<property name="android-extensions.plugin.xml.versioned" value="${android-extensions.plugin.xml}.versioned" />
<property name="plugin.xml.versioned" value="${plugin.xml}.versioned"/>
<property name="compiler.version.java" value="compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/KotlinVersion.java"/>
<property name="compiler.version.java.bk" value="${version_substitute_dir}/KotlinVersion.java.bk"/>
<property name="compiler.version.java.versioned" value="${compiler.version.java}.versioned" />
<property name="compiler.version.java.versioned" value="${compiler.version.java}.versioned"/>
<property name="plugin.zip" value="${artifact.output.path}/kotlin-plugin-${build.number}.zip" />
<property name="bare.plugin.zip" value="${artifact.output.path}/kotlin-bare-plugin-${build.number}.zip" />
<property name="android-extensions.zip" value="${artifact.output.path}/kotlin-android-extensions-plugin-${build.number}.zip" />
<property name="plugin.zip" value="${artifact.output.path}/kotlin-plugin-${build.number}.zip"/>
<property name="bare.plugin.zip" value="${artifact.output.path}/kotlin-bare-plugin-${build.number}.zip"/>
<property name="android-extensions.zip" value="${artifact.output.path}/kotlin-android-extensions-plugin-${build.number}.zip"/>
<property name="kotlin.bare.plugin.xml" value="jps-plugin/bare-plugin/src/META-INF/plugin.xml"/>
<property name="kotlin.bare.plugin.xml.bk" value="${version_substitute_dir}/kotlin.bare.plugin.xml.bk"/>
<macrodef name="echoprop">
<attribute name="prop"/>
@@ -47,69 +45,67 @@
</target>
<macrodef name="substituteVersionInFile">
<attribute name="target.file"/>
<attribute name="test.string"/>
<attribute name="target.file.bk" default="@{target.file}.bk"/>
<attribute name="target.file.versioned" default="@{target.file}.versioned"/>
<attribute name="token.key" default="snapshot"/>
<attribute name="version" default="${build.number}"/>
<sequential>
<!-- Create backup. Backup will be restored after build end. This will allow to rebuild project without renew
plugin.xml from repository. -->
<copy file="@{target.file}" tofile="@{target.file.bk}"/>
<attribute name="target.file"/>
<attribute name="test.string"/>
<attribute name="target.file.bk" default="@{target.file}.bk"/>
<attribute name="target.file.versioned" default="@{target.file}.versioned"/>
<attribute name="token.key" default="snapshot"/>
<attribute name="version" default="${build.number}"/>
<sequential>
<!-- Create backup. Backup will be restored after build end. This will allow to rebuild project without renew
plugin.xml from repository. -->
<copy file="@{target.file}" tofile="@{target.file.bk}"/>
<!-- Check that version has correct pattern for substitution -->
<copy todir="">
<fileset file="@{target.file.bk}">
<contains text="@{test.string}"/>
</fileset>
<filterchain>
<replacetokens>
<token key="@{token.key}" value="@{version}"/>
</replacetokens>
</filterchain>
<mergemapper to="@{target.file.versioned}"/>
</copy>
<!-- Check that version has correct pattern for substitution -->
<copy todir="">
<fileset file="@{target.file.bk}">
<contains text="@{test.string}"/>
</fileset>
<filterchain>
<replacetokens>
<token key="@{token.key}" value="@{version}"/>
</replacetokens>
</filterchain>
<mergemapper to="@{target.file.versioned}"/>
</copy>
<!-- If file doesn't exist - there's a problem with original plugin.xml. Probably there's a bad pattern used for version -->
<copy file="@{target.file.versioned}" tofile="@{target.file}" overwrite="true"/>
<!-- If file doesn't exist - there's a problem with original plugin.xml. Probably there's a bad pattern used for version -->
<copy file="@{target.file.versioned}" tofile="@{target.file}" overwrite="true"/>
<delete file="@{target.file.versioned}" quiet="true"/>
</sequential>
<delete file="@{target.file.versioned}" quiet="true"/>
</sequential>
</macrodef>
<target name="writeVersionToTemplateFiles">
<mkdir dir="${version_substitute_dir}"/>
<mkdir dir="${version_substitute_dir}"/>
<substituteVersionInFile
target.file="${plugin.xml}"
target.file.bk="${plugin.xml.bk}"
target.file.versioned="${plugin.xml.versioned}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
<substituteVersionInFile
target.file="${plugin.xml}"
target.file.bk="${plugin.xml.bk}"
target.file.versioned="${plugin.xml.versioned}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
<substituteVersionInFile
target.file="${android-extensions.plugin.xml}"
target.file.bk="${android-extensions.plugin.xml.bk}"
target.file.versioned="${android-extensions.plugin.xml.versioned}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
<substituteVersionInFile
target.file="${compiler.version.java}"
target.file.bk="${compiler.version.java.bk}"
target.file.versioned="${compiler.version.java.versioned}"
test.string="public static final String VERSION = &quot;@snapshot@&quot;;"/>
<substituteVersionInFile
target.file="${compiler.version.java}"
target.file.bk="${compiler.version.java.bk}"
target.file.versioned="${compiler.version.java.versioned}"
test.string="public static final String VERSION = &quot;@snapshot@&quot;;"/>
<substituteVersionInFile
target.file="${kotlin.bare.plugin.xml}"
target.file.bk="${kotlin.bare.plugin.xml.bk}"
test.string="&lt;version&gt;@snapshot@&lt;/version&gt;"/>
<replicateIdeaVersion target.file="${android-extensions.plugin.xml}" />
</target>
<target name="revertTemplateFiles">
<copy file="${plugin.xml.bk}" tofile="${plugin.xml}" overwrite="true"/>
<copy file="${compiler.version.java.bk}" tofile="${compiler.version.java}" overwrite="true"/>
<copy file="${kotlin.bare.plugin.xml.bk}" tofile="${kotlin.bare.plugin.xml}" overwrite="true"/>
<delete dir="${version_substitute_dir}" quiet="true"/>
</target>
<target name="revertTemplateFiles">
<copy file="${plugin.xml.bk}" tofile="${plugin.xml}" overwrite="true"/>
<copy file="${android-extensions.plugin.xml.bk}" tofile="${android-extensions.plugin.xml}" overwrite="true"/>
<copy file="${compiler.version.java.bk}" tofile="${compiler.version.java}" overwrite="true"/>
<delete dir="${version_substitute_dir}" quiet="true"/>
</target>
<target name="pre_build" depends="writeVersionToTemplateFiles, cleanupArtifacts"/>
<target name="zipArtifacts">
@@ -120,8 +116,10 @@
<sequential>
<zip destfile="@{filename}">
<zipfileset prefix="@{dir}" dir="${artifact.output.path}/@{dir}" excludes="kotlinc/bin/*"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" includes="*.bat" filemode="644"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" excludes="*.bat" filemode="755"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" includes="*.bat"
filemode="644"/>
<zipfileset prefix="@{dir}/kotlinc/bin" dir="${artifact.output.path}/@{dir}/kotlinc/bin" excludes="*.bat"
filemode="755"/>
</zip>
<delete dir="${artifact.output.path}/@{dir}" quiet="true"/>
</sequential>
@@ -131,9 +129,8 @@
<zipPlugin filename="${bare.plugin.zip}" dir="BareKotlin"/>
<zip destfile="${android-extensions.zip}">
<zipfileset prefix="KotlinAndroidExtensions" dir="${artifact.output.path}/KotlinAndroidExtensions" />
<zipfileset prefix="META-INF" dir="${basedir}/plugins/android-idea-plugin/old_plugin" includes="plugin.xml" />
</zip>
<delete dir="${artifact.output.path}/KotlinAndroidExtensions" quiet="true"/>
</target>
<macrodef name="print-statistic">
@@ -145,17 +142,63 @@
</sequential>
</macrodef>
<target name="printStatistics">
<length file="${kotlin-home}/lib/kotlin-runtime.jar" property="runtime.jar.size"/>
<print-statistic key="kotlin-runtime.jar size" value="${runtime.jar.size}"/>
<macrodef name="print-file-size-statistic">
<attribute name="path"/>
<attribute name="file-name"/>
<length file="${kotlin-home}/lib/kotlin-reflect.jar" property="reflect.jar.size"/>
<print-statistic key="kotlin-reflect.jar size" value="${reflect.jar.size}"/>
<sequential>
<local name="file.size"/>
<length file="@{path}/@{file-name}" property="file.size"/>
<print-statistic key="@{file-name} size" value="${file.size}"/>
</sequential>
</macrodef>
<target name="printStatistics">
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-runtime.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-reflect.jar"/>
<print-file-size-statistic path="${kotlin-home}/lib" file-name="kotlin-jslib.jar"/>
<print-file-size-statistic path="${output}" file-name="kotlin.js"/>
<print-file-size-statistic path="${output}" file-name="builtins.js"/>
<print-file-size-statistic path="${output}" file-name="builtins.meta.js"/>
<print-file-size-statistic path="${output}" file-name="stdlib.js"/>
<print-file-size-statistic path="${output}" file-name="stdlib.meta.js"/>
</target>
<target name="post_build" depends="zipArtifacts, revertTemplateFiles, printStatistics"/>
<target name="post_build" depends="zipArtifacts, revertTemplateFiles, printStatistics, remove_internal_artifacts, dont_remove_internal_artifacts"/>
<target name="none">
<fail message="Either specify pre_build or post_build"/>
</target>
<property name="teamcity.build.branch" value=""/>
<condition property="need.remove.artifacts" value="true">
<and>
<matches pattern="rr/.*" string="${teamcity.build.branch}"/>
<not>
<matches pattern="rr/internal/.*" string="${teamcity.build.branch}"/>
</not>
</and>
</condition>
<target name="remove_internal_artifacts" description="Remove internal artifacts for rr/* branches, but store them for rr/internal/*" if="need.remove.artifacts">
<echo message="Remove internal artifacts" />
<delete failonerror="false" verbose="true">
<fileset dir="dist">
<include name="kotlin-compiler-before-shrink.jar"/>
<include name="kotlin-for-upsource.jar"/>
<include name="kotlin-for-upsource-sources.jar"/>
<include name="kotlin-test-data.zip"/>
</fileset>
<fileset dir="out/artifacts/internal">
<include name="kotlin-ide-common.jar"/>
</fileset>
</delete>
</target>
<target name="dont_remove_internal_artifacts" unless="need.remove.artifacts">
<echo message="Internal artifacts left untouched"/>
</target>
</project>

99
TeamCityRelay.xml Normal file
View File

@@ -0,0 +1,99 @@
<project name="Change plugins version" default="change-version">
<property name="relay.origin.version" value="1.0.0-beta-2423"/>
<property name="relay.substitute.version" value="1.0.0-beta-2423-IJ-141-3"/>
<property name="relay.plugins.dir" value="artifacts"/>
<property name="relay.unpack.directory" value="relay-dir"/>
<macrodef name="substituteRegexpInFile">
<attribute name="src.file"/>
<attribute name="output.dir"/>
<attribute name="origin.version"/>
<attribute name="substituted.version"/>
<sequential>
<copy todir="@{output.dir}">
<fileset file="@{src.file}"/>
<filterchain>
<replaceregex pattern="@{origin.version}" replace="@{substituted.version}" />
</filterchain>
</copy>
</sequential>
</macrodef>
<macrodef name="substitudeVersionInPlugin">
<attribute name="plugin.path"/>
<attribute name="plugin.jar.name"/>
<attribute name="origin.version"/>
<attribute name="substituted.version"/>
<attribute name="plugin.subdir"/>
<attribute name="output-dir" default="@{substituted.version}"/>
<attribute name="output.plugin.file.name" default="@{plugin.jar.name}-@{substituted.version}.zip"/>
<attribute name="temp.origin.dir" default="${relay.unpack.directory}/@{plugin.jar.name}/plugin-origin"/>
<attribute name="temp.substitute.dir" default="${relay.unpack.directory}/@{plugin.jar.name}/substitute"/>
<sequential>
<delete dir="${relay.unpack.directory}/@{plugin.jar.name}"/>
<mkdir dir="${relay.unpack.directory}/@{plugin.jar.name}"/>
<unzip src="@{plugin.path}" dest="@{temp.origin.dir}">
<patternset>
<include name="**/lib/@{plugin.jar.name}.jar" />
</patternset>
<flattenmapper/>
</unzip>
<unzip src="@{temp.origin.dir}/@{plugin.jar.name}.jar" dest="@{temp.origin.dir}">
<patternset>
<include name="**/META-INF/plugin.xml" />
</patternset>
<flattenmapper/>
</unzip>
<substituteRegexpInFile
src.file="@{temp.origin.dir}/plugin.xml" output.dir="@{temp.substitute.dir}"
origin.version="@{origin.version}" substituted.version="@{substituted.version}"/>
<!-- Copy updated file back into jar -->
<copy file="@{temp.origin.dir}/@{plugin.jar.name}.jar" todir="@{temp.substitute.dir}"/>
<jar destfile="@{temp.substitute.dir}/@{plugin.jar.name}.jar" update="true">
<zipfileset file="@{temp.substitute.dir}/plugin.xml" prefix="META-INF"/>
</jar>
<!-- Pack updated plugin.jar back to zip file -->
<copy file="@{plugin.path}" tofile="@{substituted.version}/@{output.plugin.file.name}"/>
<zip destfile="@{substituted.version}/@{output.plugin.file.name}" update="true">
<zipfileset file="@{temp.substitute.dir}/@{plugin.jar.name}.jar" prefix="@{plugin.subdir}/lib"/>
</zip>
</sequential>
</macrodef>
<target name="change-version" description="Repack plugin with other version">
<delete dir="${relay.unpack.directory}"/>
<delete dir="${relay.substitute.version}"/>
<mkdir dir="${relay.unpack.directory}"/>
<mkdir dir="${relay.substitute.version}"/>
<substitudeVersionInPlugin
plugin.jar.name="kotlin-plugin"
plugin.path="${relay.plugins.dir}/kotlin-plugin-${relay.origin.version}.zip"
origin.version="${relay.origin.version}"
plugin.subdir="Kotlin"
substituted.version="${relay.substitute.version}"/>
<substitudeVersionInPlugin
plugin.jar.name="kotlin-bare-plugin"
plugin.path="${relay.plugins.dir}/kotlin-bare-plugin-${relay.origin.version}.zip"
origin.version="${relay.origin.version}"
plugin.subdir="BareKotlin"
substituted.version="${relay.substitute.version}"/>
<substitudeVersionInPlugin
plugin.jar.name="kotlin-android-extensions"
plugin.path="${relay.plugins.dir}/kotlin-android-extensions-plugin-${relay.origin.version}.zip"
origin.version="${relay.origin.version}"
plugin.subdir="KotlinAndroidExtensions"
substituted.version="${relay.substitute.version}"/>
</target>
</project>

View File

@@ -1,9 +0,0 @@
<root>
<item
name='com.android.tools.idea.gradle.output.parser.PatternAwareOutputParser boolean parse(java.lang.String, com.android.tools.idea.gradle.output.parser.OutputLineReader, java.util.List&lt;com.android.tools.idea.gradle.output.GradleMessage&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun parse(line: String, reader: OutputLineReader, messages: MutableList&lt;GradleMessage&gt;): Boolean&quot;"/>
</annotation>
</item>
</root>

View File

@@ -19,13 +19,6 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor T extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[])'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -42,12 +35,6 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun extractTransferableData(content: Transferable): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -171,13 +158,6 @@
<item name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandler boolean canSelect(com.intellij.psi.PsiElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandler java.util.List&lt;com.intellij.openapi.util.TextRange&gt; select(com.intellij.psi.PsiElement, java.lang.CharSequence, int, com.intellij.openapi.editor.Editor)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun select(e: PsiElement, editorText: CharSequence, cursorOffset: Int, editor: Editor): List&lt;TextRange&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandler java.util.List&lt;com.intellij.openapi.util.TextRange&gt; select(com.intellij.psi.PsiElement, java.lang.CharSequence, int, com.intellij.openapi.editor.Editor) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -210,13 +190,6 @@
name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandlerBase java.util.List&lt;com.intellij.openapi.util.TextRange&gt; expandToWholeLine(java.lang.CharSequence, com.intellij.openapi.util.TextRange, boolean) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandlerBase java.util.List&lt;com.intellij.openapi.util.TextRange&gt; select(com.intellij.psi.PsiElement, java.lang.CharSequence, int, com.intellij.openapi.editor.Editor)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun select(e: PsiElement, editorText: CharSequence, cursorOffset: Int, editor: Editor): List&lt;TextRange&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.ExtendWordSelectionHandlerBase java.util.List&lt;com.intellij.openapi.util.TextRange&gt; select(com.intellij.psi.PsiElement, java.lang.CharSequence, int, com.intellij.openapi.editor.Editor) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -1,17 +1,5 @@
<root>
<item
name='com.intellij.codeInsight.intention.IntentionAction boolean isAvailable(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiFile)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.intention.IntentionAction void invoke(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiFile)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun invoke(project: Project, editor: Editor, file: PsiFile): Unit&quot;"/>
</annotation>
</item>
<item
<item
name='com.intellij.codeInsight.intention.PsiElementBaseIntentionAction boolean isAvailable(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.psi.PsiElement) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -93,12 +93,6 @@
name='com.intellij.codeInsight.lookup.LookupElementDecorator void renderElement(com.intellij.codeInsight.lookup.LookupElementPresentation) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementRenderer void renderElement(T, com.intellij.codeInsight.lookup.LookupElementPresentation)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun renderElement(element: T?, presentation: LookupElementPresentation): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.lookup.LookupElementRenderer void renderElement(T, com.intellij.codeInsight.lookup.LookupElementPresentation) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -3,12 +3,6 @@
name='com.intellij.codeInsight.unwrap.RangeSplitter java.util.List&lt;com.intellij.openapi.util.TextRange&gt; split(com.intellij.openapi.util.TextRange, java.util.List&lt;com.intellij.openapi.util.TextRange&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.unwrap.ScopeHighlighter ScopeHighlighter(com.intellij.openapi.editor.Editor, com.intellij.util.NotNullFunction&lt;com.intellij.psi.PsiElement,com.intellij.openapi.util.TextRange&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun ScopeHighlighter(editor: Editor, ranger: NotNullFunction&lt;PsiElement, TextRange&gt;?)&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.unwrap.ScopeHighlighter void highlight(com.intellij.psi.PsiElement, java.util.List&lt;com.intellij.psi.PsiElement&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -1,9 +1,4 @@
<root>
<item name='com.intellij.codeInspection.InspectionToolProvider java.lang.Class[] getInspectionClasses()'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun getInspectionClasses(): Array&lt;Class&lt;out Any?&gt;&gt;&quot;"/>
</annotation>
</item>
<item name='com.intellij.codeInspection.SuppressIntentionAction EMPTY_ARRAY'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -1,10 +1,4 @@
<root>
<item
name='com.intellij.debugger.actions.JvmSmartStepIntoHandler java.util.List&lt;com.intellij.debugger.actions.SmartStepTarget&gt; findSmartStepTargets(com.intellij.debugger.SourcePosition)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun findSmartStepTargets(position: SourcePosition): List&lt;SmartStepTarget&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.debugger.actions.JvmSmartStepIntoHandler java.util.List&lt;com.intellij.debugger.actions.SmartStepTarget&gt; findSmartStepTargets(com.intellij.debugger.SourcePosition) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -2,13 +2,6 @@
<item name='com.intellij.debugger.engine.DebugProcessImpl com.intellij.debugger.jdi.VirtualMachineProxyImpl getVirtualMachineProxy()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.debugger.engine.FrameExtraVariablesProvider java.util.Set&lt;com.intellij.debugger.engine.evaluation.TextWithImports&gt; collectVariables(com.intellij.debugger.SourcePosition, com.intellij.debugger.engine.evaluation.EvaluationContext, java.util.Set&lt;java.lang.String&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun collectVariables(sourcePosition: SourcePosition?, evalContext: EvaluationContext?, alreadyCollected: Set&lt;String&gt;?): Set&lt;TextWithImports&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.debugger.engine.MethodFilter boolean locationMatches(com.intellij.debugger.engine.DebugProcessImpl, com.sun.jdi.Location) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -8,23 +8,7 @@
<item name='com.intellij.ide.hierarchy.HierarchyBrowserBaseEx myBuilders'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.ide.hierarchy.HierarchyBrowserBaseEx void createTrees(java.util.Map&lt;java.lang.String,javax.swing.JTree&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun createTrees(trees: MutableMap&lt;String, JTree&gt;): Unit&quot;"/>
</annotation>
</item>
<item name='com.intellij.ide.hierarchy.HierarchyBrowserBaseEx void prependActions(com.intellij.openapi.actionSystem.DefaultActionGroup)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun prependActions(actionGroup: DefaultActionGroup): Unit&quot;"/>
</annotation>
</item>
<item name='com.intellij.ide.hierarchy.HierarchyNodeDescriptor myHighlightedText'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.ide.hierarchy.HierarchyProvider com.intellij.ide.hierarchy.HierarchyBrowser createHierarchyBrowser(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun createHierarchyBrowser(target: PsiElement): HierarchyBrowser&quot;"/>
</annotation>
</item>
</root>

View File

@@ -1,8 +0,0 @@
<root>
<item
name='com.intellij.ide.hierarchy.type.TypeHierarchyBrowser void prependActions(com.intellij.openapi.actionSystem.DefaultActionGroup)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun prependActions(actionGroup: DefaultActionGroup): Unit&quot;"/>
</annotation>
</item>
</root>

View File

@@ -1,8 +0,0 @@
<root>
<item
name='com.intellij.ide.util.treeView.smartTree.NodeProvider java.util.Collection&lt;T&gt; provideNodes(com.intellij.ide.util.treeView.smartTree.TreeElement)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun provideNodes(node: TreeElement): Collection&lt;T&gt;&quot;"/>
</annotation>
</item>
</root>

View File

@@ -3,22 +3,7 @@
name='com.intellij.openapi.util.Conditions com.intellij.openapi.util.Condition&lt;T&gt; or(com.intellij.openapi.util.Condition&lt;T&gt;, com.intellij.openapi.util.Condition&lt;T&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.util.Key T get(com.intellij.openapi.util.UserDataHolder, T)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun get(holder: UserDataHolder?, defaultValue: T): T&quot;"/>
</annotation>
</item>
<item name='com.intellij.openapi.util.Key com.intellij.openapi.util.Key&lt;T&gt; create(java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.openapi.util.Pair A getFirst()'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun getFirst(): A&quot;"/>
</annotation>
</item>
<item name='com.intellij.openapi.util.Pair B getSecond()'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun getSecond(): B&quot;"/>
</annotation>
</item>
</root>

View File

@@ -1,10 +1,4 @@
<root>
<item
name='com.intellij.platform.ProjectTemplatesFactory com.intellij.platform.ProjectTemplate[] createTemplates(java.lang.String, com.intellij.ide.util.projectWizard.WizardContext)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun createTemplates(group: String, context: WizardContext?): Array&lt;out ProjectTemplate&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.platform.ProjectTemplatesFactory com.intellij.platform.ProjectTemplate[] createTemplates(java.lang.String, com.intellij.ide.util.projectWizard.WizardContext) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -19,26 +19,13 @@
name='com.intellij.psi.search.searches.OverridingMethodsSearch com.intellij.util.Query&lt;com.intellij.psi.PsiMethod&gt; search(com.intellij.psi.PsiMethod, com.intellij.psi.search.SearchScope, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.psi.search.searches.ReferencesSearch com.intellij.util.Query&lt;com.intellij.psi.PsiReference&gt; search(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun search(element: PsiElement): Query&lt;PsiReference&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.psi.search.searches.ReferencesSearch com.intellij.util.Query&lt;com.intellij.psi.PsiReference&gt; search(com.intellij.psi.PsiElement, com.intellij.psi.search.SearchScope)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun search(element: PsiElement, searchScope: SearchScope): Query&lt;PsiReference&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.psi.search.searches.ReferencesSearch com.intellij.util.Query&lt;com.intellij.psi.PsiReference&gt; search(com.intellij.psi.PsiElement, com.intellij.psi.search.SearchScope, boolean)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun search(element: PsiElement, searchScope: SearchScope, ignoreAccessScope: Boolean): Query&lt;PsiReference&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.psi.search.searches.ReferencesSearch com.intellij.util.Query&lt;com.intellij.psi.PsiReference&gt; search(com.intellij.psi.search.searches.ReferencesSearch.SearchParameters)'>

View File

@@ -1,10 +1,4 @@
<root>
<item
name='com.intellij.refactoring.BaseRefactoringProcessor boolean preprocessUsages(com.intellij.openapi.util.Ref&lt;com.intellij.usageView.UsageInfo[]&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun preprocessUsages(refUsages: Ref&lt;Array&lt;UsageInfo&gt;&gt;): Boolean&quot;"/>
</annotation>
</item>
<item name='com.intellij.refactoring.BaseRefactoringProcessor myProject'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -7,13 +7,6 @@
name='com.intellij.refactoring.move.MoveHandlerDelegate boolean isValidTarget(com.intellij.psi.PsiElement, com.intellij.psi.PsiElement[]) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.refactoring.move.MoveHandlerDelegate boolean tryToMove(com.intellij.psi.PsiElement, com.intellij.openapi.project.Project, com.intellij.openapi.actionSystem.DataContext, com.intellij.psi.PsiReference, com.intellij.openapi.editor.Editor)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun tryToMove(element: PsiElement, project: Project, dataContext: DataContext?, reference: PsiReference?, editor: Editor?): Boolean&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.move.MoveHandlerDelegate com.intellij.psi.PsiElement[] adjustForMove(com.intellij.openapi.project.Project, com.intellij.psi.PsiElement[], com.intellij.psi.PsiElement) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -1,11 +1,4 @@
<root>
<item
name='com.intellij.refactoring.move.moveFilesOrDirectories.MoveFileHandler java.util.List&lt;com.intellij.usageView.UsageInfo&gt; findUsages(com.intellij.psi.PsiFile, com.intellij.psi.PsiDirectory, boolean, boolean)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun findUsages(psiFile: PsiFile, newParent: PsiDirectory, searchInComments: Boolean, searchInNonJavaFiles: Boolean): List&lt;UsageInfo&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.move.moveFilesOrDirectories.MoveFileHandler void prepareMovedFile(com.intellij.psi.PsiFile, com.intellij.psi.PsiDirectory, java.util.Map&lt;com.intellij.psi.PsiElement,com.intellij.psi.PsiElement&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -1,11 +1,4 @@
<root>
<item
name='com.intellij.refactoring.rename.RenamePsiElementProcessor void findCollisions(com.intellij.psi.PsiElement, java.lang.String, java.util.Map&lt;? extends com.intellij.psi.PsiElement,java.lang.String&gt;, java.util.List&lt;com.intellij.usageView.UsageInfo&gt;)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun findCollisions(element: PsiElement?, newName: String?, allRenames: Map&lt;out PsiElement?, String&gt;, result: MutableList&lt;UsageInfo&gt;): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.rename.RenamePsiElementProcessor void findCollisions(com.intellij.psi.PsiElement, java.lang.String, java.util.Map&lt;? extends com.intellij.psi.PsiElement,java.lang.String&gt;, java.util.List&lt;com.intellij.usageView.UsageInfo&gt;) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -22,13 +15,6 @@
name='com.intellij.refactoring.rename.RenamePsiElementProcessor void findExistingNameConflicts(com.intellij.psi.PsiElement, java.lang.String, com.intellij.util.containers.MultiMap&lt;com.intellij.psi.PsiElement,java.lang.String&gt;, java.util.Map&lt;com.intellij.psi.PsiElement,java.lang.String&gt;) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.refactoring.rename.RenamePsiElementProcessor void prepareRenaming(com.intellij.psi.PsiElement, java.lang.String, java.util.Map&lt;com.intellij.psi.PsiElement,java.lang.String&gt;, com.intellij.psi.search.SearchScope)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun prepareRenaming(element: PsiElement?, newName: String?, allRenames: MutableMap&lt;PsiElement, String&gt;, scope: SearchScope): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.rename.RenamePsiElementProcessor void prepareRenaming(com.intellij.psi.PsiElement, java.lang.String, java.util.Map&lt;com.intellij.psi.PsiElement,java.lang.String&gt;, com.intellij.psi.search.SearchScope) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>

View File

@@ -1,98 +0,0 @@
<root>
<item
name='com.intellij.refactoring.safeDelete.JavaSafeDeleteDelegate void createUsageInfoForParameter(com.intellij.psi.PsiReference, java.util.List&lt;com.intellij.usageView.UsageInfo&gt;, com.intellij.psi.PsiParameter, com.intellij.psi.PsiMethod)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun createUsageInfoForParameter(reference: PsiReference, usages: MutableList&lt;UsageInfo&gt;, parameter: PsiParameter, method: PsiMethod): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.JavaSafeDeleteProcessor java.util.Collection&lt;? extends com.intellij.psi.PsiElement&gt; getElementsToSearch(com.intellij.psi.PsiElement, com.intellij.openapi.module.Module, java.util.Collection&lt;com.intellij.psi.PsiElement&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun getElementsToSearch(element: PsiElement, module: Module?, allElementsToDelete: Collection&lt;PsiElement&gt;): Collection&lt;out PsiElement&gt;?&quot;"/>
</annotation>
</item>
<item name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate boolean handlesElement(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun handlesElement(element: PsiElement): Boolean&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate boolean isToSearchForTextOccurrences(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun isToSearchForTextOccurrences(element: PsiElement): Boolean&quot;"/>
</annotation>
</item>
<item name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate boolean isToSearchInComments(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun isToSearchInComments(element: PsiElement): Boolean&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate com.intellij.refactoring.safeDelete.NonCodeUsageSearchInfo findUsages(com.intellij.psi.PsiElement, com.intellij.psi.PsiElement[], java.util.List&lt;com.intellij.usageView.UsageInfo&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun findUsages(element: PsiElement, allElementsToDelete: Array&lt;out PsiElement&gt;, result: MutableList&lt;UsageInfo&gt;): NonCodeUsageSearchInfo?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate com.intellij.usageView.UsageInfo[] preprocessUsages(com.intellij.openapi.project.Project, com.intellij.usageView.UsageInfo[])'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun preprocessUsages(project: Project, usages: Array&lt;out UsageInfo&gt;): Array&lt;UsageInfo&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate java.util.Collection&lt;? extends com.intellij.psi.PsiElement&gt; getElementsToSearch(com.intellij.psi.PsiElement, java.util.Collection&lt;com.intellij.psi.PsiElement&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun getElementsToSearch(element: PsiElement, allElementsToDelete: Collection&lt;PsiElement&gt;): Collection&lt;out PsiElement&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate java.util.Collection&lt;com.intellij.psi.PsiElement&gt; getAdditionalElementsToDelete(com.intellij.psi.PsiElement, java.util.Collection&lt;com.intellij.psi.PsiElement&gt;, boolean)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun getAdditionalElementsToDelete(element: PsiElement, allElementsToDelete: Collection&lt;PsiElement&gt;, askUser: Boolean): MutableCollection&lt;PsiElement&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate java.util.Collection&lt;java.lang.String&gt; findConflicts(com.intellij.psi.PsiElement, com.intellij.psi.PsiElement[])'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun findConflicts(element: PsiElement, allElementsToDelete: Array&lt;out PsiElement&gt;): MutableCollection&lt;String&gt;?&quot;"/>
</annotation>
</item>
<item name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate void prepareForDeletion(com.intellij.psi.PsiElement)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun prepareForDeletion(element: PsiElement): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate void setToSearchForTextOccurrences(com.intellij.psi.PsiElement, boolean)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun setToSearchForTextOccurrences(element: PsiElement, enabled: Boolean): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegate void setToSearchInComments(com.intellij.psi.PsiElement, boolean)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun setToSearchInComments(element: PsiElement, enabled: Boolean): Unit&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegateBase java.util.Collection&lt;? extends com.intellij.psi.PsiElement&gt; getElementsToSearch(com.intellij.psi.PsiElement, com.intellij.openapi.module.Module, java.util.Collection&lt;com.intellij.psi.PsiElement&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun getElementsToSearch(element: PsiElement, module: Module?, allElementsToDelete: Collection&lt;PsiElement&gt;): Collection&lt;out PsiElement&gt;?&quot;"/>
</annotation>
</item>
<item
name='com.intellij.refactoring.safeDelete.SafeDeleteProcessorDelegateBase java.util.Collection&lt;? extends com.intellij.psi.PsiElement&gt; getElementsToSearch(com.intellij.psi.PsiElement, java.util.Collection&lt;com.intellij.psi.PsiElement&gt;)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value"
val="&quot;fun getElementsToSearch(element: PsiElement, allElementsToDelete: Collection&lt;PsiElement&gt;): Collection&lt;out PsiElement&gt;?&quot;"/>
</annotation>
</item>
</root>

View File

@@ -6,11 +6,6 @@
name='com.intellij.testFramework.fixtures.CodeInsightTestFixture com.intellij.openapi.vfs.VirtualFile copyDirectoryToProject(java.lang.String, java.lang.String)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='com.intellij.testFramework.fixtures.CodeInsightTestFixture void assertPreferredCompletionItems(int, java.lang.String...)'>
<annotation name='jet.runtime.typeinfo.KotlinSignature'>
<val name="value" val="&quot;fun assertPreferredCompletionItems(selected: Int, vararg expected: String)&quot;"/>
</annotation>
</item>
<item name='com.intellij.testFramework.fixtures.IdeaProjectTestFixture com.intellij.openapi.project.Project getProject()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>

View File

@@ -1,8 +0,0 @@
<root>
<item
name='com.intellij.ui.classFilter.DebuggerClassFilterProvider java.util.List&lt;com.intellij.ui.classFilter.ClassFilter&gt; getFilters()'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun getFilters(): List&lt;ClassFilter&gt;?&quot;"/>
</annotation>
</item>
</root>

View File

@@ -1,9 +0,0 @@
<root>
<item
name='com.intellij.xdebugger.settings.XDebuggerSettings java.util.Collection&lt;? extends com.intellij.openapi.options.Configurable&gt; createConfigurables(com.intellij.xdebugger.settings.DebuggerSettingsCategory)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun createConfigurables(category: DebuggerSettingsCategory): Collection&lt;out Configurable?&gt;&quot;"/>
</annotation>
</item>
</root>

View File

@@ -7,7 +7,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="ant-1.7" level="project" />
<orderEntry type="library" name="ant" level="project" />
<orderEntry type="library" name="kotlin-runtime" level="project" />
<orderEntry type="module" module-name="preloader" />
</component>

View File

@@ -26,7 +26,7 @@ public class Kotlin2JsTask : KotlinCompilerBaseTask() {
public var outputPrefix: File? = null
public var outputPostfix: File? = null
public var sourceMap: Boolean = false
public var metaInfo: File? = null
public var metaInfo: Boolean = false
/**
* {@link K2JsArgumentConstants.CALL} (default) if need generate a main function call (main function will be auto detected)
@@ -52,7 +52,7 @@ public class Kotlin2JsTask : KotlinCompilerBaseTask() {
// TODO: write test
library?.let {
args.add("-library-files")
args.add(it.list().map { File(it).canonicalPath }.join(separator = ","))
args.add(it.list().joinToString(separator = ",") { File(it).canonicalPath })
}
outputPrefix?.let {
@@ -72,10 +72,6 @@ public class Kotlin2JsTask : KotlinCompilerBaseTask() {
if (noStdlib) args.add("-no-stdlib")
if (sourceMap) args.add("-source-map")
metaInfo?.let {
args.add("-meta-info")
args.add(it.canonicalPath)
}
if (metaInfo) args.add("-meta-info")
}
}

View File

@@ -23,18 +23,11 @@ import java.io.File.pathSeparator
public class Kotlin2JvmTask : KotlinCompilerBaseTask() {
override val compilerFqName = "org.jetbrains.kotlin.cli.jvm.K2JVMCompiler"
public var externalAnnotations: Path? = null
public var includeRuntime: Boolean = true
public var moduleName: String? = null
private var compileClasspath: Path? = null
public fun createExternalAnnotations(): Path {
if (externalAnnotations == null) {
externalAnnotations = Path(getProject())
}
return externalAnnotations!!.createPath()
}
public fun setClasspath(classpath: Path) {
if (compileClasspath == null) {
compileClasspath = classpath
@@ -61,12 +54,17 @@ public class Kotlin2JvmTask : KotlinCompilerBaseTask() {
compileClasspath?.let {
args.add("-classpath")
args.add(it.list().join(pathSeparator))
args.add(it.list().joinToString(pathSeparator))
}
externalAnnotations?.let {
args.add("-annotations")
args.add(it.list().join(pathSeparator))
if (moduleName == null) {
moduleName = defaultModuleName
}
moduleName?.let {
args.add("-module-name")
args.add(moduleName!!)
}
if (noStdlib) args.add("-no-stdlib")

View File

@@ -0,0 +1,72 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.ant
import org.apache.tools.ant.AntClassLoader
import org.apache.tools.ant.Task
import org.jetbrains.kotlin.preloading.ClassPreloadingUtils
import org.jetbrains.kotlin.preloading.Preloader
import java.io.File
import java.lang.ref.SoftReference
import java.net.JarURLConnection
object KotlinAntTaskUtil {
private var classLoaderRef = SoftReference<ClassLoader?>(null)
private val libPath: File by lazy {
// Find path of kotlin-ant.jar in the filesystem and find kotlin-compiler.jar in the same directory
val resourcePath = "/" + javaClass.getName().replace('.', '/') + ".class"
val jarConnection = javaClass.getResource(resourcePath).openConnection() as? JarURLConnection
?: throw UnsupportedOperationException("Kotlin compiler Ant task should be loaded from the JAR file")
val antTaskJarPath = File(jarConnection.getJarFileURL().toURI())
antTaskJarPath.getParentFile()
}
val compilerJar: File by lazy {
File(libPath, "kotlin-compiler.jar").assertExists()
}
val runtimeJar: File by lazy {
File(libPath, "kotlin-runtime.jar").assertExists()
}
private fun File.assertExists(): File {
if (!this.exists()) {
throw IllegalStateException("${getName()} is not found in the directory of Kotlin Ant task")
}
return this
}
@Synchronized
fun getOrCreateClassLoader(): ClassLoader {
val cached = classLoaderRef.get()
if (cached != null) return cached
val myLoader = javaClass.classLoader
if (myLoader !is AntClassLoader) return myLoader
val classLoader = ClassPreloadingUtils.preloadClasses(listOf(compilerJar), Preloader.DEFAULT_CLASS_NUMBER_ESTIMATE, myLoader, null)
classLoaderRef = SoftReference(classLoader)
return classLoader
}
}
public val Task.defaultModuleName: String?
get() = owningTarget?.name ?: project?.name

View File

@@ -1,57 +0,0 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.ant;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.Javac;
import org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter;
import org.apache.tools.ant.taskdefs.compilers.Javac13;
import org.apache.tools.ant.types.Path;
public class KotlinCompilerAdapter extends DefaultCompilerAdapter {
private Path externalAnnotations;
public void setExternalAnnotations(Path externalAnnotations) {
this.externalAnnotations = externalAnnotations;
}
public Path createExternalAnnotations() {
if (externalAnnotations == null) {
externalAnnotations = new Path(getProject());
}
return externalAnnotations.createPath();
}
@Override
public boolean execute() throws BuildException {
Javac javac = getJavac();
Kotlin2JvmTask kotlinTask = new Kotlin2JvmTask();
kotlinTask.setOutput(javac.getDestdir());
kotlinTask.setClasspath(javac.getClasspath());
kotlinTask.setSrc(javac.getSrcdir());
kotlinTask.setExternalAnnotations(externalAnnotations);
kotlinTask.execute();
javac.log("Running javac...");
Javac13 javac13 = new Javac13();
javac13.setJavac(javac);
return javac13.execute();
}
}

View File

@@ -0,0 +1,131 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.ant
import org.apache.tools.ant.BuildException
import org.apache.tools.ant.MagicNames
import org.apache.tools.ant.Project.MSG_WARN
import org.apache.tools.ant.taskdefs.compilers.Javac13
import org.apache.tools.ant.taskdefs.condition.AntVersion
import org.apache.tools.ant.types.Commandline
import org.apache.tools.ant.types.Path
import java.io.File
import java.util.*
class KotlinCompilerAdapter : Javac13() {
var moduleName: String? = null
var additionalArguments: MutableList<Commandline.Argument> = ArrayList(0)
fun createCompilerArg(): Commandline.Argument {
val argument = Commandline.Argument()
additionalArguments.add(argument)
return argument
}
override fun getSupportedFileExtensions(): Array<String> {
return super.getSupportedFileExtensions() + KOTLIN_EXTENSIONS
}
@Throws(BuildException::class)
override fun execute(): Boolean {
val javac = javac
checkAntVersion()
val kotlinc = Kotlin2JvmTask()
kotlinc.failOnError = javac.failonerror
kotlinc.output = javac.destdir
val classpath = javac.classpath
if (classpath != null) {
kotlinc.setClasspath(classpath)
}
// We use the provided src dir instead of compileList, because the latter is insane:
// it is constructed only of sources which are newer than classes with the same name
kotlinc.src = javac.srcdir
if (moduleName == null) {
moduleName = javac.defaultModuleName
}
kotlinc.moduleName = moduleName
kotlinc.additionalArguments.addAll(additionalArguments)
// Javac13#execute passes everything in compileList to javac, which doesn't recognize .kt files
val compileListForJavac = filterOutKotlinSources(compileList)
val hasKotlinFilesInSources = compileListForJavac.size() < compileList.size()
if (hasKotlinFilesInSources) {
kotlinc.execute()
if (kotlinc.exitCode != 0) {
// Don't run javac if failOnError = false and there were errors on Kotlin sources
return false
}
}
else {
// This is needed for addRuntimeToJavacClasspath, where kotlinc arguments will be used.
kotlinc.fillArguments()
}
javac.log("Running javac...")
compileList = compileListForJavac
addRuntimeToJavacClasspath(kotlinc)
return compileList.isEmpty() || super.execute()
}
private fun addRuntimeToJavacClasspath(kotlinc: Kotlin2JvmTask) {
for (arg in kotlinc.args) {
// If "-no-stdlib" was specified explicitly, probably the user also wanted the javac classpath to not have it
if ("-no-stdlib" == arg) return
}
if (compileClasspath == null) {
compileClasspath = Path(getProject())
}
compileClasspath.add(Path(getProject(), KotlinAntTaskUtil.runtimeJar.absolutePath))
}
private fun checkAntVersion() {
val checkVersion = AntVersion()
checkVersion.atLeast = "1.8.2"
if (!checkVersion.eval()) {
javac.log("<withKotlin> task requires Ant of version at least 1.8.2 to operate reliably. " +
"Please upgrade or, as a workaround, make sure you have at least one Java source and " +
"the output directory is clean before running this task. " +
"You have: " + getProject().getProperty(MagicNames.ANT_VERSION), MSG_WARN)
}
}
companion object {
private val KOTLIN_EXTENSIONS = Arrays.asList("kt", "kts")
private fun filterOutKotlinSources(files: Array<File>): Array<File> {
return files.filterNot {
for (extension in KOTLIN_EXTENSIONS) {
if (it.path.endsWith("." + extension)) return@filterNot true
}
false
}.toTypedArray()
}
}
}

View File

@@ -16,61 +16,32 @@
package org.jetbrains.kotlin.ant
import org.apache.tools.ant.BuildException
import org.apache.tools.ant.Task
import org.apache.tools.ant.types.Commandline
import org.apache.tools.ant.types.Path
import org.apache.tools.ant.types.Reference
import java.io.File
import org.apache.tools.ant.BuildException
import org.apache.tools.ant.types.Commandline
import java.io.PrintStream
import org.apache.tools.ant.AntClassLoader
import java.lang.ref.SoftReference
import org.jetbrains.kotlin.preloading.ClassPreloadingUtils
import java.net.JarURLConnection
object CompilerClassLoaderHolder {
private var classLoaderRef = SoftReference<ClassLoader?>(null)
synchronized fun getOrCreateClassLoader(): ClassLoader {
val cached = classLoaderRef.get()
if (cached != null) return cached
val myLoader = javaClass.getClassLoader()
if (myLoader !is AntClassLoader) return myLoader
// Find path of kotlin-ant.jar in the filesystem and find kotlin-compiler.jar in the same directory
val resourcePath = "/" + javaClass.getName().replace('.', '/') + ".class"
val jarConnection = javaClass.getResource(resourcePath).openConnection() as? JarURLConnection
?: throw UnsupportedOperationException("Kotlin compiler Ant task should be loaded from the JAR file")
val antTaskJarPath = File(jarConnection.getJarFileURL().toURI())
val compilerJarPath = File(antTaskJarPath.getParent(), "kotlin-compiler.jar")
if (!compilerJarPath.exists()) {
throw IllegalStateException("kotlin-compiler.jar is not found in the directory of Kotlin Ant task")
}
val classLoader = ClassPreloadingUtils.preloadClasses(listOf(compilerJarPath), 4096, myLoader, null)
classLoaderRef = SoftReference(classLoader)
return classLoader
}
}
public abstract class KotlinCompilerBaseTask : Task() {
protected abstract val compilerFqName: String
protected val args: MutableList<String> = arrayListOf()
public val args: MutableList<String> = arrayListOf()
public var src: Path? = null
public var output: File? = null
public var nowarn: Boolean = false
public var verbose: Boolean = false
public var printVersion: Boolean = false
public var failOnError: Boolean = true
public var noStdlib: Boolean = false
public val additionalArguments: MutableList<Commandline.Argument> = arrayListOf()
public var exitCode: Int? = null
public fun createSrc(): Path {
val srcPath = src
if (srcPath == null) {
@@ -94,7 +65,7 @@ public abstract class KotlinCompilerBaseTask : Task() {
abstract fun fillSpecificArguments()
private fun fillArguments() {
public fun fillArguments() {
val sourcePaths = src ?: throw BuildException("\"src\" should be specified")
args.addAll(sourcePaths.list().map { File(it).canonicalPath })
@@ -112,16 +83,16 @@ public abstract class KotlinCompilerBaseTask : Task() {
final override fun execute() {
fillArguments()
val compilerClass = CompilerClassLoaderHolder.getOrCreateClassLoader().loadClass(compilerFqName)
val compilerClass = KotlinAntTaskUtil.getOrCreateClassLoader().loadClass(compilerFqName)
val compiler = compilerClass.newInstance()
val exec = compilerClass.getMethod("execFullPathsInMessages", javaClass<PrintStream>(), javaClass<Array<String>>())
log("Compiling ${src!!.list().toList()} => [${output!!.canonicalPath}]");
val exitCode = exec(compiler, System.err, args.copyToArray())
val result = exec(compiler, System.err, args.toTypedArray())
exitCode = (result as Enum<*>).ordinal()
// TODO: support failOnError attribute of javac
if ((exitCode as Enum<*>).ordinal() != 0) {
if (failOnError && exitCode != 0) {
throw BuildException("Compile failed; see the compiler error output for details.")
}
}

530
build.xml
View File

@@ -1,6 +1,4 @@
<project name="Kotlin" default="dist">
<include file="jslib_files.xml" />
<project name="Kotlin" default="dist" xmlns:if="ant:if" xmlns:unless="ant:unless">
<property file="resources/kotlinManifest.properties"/>
<!-- Set to false to disable proguard run on kotlin-compiler.jar. Speeds up the build -->
@@ -10,12 +8,13 @@
<property name="max.heap.size.for.forked.jvm" value="1024m"/>
<property name="bootstrap.home" value="dependencies/bootstrap-compiler"/>
<property name="bootstrap.home" value="${basedir}/dependencies/bootstrap-compiler"/>
<property name="bootstrap.compiler.home" value="${bootstrap.home}/Kotlin/kotlinc"/>
<property name="bootstrap.runtime" value="${bootstrap.compiler.home}/lib/kotlin-runtime.jar"/>
<property name="bootstrap.reflect" value="${bootstrap.compiler.home}/lib/kotlin-reflect.jar"/>
<property name="output" value="${basedir}/dist"/>
<property name="intermediate-sources" value="out/src" />
<property name="kotlin-home" value="${output}/kotlinc"/>
<property name="build.number" value="snapshot"/>
<property name="bootstrap.build.no.tests" value="false"/>
@@ -26,8 +25,6 @@
<property name="java.target" value="1.6"/>
<property name="external.annotations.path" value="${basedir}/annotations"/>
<property name="dependencies.dir" value="${basedir}/dependencies"/>
<condition property="bootstrap.or.local.build" value="true">
@@ -39,6 +36,8 @@
</or>
</condition>
<include file="jslib_files.xml" />
<!--
The compiler produced on the first step of the build (Bootstrap No Tests) is only guaranteed to work against the OLD runtime
located in dependencies/bootstrap-compiler/.../kotlin-runtime.jar, because the newly built compiler is just a Kotlin application,
@@ -56,18 +55,18 @@
<path id="classpath">
<file file="${bootstrap.runtime}"/>
<file file="${bootstrap.reflect}"/>
<fileset dir="${idea.sdk}" includes="core/*.jar"/>
<pathelement location="${protobuf.jar}"/>
<fileset dir="${basedir}/lib" includes="**/*.jar"/>
<fileset dir="${dependencies.dir}" includes="jline.jar"/>
<fileset dir="${dependencies.dir}" includes="jansi.jar"/>
<fileset dir="${dependencies.dir}" includes="jline.jar"/>
<fileset dir="${dependencies.dir}" includes="cli-parser-1.1.1.jar"/>
<fileset dir="${basedir}/ideaSDK/jps" includes="jps-model.jar"/>
</path>
<typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${bootstrap.compiler.home}/lib/kotlin-ant.jar"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${dependencies.dir}/ant-contrib.jar"/>
<path id="javac2.classpath">
<pathelement location="${idea.sdk}/lib/javac2.jar"/>
@@ -86,10 +85,14 @@
<include name="compiler/builtins-serializer/src"/>
<include name="compiler/cli/src"/>
<include name="compiler/cli/cli-common/src"/>
<include name="compiler/conditional-preprocessor/src/"/>
<include name="compiler/container/src"/>
<include name="compiler/frontend/src"/>
<include name="compiler/frontend.java/src"/>
<include name="compiler/light-classes/src"/>
<include name="compiler/plugin-api/src"/>
<include name="compiler/daemon/src"/>
<include name="compiler/daemon/daemon-common/src"/>
<include name="compiler/serialization/src"/>
<include name="compiler/util/src"/>
<include name="js/js.dart-ast/src"/>
@@ -98,11 +101,13 @@
<include name="js/js.inliner/src"/>
<include name="js/js.parser/src"/>
<include name="js/js.serializer/src"/>
<include name="plugins/annotation-collector/src"/>
</dirset>
<property name="idea.out" value="${basedir}/out/production"/>
<patternset id="compilerClassesFromIDEA.fileset">
<include name="frontend/**"/>
<include name="container/**"/>
<include name="descriptors/**"/>
<include name="deserialization/**"/>
<include name="serialization/**"/>
@@ -112,10 +117,13 @@
<include name="backend-common/**"/>
<include name="cli/**"/>
<include name="cli-common/**"/>
<include name="conditional-preprocessor/**"/>
<include name="daemon/**"/>
<include name="util/**"/>
<include name="util.runtime/**"/>
<include name="light-classes/**"/>
<include name="plugin-api/**"/>
<include name="annotation-collector/**"/>
<include name="builtins-serializer/**"/>
<include name="js.dart-ast/**"/>
<include name="js.translator/**"/>
@@ -129,10 +137,6 @@
<dirset refid="compilerSources.dirset"/>
</path>
<path id="preloaderSources.path">
<dirset dir="compiler/preloader/src"/>
</path>
<macrodef name="cleandir">
<attribute name="dir"/>
@@ -147,6 +151,10 @@
<delete dir="${output}"/>
</target>
<target name="clean_idea_output">
<delete dir="${basedir}/out"/>
</target>
<target name="init">
<mkdir dir="${kotlin-home}"/>
<mkdir dir="${kotlin-home}/lib"/>
@@ -166,22 +174,20 @@
<chmod dir="${kotlin-home}/bin" excludes="**/*.bat" perm="755"/>
<if>
<istrue value="${bootstrap.or.local.build}"/>
<then>
<copy file="${bootstrap.runtime}" tofile="${kotlin-home}/lib/kotlin-runtime-internal-bootstrap.jar"/>
<copy file="${bootstrap.reflect}" tofile="${kotlin-home}/lib/kotlin-reflect-internal-bootstrap.jar"/>
<jar destfile="${kotlin-home}/lib/kotlin-reflect-internal-bootstrap.jar" update="true">
<manifest>
<attribute name="Class-Path" value="kotlin-runtime-internal-bootstrap.jar"/>
</manifest>
</jar>
</then>
<else>
<copy file="${bootstrap.runtime}" todir="${kotlin-home}/lib"/>
<copy file="${bootstrap.reflect}" todir="${kotlin-home}/lib"/>
</else>
</if>
<sequential if:true="${bootstrap.or.local.build}">
<copy file="${bootstrap.runtime}" tofile="${kotlin-home}/lib/kotlin-runtime-internal-bootstrap.jar"/>
<copy file="${bootstrap.reflect}" tofile="${kotlin-home}/lib/kotlin-reflect-internal-bootstrap.jar"/>
<jar destfile="${kotlin-home}/lib/kotlin-reflect-internal-bootstrap.jar" update="true">
<manifest>
<attribute name="Class-Path" value="kotlin-runtime-internal-bootstrap.jar"/>
</manifest>
</jar>
</sequential>
<sequential unless:true="${bootstrap.or.local.build}">
<copy file="${bootstrap.runtime}" todir="${kotlin-home}/lib"/>
<copy file="${bootstrap.reflect}" todir="${kotlin-home}/lib"/>
</sequential>
</target>
<target name="compiler-sources">
@@ -196,10 +202,15 @@
<fileset dir="compiler/builtins-serializer/src"/>
<fileset dir="compiler/cli/src"/>
<fileset dir="compiler/cli/cli-common/src"/>
<fileset dir="compiler/conditional-preprocessor/src"/>
<fileset dir="compiler/daemon/src"/>
<fileset dir="compiler/daemon/daemon-common/src"/>
<fileset dir="compiler/container/src"/>
<fileset dir="compiler/frontend/src"/>
<fileset dir="compiler/frontend.java/src"/>
<fileset dir="compiler/light-classes/src"/>
<fileset dir="compiler/plugin-api/src"/>
<fileset dir="plugins/annotation-collector/src"/>
<fileset dir="compiler/serialization/src"/>
<fileset dir="compiler/util/src"/>
<fileset dir="js/js.dart-ast/src"/>
@@ -219,47 +230,42 @@
</manifest>
</jar>
<if>
<istrue value="${generate.javadoc}"/>
<sequential if:true="${generate.javadoc}">
<delete dir="${output}/kotlin-compiler-javadoc" failonerror="false"/>
<javadoc destdir="${output}/kotlin-compiler-javadoc"
sourcepathref="compilerSources.path"
classpathref="classpath"
linksource="yes"
windowtitle="${manifest.impl.title.kotlin.compiler}"/>
<jar jarfile="${output}/kotlin-compiler-javadoc.jar">
<fileset dir="${output}/kotlin-compiler-javadoc"/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<then>
<delete dir="${output}/kotlin-compiler-javadoc" failonerror="false"/>
<javadoc destdir="${output}/kotlin-compiler-javadoc"
sourcepathref="compilerSources.path"
classpathref="classpath"
linksource="yes"
windowtitle="${manifest.impl.title.kotlin.compiler}"/>
<jar jarfile="${output}/kotlin-compiler-javadoc.jar">
<fileset dir="${output}/kotlin-compiler-javadoc"/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</sequential>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</then>
<sequential unless:true="${generate.javadoc}">
<jar jarfile="${output}/kotlin-compiler-javadoc.jar">
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<else>
<jar jarfile="${output}/kotlin-compiler-javadoc.jar">
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</else>
</if>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.compiler.javadoc}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</sequential>
</target>
<macrodef name="new-kotlin2js">
<attribute name="output"/>
<attribute name="meta-info"/>
<element name="src"/>
<sequential>
@@ -271,20 +277,23 @@
<pathconvert property="src.line" refid="src.path" pathsep=" "/>
<java classname="org.jetbrains.kotlin.cli.js.K2JSCompiler" failonerror="true" fork="true" maxmemory="${max.heap.size.for.forked.jvm}">
<java classname="org.jetbrains.kotlin.preloading.Preloader" failonerror="true" fork="true"
maxmemory="${max.heap.size.for.forked.jvm}">
<classpath>
<file file="${bootstrap.runtime}"/>
<pathelement location="${kotlin-home}/lib/kotlin-compiler.jar"/>
<pathelement location="${kotlin-home}/lib/kotlin-preloader.jar"/>
</classpath>
<assertions>
<enable/>
</assertions>
<arg value="-cp"/>
<arg value="${kotlin-home}/lib/kotlin-compiler.jar"/>
<arg value="org.jetbrains.kotlin.cli.js.K2JSCompiler"/>
<arg line="${src.line}"/>
<arg value="-output"/>
<arg value="@{output}"/>
<arg value="-no-stdlib"/>
<arg value="-meta-info"/>
<arg value="@{meta-info}"/>
<arg value="-kjsm"/>
<arg line="-main noCall"/>
</java>
</sequential>
@@ -297,13 +306,15 @@
<property name="compiled.stdlib.meta.js" value="stdlib.meta.js"/>
<property name="stdlib.js.dir" value="${basedir}/js/js.translator/testData"/>
<new-kotlin2js output="${output}/${compiled.builtins.js}" meta-info="${output}/${compiled.builtins.meta.js}">
<kotlin-pp src="libraries/stdlib/src" output="${intermediate-sources}/stdlib/js" profile="JS" />
<new-kotlin2js output="${output}/js/${compiled.builtins.js}">
<src>
<fileset refid="kotlin.builtin.files"/>
</src>
</new-kotlin2js>
<new-kotlin2js output="${output}/${compiled.stdlib.js}" meta-info="${output}/${compiled.stdlib.meta.js}">
<new-kotlin2js output="${output}/js/${compiled.stdlib.js}">
<src>
<resources refid="js.lib.files"/>
</src>
@@ -323,7 +334,7 @@
prettyprint="true"
languagein="ECMASCRIPT5_STRICT"
warning="${warningLevel}"
output="${output}/kotlin.js">
output="${output}/js/kotlin.js">
<sources dir="${stdlib.js.dir}">
<file name="kotlin_lib_ecma5.js"/>
@@ -332,11 +343,11 @@
<file name="long.js"/>
</sources>
<sources dir="${output}">
<sources dir="${output}/js">
<file name="${compiled.builtins.js}"/>
</sources>
<sources dir="${output}">
<sources dir="${output}/js">
<file name="${compiled.stdlib.js}"/>
</sources>
@@ -350,10 +361,12 @@
</closure-compiler>
<jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar" duplicate="fail">
<resources refid="js.lib.files" />
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<zipfileset file="${output}/kotlin.js" prefix=""/>
<zipfileset file="${output}/${compiled.stdlib.meta.js}" prefix=""/>
<zipfileset dir="${output}/js" prefix="">
<include name="kotlin.js"/>
<include name="${compiled.stdlib.meta.js}"/>
<include name="stdlib/**"/>
</zipfileset>
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
@@ -386,8 +399,8 @@
<target name="preloader">
<cleandir dir="${output}/classes/preloader"/>
<javac destdir="${output}/classes/preloader" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
source="${java.target}" target="${java.target}">
<src refid="preloaderSources.path"/>
source="${java.target}" target="${java.target}">
<src location="${basedir}/compiler/preloader/src"/>
</javac>
<jar jarfile="${kotlin-home}/lib/kotlin-preloader.jar">
@@ -395,16 +408,39 @@
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.preloader}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
<attribute name="Main-Class" value="org.jetbrains.kotlin.preloading.Preloader"/>
</manifest>
</jar>
</target>
<target name="runner">
<cleandir dir="${output}/classes/runner"/>
<kotlinc output="${output}/classes/runner">
<src location="${basedir}/compiler/cli/cli-runner/src"/>
</kotlinc>
<local name="runtime.jar"/>
<condition property="runtime.jar" value="kotlin-runtime-internal-bootstrap.jar" else="kotlin-runtime.jar">
<istrue value="${bootstrap.or.local.build}"/>
</condition>
<jar jarfile="${kotlin-home}/lib/kotlin-runner.jar">
<fileset dir="${output}/classes/runner"/>
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.runner}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
<attribute name="Main-Class" value="org.jetbrains.kotlin.runner.Main"/>
<attribute name="Class-Path" value="${runtime.jar}"/>
</manifest>
</jar>
</target>
<target name="serialize-builtins">
<cleandir dir="${output}/builtins"/>
<java classname="org.jetbrains.kotlin.preloading.Preloader"
@@ -415,10 +451,9 @@
<assertions>
<enable/>
</assertions>
<arg value="-cp"/>
<arg value="${bootstrap.compiler.home}/lib/kotlin-compiler.jar"/>
<arg value="org.jetbrains.kotlin.serialization.builtins.BuiltinsPackage"/>
<arg value="4096"/>
<arg value="notime"/>
<arg value="org.jetbrains.kotlin.serialization.builtins.RunKt"/>
<arg value="${output}/builtins"/>
<arg value="core/builtins/native"/>
<arg value="core/builtins/src"/>
@@ -435,10 +470,11 @@
<fileset dir="${output}/builtins">
<include name="kotlin/**"/>
<exclude name="kotlin/internal/**"/>
<exclude name="kotlin/reflect/**"/>
</fileset>
<fileset dir="${basedir}/core/descriptor.loader.java/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/cli/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/resources" includes="kotlinManifest.properties"/>
<fileset dir="idea/src">
@@ -449,7 +485,7 @@
<zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
<zipgroupfileset dir="${basedir}/ideaSDK/core" includes="*.jar" excludes="util.jar"/>
<zipfileset src="${idea.sdk}/lib/jna-utils.jar"/>
<zipfileset src="${idea.sdk}/lib/jna-platform.jar"/>
<zipfileset src="${idea.sdk}/lib/oromatcher.jar"/>
<zipfileset src="${idea.sdk}/jps/jps-model.jar"/>
<zipfileset src="${dependencies.dir}/jline.jar"/>
@@ -484,13 +520,18 @@
</target>
<target name="compiler">
<taskdef resource="proguard/ant/task.properties" classpath="${dependencies.dir}/proguard.jar"/>
<taskdef resource="proguard/ant/task.properties">
<classpath>
<pathelement path="${dependencies.dir}/proguard.jar"/>
<pathelement path="${dependencies.dir}/proguard-anttask.jar"/>
</classpath>
</taskdef>
<cleandir dir="${output}/classes/compiler"/>
<javac2 destdir="${output}/classes/compiler" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
source="${java.target}" target="${java.target}">
<withKotlin externalannotations="${external.annotations.path}"/>
<withKotlin modulename="kotlin-compiler"/>
<skip pattern="kotlin/jvm/internal/.*"/>
<src refid="compilerSources.path"/>
<classpath refid="classpath"/>
@@ -500,147 +541,35 @@
<delete file="${kotlin-home}/lib/kotlin-compiler.jar" failonerror="false"/>
<if>
<isfalse value="${shrink}"/>
<copy file="${output}/kotlin-compiler-before-shrink.jar"
tofile="${kotlin-home}/lib/kotlin-compiler.jar"
unless:true="${shrink}" />
<then>
<copy file="${output}/kotlin-compiler-before-shrink.jar"
tofile="${kotlin-home}/lib/kotlin-compiler.jar"/>
</then>
<sequential if:true="${shrink}">
<available property="rtjar" value="${java.home}/lib/rt.jar" file="${java.home}/lib/rt.jar"/>
<available property="rtjar" value="${java.home}/../Classes/classes.jar" file="${java.home}/../Classes/classes.jar"/>
<else>
<available property="rtjar" value="${java.home}/lib/rt.jar" file="${java.home}/lib/rt.jar"/>
<available property="rtjar" value="${java.home}/../Classes/classes.jar" file="${java.home}/../Classes/classes.jar"/>
<available property="jssejar" value="${java.home}/lib/jsse.jar" file="${java.home}/lib/jsse.jar"/>
<available property="jssejar" value="${java.home}/../Classes/jsse.jar" file="${java.home}/../Classes/jsse.jar"/>
<available property="jssejar" value="${java.home}/lib/jsse.jar" file="${java.home}/lib/jsse.jar"/>
<available property="jssejar" value="${java.home}/../Classes/jsse.jar" file="${java.home}/../Classes/jsse.jar"/>
<proguard configuration="${basedir}/compiler/compiler.pro"/>
</sequential>
<proguard><![CDATA[
-injars '${output}/kotlin-compiler-before-shrink.jar'(
!com/thoughtworks/xstream/converters/extended/ISO8601**,
!com/thoughtworks/xstream/converters/reflection/CGLIBEnhancedConverter**,
!com/thoughtworks/xstream/io/xml/Dom4J**,
!com/thoughtworks/xstream/io/xml/Xom**,
!com/thoughtworks/xstream/io/xml/Wstx**,
!com/thoughtworks/xstream/io/xml/KXml2**,
!com/thoughtworks/xstream/io/xml/BEAStax**,
!com/thoughtworks/xstream/io/json/Jettison**,
!com/thoughtworks/xstream/mapper/CGLIBMapper**,
!org/apache/log4j/jmx/Agent*,
!org/apache/log4j/net/JMS*,
!org/apache/log4j/net/SMTP*,
!org/apache/log4j/or/jms/MessageRenderer*,
!org/jdom/xpath/Jaxen*,
!org/mozilla/javascript/xml/impl/xmlbeans/**,
!META-INF/maven**,
**.class,**.properties,**.kt,**.kotlin_*,
META-INF/services/**,META-INF/native/**,META-INF/extensions/**,META-INF/MANIFEST.MF,
messages/**)
<jar jarfile="${output}/kotlin-compiler-for-maven.jar" duplicate="preserve">
<patternset id="lib.metainf.patternset">
<include name="**"/>
<exclude name="META-INF/build.txt"/>
<exclude name="META-INF/MANIFEST.MF"/>
</patternset>
-outjars '${kotlin-home}/lib/kotlin-compiler.jar'
-dontnote **
-dontwarn com.intellij.util.ui.IsRetina*
-dontwarn com.intellij.util.RetinaImage*
-dontwarn apple.awt.*
-dontwarn dk.brics.automaton.*
-dontwarn org.fusesource.**
-dontwarn org.xerial.snappy.SnappyBundleActivator
-dontwarn com.intellij.util.CompressionUtil
-dontwarn com.intellij.util.SnappyInitializer
-dontwarn net.sf.cglib.**
-dontwarn org.objectweb.asm.** # this is ASM3, the old version that we do not use
-libraryjars '${rtjar}'
-libraryjars '${jssejar}'
-libraryjars '${bootstrap.runtime}'
-target 1.6
-dontoptimize
-dontobfuscate
-keep class org.fusesource.** { *; }
-keep class org.jdom.input.JAXPParserFactory { *; }
-keep class org.jetbrains.annotations.** {
public protected *;
}
-keep class javax.inject.** {
public protected *;
}
-keep class org.jetbrains.kotlin.** {
public protected *;
}
-keep class org.jetbrains.kotlin.compiler.plugin.** {
public protected *;
}
-keep class org.jetbrains.kotlin.extensions.** {
public protected *;
}
-keep class org.jetbrains.org.objectweb.asm.Opcodes { *; }
-keep class org.jetbrains.kotlin.codegen.extensions.** {
public protected *;
}
-keepclassmembers class com.intellij.openapi.vfs.VirtualFile {
public InputStream getInputStream();
}
-keep class jet.** {
public protected *;
}
-keep class com.intellij.psi.** {
public protected *;
}
# for kdoc & dokka
-keep class com.intellij.openapi.util.TextRange { *; }
-keep class com.intellij.lang.impl.PsiBuilderImpl* {
public protected *;
}
-keep class com.intellij.openapi.util.text.StringHash { *; }
# for gradle plugin and other server tools
-keep class com.intellij.openapi.util.io.ZipFileCache { public *; }
-keep class com.intellij.openapi.util.LowMemoryWatcher { public *; }
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * {
** toString();
** hashCode();
void start();
void stop();
void dispose();
}
-keepclassmembers class org.jetbrains.org.objectweb.asm.Opcodes {
*** ASM5;
}
-keepclassmembers class org.jetbrains.org.objectweb.asm.ClassReader {
*** SKIP_CODE;
*** SKIP_DEBUG;
*** SKIP_FRAMES;
}
]]></proguard>
</else>
</if>
<jar jarfile="${output}/kotlin-compiler-for-maven.jar">
<!-- TODO: don't include both to the jar: it's impossible to test changes to core in the local maven build without bootstrap -->
<zipfileset src="${kotlin-home}/lib/kotlin-compiler.jar" includes="**"/>
<zipfileset src="${bootstrap.runtime}" includes="**" excludes="META-INF/**"/>
<zipfileset src="${bootstrap.runtime}">
<patternset refid="lib.metainf.patternset"/>
</zipfileset>
<zipfileset src="${bootstrap.reflect}">
<patternset refid="lib.metainf.patternset"/>
</zipfileset>
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
@@ -654,10 +583,33 @@
</jar>
</target>
<target name="daemon-client">
<cleandir dir="${output}/classes/daemon-client"/>
<kotlinc output="${output}/classes/daemon-client" modulename="client">
<src>
<pathelement path="compiler/daemon/daemon-client/src"/>
</src>
<classpath>
<pathelement path="${bootstrap.runtime}"/>
<pathelement path="${bootstrap.reflect}"/>
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
<pathelement path="${dependencies.dir}/native-platform-uberjar.jar"/>
</classpath>
</kotlinc>
<jar destfile="${kotlin-home}/lib/kotlin-daemon-client.jar">
<fileset dir="${output}/classes/daemon-client"/>
<zipfileset src="${dependencies.dir}/native-platform-uberjar.jar" includes="**" />
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
</jar>
</target>
<target name="android-compiler-plugin">
<cleandir dir="${output}/classes/android-compiler-plugin"/>
<kotlinc output="${output}/classes/android-compiler-plugin">
<javac2 destdir="${output}/classes/android-compiler-plugin" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false">
<withKotlin modulename="kotlin-android-compiler-plugin"/>
<skip pattern="kotlin/jvm/internal/.*"/>
<src>
<pathelement path="plugins/android-compiler-plugin/src"/>
</src>
@@ -665,8 +617,9 @@
<pathelement path="${idea.sdk}/core/intellij-core.jar"/>
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
<pathelement path="${bootstrap.runtime}"/>
<pathelement path="${bootstrap.reflect}"/>
</classpath>
</kotlinc>
</javac2>
<jar destfile="${kotlin-home}/lib/android-compiler-plugin.jar">
<fileset dir="${output}/classes/android-compiler-plugin"/>
@@ -679,7 +632,7 @@
<cleandir dir="${output}/classes/ant"/>
<javac2 destdir="${output}/classes/ant" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
source="${java.target}" target="${java.target}">
<withKotlin externalannotations="${external.annotations.path}"/>
<withKotlin modulename="kotlin-ant-tools"/>
<skip pattern="kotlin/jvm/internal/.*"/>
<src>
<dirset dir="${basedir}/ant">
@@ -689,7 +642,8 @@
<compilerarg value="-Xlint:all"/>
<classpath>
<file file="${bootstrap.runtime}"/>
<pathelement location="${dependencies.dir}/ant-1.7/lib/ant.jar"/>
<file file="${bootstrap.reflect}"/>
<pathelement location="${dependencies.dir}/ant-1.8/lib/ant.jar"/>
<pathelement location="${kotlin-home}/lib/kotlin-preloader.jar"/>
</classpath>
</javac2>
@@ -712,15 +666,33 @@
</target>
<target name="jdk-annotations">
<copy file="dependencies/annotations/kotlin-jdk-annotations.jar" todir="${kotlin-home}/lib"/>
<jar destfile="${kotlin-home}/lib/kotlin-jdk-annotations.jar">
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.jdk.annotations}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</target>
<target name="android-sdk-annotations">
<copy file="dependencies/annotations/kotlin-android-sdk-annotations.jar" todir="${kotlin-home}/lib"/>
<jar destfile="${kotlin-home}/lib/kotlin-android-sdk-annotations.jar">
<manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.android.sdk.annotations}"/>
<attribute name="Implementation-Version" value="${build.number}"/>
</manifest>
</jar>
</target>
<macrodef name="new-kotlinc">
<attribute name="output"/>
<attribute name="moduleName"/>
<attribute name="additionalOptions" default=""/>
<element name="src"/>
<element name="class-path"/>
@@ -746,15 +718,18 @@
<assertions>
<enable/>
</assertions>
<arg value="-cp"/>
<arg value="${kotlin-home}/lib/kotlin-compiler.jar"/>
<arg value="org.jetbrains.kotlin.cli.jvm.K2JVMCompiler"/>
<arg line="4096 notime"/>
<arg line="${src.line}"/>
<arg value="-d"/>
<arg value="@{output}"/>
<arg value="-no-stdlib"/>
<arg line="@{additionalOptions}"/>
<arg value="-classpath"/>
<arg value="${toString:classpath.path}"/>
<arg value="-module-name"/>
<arg value="@{moduleName}"/>
</java>
<javac2 srcdir="${toString:src.dirset}" destdir="@{output}" debug="true" debuglevel="lines,vars,source"
@@ -769,8 +744,31 @@
</sequential>
</macrodef>
<macrodef name="kotlin-pp">
<attribute name="src"/>
<attribute name="output"/>
<attribute name="profile"/>
<sequential>
<java classname="org.jetbrains.kotlin.preloading.Preloader" failonerror="true" fork="true" maxmemory="${max.heap.size.for.forked.jvm}">
<classpath>
<pathelement location="${kotlin-home}/lib/kotlin-preloader.jar"/>
</classpath>
<assertions>
<enable/>
</assertions>
<arg value="-cp"/>
<arg value="${kotlin-home}/lib/kotlin-compiler.jar"/>
<arg value="org.jetbrains.kotlin.preprocessor.PreprocessorCLI"/>
<arg value="@{src}"/>
<arg value="@{output}"/>
<arg value="@{profile}"/>
</java>
</sequential>
</macrodef>
<target name="builtins">
<new-kotlinc output="${output}/classes/builtins">
<new-kotlinc output="${output}/classes/builtins" moduleName="kotlin-builtins">
<src>
<include name="core/builtins/src"/>
<include name="core/runtime.jvm/src"/>
@@ -783,7 +781,7 @@
</target>
<target name="stdlib">
<new-kotlinc output="${output}/classes/stdlib">
<new-kotlinc output="${output}/classes/stdlib" moduleName="kotlin-stdlib">
<src>
<include name="libraries/stdlib/src"/>
</src>
@@ -794,7 +792,7 @@
</target>
<target name="core">
<new-kotlinc output="${output}/classes/core">
<new-kotlinc output="${output}/classes/core" moduleName="kotlin-core">
<src>
<include name="core/descriptor.loader.java/src"/>
<include name="core/descriptors/src"/>
@@ -812,7 +810,7 @@
</target>
<target name="reflection">
<new-kotlinc output="${output}/classes/reflection">
<new-kotlinc output="${output}/classes/reflection" moduleName="kotlin-reflection">
<src>
<include name="core/reflection.jvm/src"/>
</src>
@@ -826,14 +824,15 @@
</target>
<macrodef name="pack-runtime-jar">
<attribute name="jar-dir" default="${kotlin-home}/lib"/>
<attribute name="jar-name"/>
<attribute name="implementation-title"/>
<element name="jar-content"/>
<sequential>
<delete file="${kotlin-home}/lib/@{jar-name}" failonerror="false"/>
<delete file="@{jar-dir}/@{jar-name}" failonerror="false"/>
<jar destfile="${kotlin-home}/lib/@{jar-name}" duplicate="fail">
<jar destfile="@{jar-dir}/@{jar-name}" duplicate="fail">
<jar-content/>
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
@@ -855,13 +854,15 @@
<zipfileset dir="${output}/builtins">
<include name="kotlin/**"/>
<exclude name="kotlin/internal/**"/>
<exclude name="kotlin/reflect/**"/>
<!-- TODO: load metadata from @KotlinClass annotation in KotlinBuiltIns on JVM and restore this exclusion -->
<!-- exclude name="kotlin/reflect/**"/ -->
</zipfileset>
</jar-content>
</pack-runtime-jar>
<pack-runtime-jar jar-name="kotlin-reflect.jar" implementation-title="${manifest.impl.title.kotlin.jvm.reflect}">
<pack-runtime-jar jar-dir="${output}" jar-name="kotlin-reflect-before-jarjar.jar" implementation-title="${manifest.impl.title.kotlin.jvm.reflect}">
<jar-content>
<fileset dir="${basedir}/core/descriptor.loader.java/src" includes="META-INF/services/**"/>
<fileset dir="${output}/classes/reflection"/>
<fileset dir="${output}/classes/core"/>
<zipfileset src="${protobuf-lite.jar}"/>
@@ -869,26 +870,67 @@
</jar-content>
</pack-runtime-jar>
<jar destfile="${kotlin-home}/lib/kotlin-reflect.jar" update="true">
<jar destfile="${output}/kotlin-reflect-before-jarjar.jar" update="true">
<manifest>
<attribute name="Class-Path" value="kotlin-runtime.jar"/>
</manifest>
</jar>
<delete file="${output}/kotlin-reflect-jarjar.jar" failonerror="false"/>
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="dependencies/jarjar.jar"/>
<jarjar jarfile="${output}/kotlin-reflect-jarjar.jar" filesonly="true" filesetmanifest="merge">
<zipfileset src="${output}/kotlin-reflect-before-jarjar.jar"/>
<rule pattern="org.jetbrains.kotlin.**" result="kotlin.reflect.jvm.internal.impl.@1"/>
<rule pattern="com.google.protobuf.**" result="kotlin.reflect.jvm.internal.impl.com.google.protobuf.@1"/>
<rule pattern="javax.inject.**" result="kotlin.reflect.jvm.internal.impl.javax.inject.@1"/>
</jarjar>
<kotlinc src="${basedir}/generators/infrastructure/strip-kotlin-annotations.kts" output="">
<compilerarg value="-script"/>
<compilerarg value="kotlin/jvm/internal/.*"/> <!-- Annotations to strip -->
<compilerarg value="kotlin/reflect/jvm/internal/impl/.*"/> <!-- Classes to strip from -->
<compilerarg value="${output}/kotlin-reflect-jarjar.jar"/>
<compilerarg value="${kotlin-home}/lib/kotlin-reflect.jar"/>
<classpath>
<pathelement location="${idea.sdk}/lib/asm-all.jar"/>
</classpath>
</kotlinc>
</target>
<target name="pack-runtime-sources">
<!-- Rename packages in the sources of reflection impl (core) -->
<delete dir="${output}/core.src" failonerror="false"/>
<copy todir="${output}/core.src/kotlin/reflect/jvm/internal/impl">
<fileset dir="core">
<include name="descriptor.loader.java/src/**"/>
<include name="descriptors/src/**"/>
<include name="descriptors.runtime/src/**"/>
<include name="deserialization/src/**"/>
<include name="util.runtime/src/**"/>
</fileset>
<cutdirsmapper dirs="5"/> <!-- module/src/org/jetbrains/kotlin -->
</copy>
<replaceregexp match="org\.jetbrains\.kotlin" replace="kotlin.reflect.jvm.internal.impl" flags="g">
<fileset dir="${output}/core.src"/>
</replaceregexp>
<pack-runtime-jar jar-name="kotlin-runtime-sources.jar" implementation-title="${manifest.impl.title.kotlin.jvm.runtime.sources}">
<jar-content>
<fileset dir="${basedir}/core/builtins/native" includes="**/*"/>
<fileset dir="${basedir}/core/builtins/src" includes="**/*"/>
<fileset dir="${basedir}/core/descriptor.loader.java/src" includes="**/*"/>
<fileset dir="${basedir}/core/descriptors/src" includes="**/*"/>
<fileset dir="${basedir}/core/descriptors.runtime/src" includes="**/*"/>
<fileset dir="${basedir}/core/deserialization/src" includes="**/*"/>
<fileset dir="${basedir}/core/reflection.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/core/runtime.jvm/src" includes="**/*"/>
<fileset dir="${basedir}/core/util.runtime/src" includes="**/*"/>
<fileset dir="${basedir}/libraries/stdlib/src" includes="**/*"/>
<fileset dir="${output}/core.src" includes="**/*"/>
</jar-content>
</pack-runtime-jar>
<pack-runtime-jar jar-dir="${output}" jar-name="kotlin-reflect-sources-for-maven.jar"
implementation-title="${manifest.impl.title.kotlin.jvm.reflect.sources}">
<jar-content>
<fileset dir="${basedir}/core/reflection.jvm/src" includes="**/*"/>
<fileset dir="${output}/core.src" includes="**/*"/>
</jar-content>
</pack-runtime-jar>
</target>
@@ -897,7 +939,7 @@
depends="builtins,stdlib,core,reflection,pack-runtime,pack-runtime-sources"/>
<target name="dist"
depends="clean,init,prepare-dist,preloader,serialize-builtins,compiler,compiler-sources,ant-tools,jdk-annotations,android-sdk-annotations,runtime,kotlin-js-stdlib,android-compiler-plugin"
depends="clean,init,prepare-dist,preloader,runner,serialize-builtins,compiler,compiler-sources,ant-tools,jdk-annotations,android-sdk-annotations,runtime,kotlin-js-stdlib,android-compiler-plugin,daemon-client"
description="Builds redistributables from sources"/>
<target name="dist-quick"
@@ -921,7 +963,7 @@
<javac2 destdir="${output}/classes/idea-analysis" debug="true" debuglevel="lines,vars,source" includeAntRuntime="false"
source="${java.target}" target="${java.target}">
<withKotlin externalannotations="${external.annotations.path}"/>
<withKotlin modulename="kotlin-for-upsource"/>
<skip pattern="kotlin/jvm/internal/.*"/>
<src>
<dirset dir="${basedir}/idea/ide-common" includes="src"/>
@@ -944,10 +986,11 @@
<fileset dir="${output}/builtins">
<include name="kotlin/**"/>
<exclude name="kotlin/internal/**"/>
<exclude name="kotlin/reflect/**"/>
</fileset>
<fileset dir="${basedir}/core/descriptor.loader.java/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/frontend.java/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/backend/src" includes="META-INF/services/**"/>
<fileset dir="${basedir}/compiler/cli/src" includes="META-INF/services/**"/>
<zipgroupfileset dir="${basedir}/lib" includes="*.jar"/>
<zipgroupfileset file="${kotlin-home}/lib/kotlin-runtime.jar"/>
@@ -988,6 +1031,7 @@
<zip destfile="${output}/kotlin-test-data.zip">
<zipfileset dir="compiler/testData" prefix="compiler"/>
<zipfileset dir="idea/testData" prefix="ide"/>
<zipfileset dir="idea/idea-completion/testData" prefix="ide/completion"/>
</zip>
</target>

View File

@@ -75,7 +75,7 @@ public class PathManager {
}
public String getAntBinDirectory() {
return getDependenciesRoot() + "/apache-ant-1.8.0/bin";
return rootFolder + "/dependencies/ant-1.8/bin";
}
public String getAndroidModuleRoot() {

View File

@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.android.tests.OutputUtils;
import org.jetbrains.kotlin.android.tests.PathManager;
import org.jetbrains.kotlin.android.tests.run.RunResult;
import org.jetbrains.kotlin.android.tests.run.RunUtils;
import org.jetbrains.kotlin.utils.UtilsPackage;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
import java.util.ArrayList;
import java.util.List;
@@ -90,7 +90,7 @@ public class AntRunner {
Thread.sleep(20000);
}
catch (InterruptedException e) {
throw UtilsPackage.rethrow(e);
throw ExceptionUtilsKt.rethrow(e);
}
return false;
}

View File

@@ -32,7 +32,6 @@ public class SDKDownloader {
private final String systemImages;
private final String platformToolsZipPath;
private final String toolsZipPath;
private final String antZipPath;
private final PathManager pathManager;
@@ -42,7 +41,6 @@ public class SDKDownloader {
this.systemImages = pathManager.getRootForDownload() + "/system-images.zip";
this.platformToolsZipPath = pathManager.getRootForDownload() + "/platform-tools.zip";
this.toolsZipPath = pathManager.getRootForDownload() + "/tools.zip";
this.antZipPath = pathManager.getRootForDownload() + "/apache-ant-1.8.0.zip";
}
public void downloadPlatform() {
@@ -87,16 +85,11 @@ public class SDKDownloader {
download(downloadURL, toolsZipPath);
}
public void downloadAnt() {
download("http://archive.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip", antZipPath);
}
public void downloadAll() {
downloadTools();
downloadAbi();
downloadPlatform();
downloadPlatformTools();
downloadAnt();
}
@@ -105,14 +98,12 @@ public class SDKDownloader {
unzip(systemImages, pathManager.getAndroidSdkRoot() + "/system-images/android-16/");
unzip(platformToolsZipPath, pathManager.getAndroidSdkRoot());
unzip(toolsZipPath, pathManager.getAndroidSdkRoot());
unzip(antZipPath, pathManager.getDependenciesRoot());
}
public void deleteAll() {
delete(platformZipPath);
delete(platformToolsZipPath);
delete(toolsZipPath);
delete(antZipPath);
}
private static void download(String urlString, String output) {

View File

@@ -23,16 +23,16 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.testFramework.UsefulTestCase;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.backend.common.output.OutputFileCollection;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsPackage;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.codegen.CodegenTestFiles;
import org.jetbrains.kotlin.codegen.GenerationUtils;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.generators.tests.generator.TestGeneratorUtil;
import org.jetbrains.kotlin.idea.JetFileType;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.idea.KotlinFileType;
import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.JetTestUtils;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestJdkKind;
import org.jetbrains.kotlin.utils.Printer;
import org.junit.Assert;
@@ -133,7 +133,7 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
private class FilesWriter {
private final boolean isFullJdk;
public List<JetFile> files = new ArrayList<JetFile>();
public List<KtFile> files = new ArrayList<KtFile>();
private KotlinCoreEnvironment environment;
private FilesWriter(boolean isFullJdk) {
@@ -143,12 +143,10 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
private KotlinCoreEnvironment createEnvironment(boolean isFullJdk) {
return isFullJdk ?
JetTestUtils.createEnvironmentWithJdkAndNullabilityAnnotationsFromIdea(
KotlinTestUtils.createEnvironmentWithJdkAndNullabilityAnnotationsFromIdea(
myTestRootDisposable, ConfigurationKind.ALL, TestJdkKind.FULL_JDK
) :
JetTestUtils.createEnvironmentWithMockJdkAndIdeaAnnotations(
myTestRootDisposable, ConfigurationKind.JDK_AND_ANNOTATIONS
);
KotlinTestUtils.createEnvironmentWithMockJdkAndIdeaAnnotations(myTestRootDisposable);
}
public boolean shouldWriteFilesOnDisk() {
@@ -163,11 +161,11 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
public void writeFilesOnDisk() {
writeFiles(files);
files = new ArrayList<JetFile>();
files = new ArrayList<KtFile>();
environment = createEnvironment(isFullJdk);
}
private void writeFiles(List<JetFile> filesToCompile) {
private void writeFiles(List<KtFile> filesToCompile) {
System.out.println("Generating " + filesToCompile.size() + " files...");
OutputFileCollection outputFiles;
try {
@@ -184,7 +182,7 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
}
Assert.assertTrue("Cannot create directory for compiled files", outputDir.exists());
OutputUtilsPackage.writeAllTo(outputFiles, outputDir);
OutputUtilsKt.writeAllTo(outputFiles, outputDir);
}
}
@@ -209,7 +207,7 @@ public class CodegenTestsOnAndroidGenerator extends UsefulTestCase {
processFiles(printer, listFiles, holderFull, holderMock);
}
}
else if (!FileUtilRt.getExtension(file.getName()).equals(JetFileType.INSTANCE.getDefaultExtension())) {
else if (!FileUtilRt.getExtension(file.getName()).equals(KotlinFileType.INSTANCE.getDefaultExtension())) {
// skip non kotlin files
}
else {

View File

@@ -17,40 +17,32 @@
package org.jetbrains.kotlin.backend.common;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.backend.common.bridges.ImplKt;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.calls.CallResolverUtil;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilKt;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.types.TypeUtils;
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.backend.common.bridges.BridgesPackage;
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
import java.util.*;
/**
* Backend-independent utility class.
*/
public class CodegenUtil {
private CodegenUtil() {
}
// TODO: consider putting predefined method signatures here too.
public static final String EQUALS_METHOD_NAME = "equals";
public static final String TO_STRING_METHOD_NAME = "toString";
public static final String HASH_CODE_METHOD_NAME = "hashCode";
@Nullable
public static FunctionDescriptor getDeclaredFunctionByRawSignature(
@NotNull ClassDescriptor owner,
@@ -58,9 +50,9 @@ public class CodegenUtil {
@NotNull ClassifierDescriptor returnedClassifier,
@NotNull ClassifierDescriptor... valueParameterClassifiers
) {
Collection<FunctionDescriptor> functions = owner.getDefaultType().getMemberScope().getFunctions(name);
Collection<FunctionDescriptor> functions = owner.getDefaultType().getMemberScope().getContributedFunctions(name, NoLookupLocation.FROM_BACKEND);
for (FunctionDescriptor function : functions) {
if (!CallResolverUtil.isOrOverridesSynthesized(function)
if (!CallResolverUtilKt.isOrOverridesSynthesized(function)
&& function.getTypeParameters().isEmpty()
&& valueParameterClassesMatch(function.getValueParameters(), Arrays.asList(valueParameterClassifiers))
&& rawTypeMatches(function.getReturnType(), returnedClassifier)) {
@@ -70,39 +62,11 @@ public class CodegenUtil {
return null;
}
public static FunctionDescriptor getAnyEqualsMethod() {
ClassDescriptor anyClass = KotlinBuiltIns.getInstance().getAny();
FunctionDescriptor function =
getDeclaredFunctionByRawSignature(anyClass, Name.identifier(EQUALS_METHOD_NAME),
KotlinBuiltIns.getInstance().getBoolean(),
anyClass);
assert function != null;
return function;
}
public static FunctionDescriptor getAnyToStringMethod() {
ClassDescriptor anyClass = KotlinBuiltIns.getInstance().getAny();
FunctionDescriptor function =
getDeclaredFunctionByRawSignature(anyClass, Name.identifier(TO_STRING_METHOD_NAME),
KotlinBuiltIns.getInstance().getString());
assert function != null;
return function;
}
public static FunctionDescriptor getAnyHashCodeMethod() {
ClassDescriptor anyClass = KotlinBuiltIns.getInstance().getAny();
FunctionDescriptor function =
getDeclaredFunctionByRawSignature(anyClass, Name.identifier(HASH_CODE_METHOD_NAME),
KotlinBuiltIns.getInstance().getInt());
assert function != null;
return function;
}
@Nullable
public static PropertyDescriptor getDelegatePropertyIfAny(JetExpression expression, ClassDescriptor classDescriptor, BindingContext bindingContext) {
public static PropertyDescriptor getDelegatePropertyIfAny(KtExpression expression, ClassDescriptor classDescriptor, BindingContext bindingContext) {
PropertyDescriptor propertyDescriptor = null;
if (expression instanceof JetSimpleNameExpression) {
ResolvedCall<?> call = CallUtilPackage.getResolvedCall(expression, bindingContext);
if (expression instanceof KtSimpleNameExpression) {
ResolvedCall<?> call = CallUtilKt.getResolvedCall(expression, bindingContext);
if (call != null) {
CallableDescriptor callResultingDescriptor = call.getResultingDescriptor();
if (callResultingDescriptor instanceof ValueParameterDescriptor) {
@@ -131,11 +95,11 @@ public class CodegenUtil {
@NotNull
public static Map<FunctionDescriptor, FunctionDescriptor> getTraitMethods(ClassDescriptor descriptor) {
Map<FunctionDescriptor, FunctionDescriptor> result = new LinkedHashMap<FunctionDescriptor, FunctionDescriptor>();
for (DeclarationDescriptor declaration : descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
for (DeclarationDescriptor declaration : DescriptorUtils.getAllDescriptors(descriptor.getDefaultType().getMemberScope())) {
if (!(declaration instanceof CallableMemberDescriptor)) continue;
CallableMemberDescriptor inheritedMember = (CallableMemberDescriptor) declaration;
CallableMemberDescriptor traitMember = BridgesPackage.findTraitImplementation(inheritedMember);
CallableMemberDescriptor traitMember = ImplKt.findTraitImplementation(inheritedMember);
if (traitMember == null) continue;
assert traitMember.getModality() != Modality.ABSTRACT : "Cannot delegate to abstract trait method: " + inheritedMember;
@@ -176,8 +140,8 @@ public class CodegenUtil {
}
@NotNull
public static ClassDescriptor getSuperClassByDelegationSpecifier(@NotNull JetDelegationSpecifier specifier, @NotNull BindingContext bindingContext) {
JetType superType = bindingContext.get(BindingContext.TYPE, specifier.getTypeReference());
public static ClassDescriptor getSuperClassByDelegationSpecifier(@NotNull KtDelegationSpecifier specifier, @NotNull BindingContext bindingContext) {
KotlinType superType = bindingContext.get(BindingContext.TYPE, specifier.getTypeReference());
assert superType != null : "superType should not be null: " + specifier.getText();
ClassDescriptor superClassDescriptor = (ClassDescriptor) superType.getConstructor().getDeclarationDescriptor();
@@ -200,34 +164,37 @@ public class CodegenUtil {
return true;
}
private static boolean rawTypeMatches(JetType type, ClassifierDescriptor classifier) {
private static boolean rawTypeMatches(KotlinType type, ClassifierDescriptor classifier) {
return type.getConstructor().equals(classifier.getTypeConstructor());
}
public static boolean isEnumValueOfMethod(@NotNull FunctionDescriptor functionDescriptor) {
List<ValueParameterDescriptor> methodTypeParameters = functionDescriptor.getValueParameters();
JetType nullableString = TypeUtils.makeNullable(KotlinBuiltIns.getInstance().getStringType());
KotlinType nullableString = TypeUtils.makeNullable(DescriptorUtilsKt.getBuiltIns(functionDescriptor).getStringType());
return DescriptorUtils.ENUM_VALUE_OF.equals(functionDescriptor.getName())
&& methodTypeParameters.size() == 1
&& JetTypeChecker.DEFAULT.isSubtypeOf(methodTypeParameters.get(0).getType(), nullableString);
&& KotlinTypeChecker.DEFAULT.isSubtypeOf(methodTypeParameters.get(0).getType(), nullableString);
}
public static boolean isEnumValuesMethod(@NotNull FunctionDescriptor functionDescriptor) {
List<ValueParameterDescriptor> methodTypeParameters = functionDescriptor.getValueParameters();
return DescriptorUtils.ENUM_VALUES.equals(functionDescriptor.getName())
&& methodTypeParameters.isEmpty();
public static boolean isEnumValuesProperty(@NotNull VariableDescriptor propertyDescriptor) {
return DescriptorUtils.ENUM_VALUES.equals(propertyDescriptor.getName());
}
@Nullable
public static Integer getLineNumberForElement(@NotNull PsiElement statement, boolean markEndOffset) {
PsiFile file = statement.getContainingFile();
if (file instanceof JetFile) {
if (PsiPackage.getDoNotAnalyze((JetFile) file) != null) {
if (file instanceof KtFile) {
if (KtPsiFactoryKt.getDoNotAnalyze((KtFile) file) != null) {
return null;
}
}
if (statement instanceof KtConstructorDelegationReferenceExpression && statement.getTextLength() == 0) {
// PsiElement for constructor delegation reference is always generated, so we shouldn't mark it's line number if it's empty
return null;
}
Document document = file.getViewProvider().getDocument();
TextRange textRange = statement.getTextRange();
return document != null ? document.getLineNumber(markEndOffset ? textRange.getEndOffset() : textRange.getStartOffset()) + 1 : null;
return document != null ? document.getLineNumber(markEndOffset ? statement.getTextRange().getEndOffset() : statement.getTextOffset()) + 1 : null;
}
}

View File

@@ -16,16 +16,16 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.types.JetType
import kotlin.platform.platformStatic
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.utils.keysToMapExceptNulls
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.MemberComparator
import java.util.Comparator
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.isDynamic
import org.jetbrains.kotlin.utils.keysToMapExceptNulls
import java.util.Comparator
public object CodegenUtilKt {
@@ -34,18 +34,19 @@ public object CodegenUtilKt {
// toTrait = Bar
// delegateExpressionType = typeof(baz)
// return Map<member of Foo, corresponding member of typeOf(baz)>
public [platformStatic] fun getDelegates(
@JvmStatic
public fun getDelegates(
descriptor: ClassDescriptor,
toTrait: ClassDescriptor,
delegateExpressionType: JetType? = null
delegateExpressionType: KotlinType? = null
): Map<CallableMemberDescriptor, CallableDescriptor> {
if (delegateExpressionType?.isDynamic() ?: false) return mapOf();
return descriptor.getDefaultType().getMemberScope().getDescriptors().stream()
return descriptor.getDefaultType().getMemberScope().getContributedDescriptors().asSequence()
.filterIsInstance<CallableMemberDescriptor>()
.filter { it.getKind() == CallableMemberDescriptor.Kind.DELEGATION }
.toList()
.sortBy(MemberComparator.INSTANCE as Comparator<CallableMemberDescriptor>) // Workaround for KT-6030
.asIterable()
.sortedWith(MemberComparator.INSTANCE)
.keysToMapExceptNulls {
delegatingMember ->
@@ -57,12 +58,12 @@ public object CodegenUtilKt {
val name = overriddenDescriptor.getName()
// this is the actual member of delegateExpressionType that we are delegating to
(scope.getFunctions(name) + scope.getProperties(name))
(scope.getContributedFunctions(name, NoLookupLocation.FROM_BACKEND) + scope.getContributedVariables(name, NoLookupLocation.FROM_BACKEND))
.first {
(listOf(it) + DescriptorUtils.getAllOverriddenDescriptors(it)).map { it.getOriginal() }.contains(overriddenDescriptor.getOriginal())
}
}
assert(actualDelegates.size() <= 1) { "Meny delegates found for $delegatingMember: $actualDelegates" }
assert(actualDelegates.size() <= 1) { "Many delegates found for $delegatingMember: $actualDelegates" }
actualDelegates.firstOrNull()
}

View File

@@ -18,15 +18,17 @@ package org.jetbrains.kotlin.backend.common;
import com.google.common.collect.Lists;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.psi.JetClass;
import org.jetbrains.kotlin.psi.JetClassOrObject;
import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.KtClass;
import org.jetbrains.kotlin.psi.KtClassOrObject;
import org.jetbrains.kotlin.psi.KtParameter;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.BindingContextUtils;
import org.jetbrains.kotlin.resolve.OverrideResolver;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import java.util.Collections;
import java.util.List;
@@ -37,14 +39,16 @@ import java.util.List;
* changed here with the platform backends adopted.
*/
public abstract class DataClassMethodGenerator {
private final JetClassOrObject declaration;
private final KtClassOrObject declaration;
private final BindingContext bindingContext;
private final ClassDescriptor classDescriptor;
private final KotlinBuiltIns builtIns;
public DataClassMethodGenerator(JetClassOrObject declaration, BindingContext bindingContext) {
public DataClassMethodGenerator(KtClassOrObject declaration, BindingContext bindingContext) {
this.declaration = declaration;
this.bindingContext = bindingContext;
this.classDescriptor = BindingContextUtils.getNotNull(bindingContext, BindingContext.CLASS, declaration);
this.builtIns = DescriptorUtilsKt.getBuiltIns(classDescriptor);
}
public void generate() {
@@ -60,20 +64,17 @@ public abstract class DataClassMethodGenerator {
}
}
// Backend-specific implementations.
protected abstract void generateComponentFunction(
@NotNull FunctionDescriptor function,
@NotNull ValueParameterDescriptor parameter
);
protected abstract void generateComponentFunction(@NotNull FunctionDescriptor function, @NotNull ValueParameterDescriptor parameter);
protected abstract void generateCopyFunction(@NotNull FunctionDescriptor function, @NotNull List<JetParameter> constructorParameters);
protected abstract void generateCopyFunction(@NotNull FunctionDescriptor function, @NotNull List<KtParameter> constructorParameters);
protected abstract void generateToStringMethod(@NotNull List<PropertyDescriptor> properties);
protected abstract void generateToStringMethod(@NotNull FunctionDescriptor function, @NotNull List<PropertyDescriptor> properties);
protected abstract void generateHashCodeMethod(@NotNull List<PropertyDescriptor> properties);
protected abstract void generateHashCodeMethod(@NotNull FunctionDescriptor function, @NotNull List<PropertyDescriptor> properties);
protected abstract void generateEqualsMethod(@NotNull List<PropertyDescriptor> properties);
protected abstract void generateEqualsMethod(@NotNull FunctionDescriptor function, @NotNull List<PropertyDescriptor> properties);
@NotNull
protected ClassDescriptor getClassDescriptor() {
return classDescriptor;
}
@@ -92,7 +93,7 @@ public abstract class DataClassMethodGenerator {
}
}
private void generateCopyFunctionForDataClasses(List<JetParameter> constructorParameters) {
private void generateCopyFunctionForDataClasses(List<KtParameter> constructorParameters) {
FunctionDescriptor copyFunction = bindingContext.get(BindingContext.DATA_CLASS_COPY_FUNCTION, classDescriptor);
if (copyFunction != null) {
generateCopyFunction(copyFunction, constructorParameters);
@@ -100,73 +101,71 @@ public abstract class DataClassMethodGenerator {
}
private void generateDataClassToStringIfNeeded(@NotNull List<PropertyDescriptor> properties) {
ClassDescriptor stringClass = KotlinBuiltIns.getInstance().getString();
if (!hasDeclaredNonTrivialMember(CodegenUtil.TO_STRING_METHOD_NAME, stringClass)) {
generateToStringMethod(properties);
FunctionDescriptor function = getDeclaredMember("toString", builtIns.getString());
if (function != null && isTrivial(function)) {
generateToStringMethod(function, properties);
}
}
private void generateDataClassHashCodeIfNeeded(@NotNull List<PropertyDescriptor> properties) {
ClassDescriptor intClass = KotlinBuiltIns.getInstance().getInt();
if (!hasDeclaredNonTrivialMember(CodegenUtil.HASH_CODE_METHOD_NAME, intClass)) {
generateHashCodeMethod(properties);
FunctionDescriptor function = getDeclaredMember("hashCode", builtIns.getInt());
if (function != null && isTrivial(function)) {
generateHashCodeMethod(function, properties);
}
}
private void generateDataClassEqualsIfNeeded(@NotNull List<PropertyDescriptor> properties) {
ClassDescriptor booleanClass = KotlinBuiltIns.getInstance().getBoolean();
ClassDescriptor anyClass = KotlinBuiltIns.getInstance().getAny();
if (!hasDeclaredNonTrivialMember(CodegenUtil.EQUALS_METHOD_NAME, booleanClass, anyClass)) {
generateEqualsMethod(properties);
FunctionDescriptor function = getDeclaredMember("equals", builtIns.getBoolean(), builtIns.getAny());
if (function != null && isTrivial(function)) {
generateEqualsMethod(function, properties);
}
}
private List<PropertyDescriptor> getDataProperties() {
List<PropertyDescriptor> result = Lists.newArrayList();
for (JetParameter parameter : getPrimaryConstructorParameters()) {
if (parameter.hasValOrVarNode()) {
for (KtParameter parameter : getPrimaryConstructorParameters()) {
if (parameter.hasValOrVar()) {
result.add(bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter));
}
}
return result;
}
private
@NotNull
List<JetParameter> getPrimaryConstructorParameters() {
if (declaration instanceof JetClass) {
return ((JetClass) declaration).getPrimaryConstructorParameters();
private List<KtParameter> getPrimaryConstructorParameters() {
if (declaration instanceof KtClass) {
return declaration.getPrimaryConstructorParameters();
}
return Collections.emptyList();
}
/**
* @return true if the class has a declared member with the given name anywhere in its hierarchy besides Any
*/
private boolean hasDeclaredNonTrivialMember(
@Nullable
private FunctionDescriptor getDeclaredMember(
@NotNull String name,
@NotNull ClassDescriptor returnedClassifier,
@NotNull ClassDescriptor... valueParameterClassifiers
) {
FunctionDescriptor function =
CodegenUtil.getDeclaredFunctionByRawSignature(classDescriptor, Name.identifier(name), returnedClassifier,
valueParameterClassifiers);
if (function == null) {
return false;
}
return CodegenUtil.getDeclaredFunctionByRawSignature(
classDescriptor, Name.identifier(name), returnedClassifier, valueParameterClassifiers
);
}
/**
* @return true if the member is an inherited implementation of a method from Any
*/
private boolean isTrivial(@NotNull FunctionDescriptor function) {
if (function.getKind() == CallableMemberDescriptor.Kind.DECLARATION) {
return true;
return false;
}
for (CallableDescriptor overridden : OverrideResolver.getOverriddenDeclarations(function)) {
if (overridden instanceof CallableMemberDescriptor
&& ((CallableMemberDescriptor) overridden).getKind() == CallableMemberDescriptor.Kind.DECLARATION
&& !overridden.getContainingDeclaration().equals(KotlinBuiltIns.getInstance().getAny())) {
return true;
&& !overridden.getContainingDeclaration().equals(builtIns.getAny())) {
return false;
}
}
return false;
return true;
}
}

View File

@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.backend.common.bridges
import org.jetbrains.kotlin.utils.DFS
import java.util.HashSet
public trait FunctionHandle {
public interface FunctionHandle {
public val isDeclaration: Boolean
public val isAbstract: Boolean
@@ -56,7 +56,7 @@ public fun <Function : FunctionHandle, Signature> generateBridges(
// If it's a concrete fake override, some of the bridges may be inherited from the super-classes. Specifically, bridges for all
// declarations that are reachable from all concrete immediate super-functions of the given function. Note that all such bridges are
// guaranteed to delegate to the same implementation as bridges for the given function, that's why it's safe to inherit them
[suppress("UNCHECKED_CAST")]
@Suppress("UNCHECKED_CAST")
for (overridden in function.getOverridden() as Iterable<Function>) {
if (!overridden.isAbstract) {
bridgesToGenerate.removeAll(findAllReachableDeclarations(overridden).map(signature))
@@ -69,7 +69,7 @@ public fun <Function : FunctionHandle, Signature> generateBridges(
return bridgesToGenerate.map { Bridge(it, method) }.toSet()
}
private fun <Function : FunctionHandle> findAllReachableDeclarations(function: Function): MutableSet<Function> {
public fun <Function : FunctionHandle> findAllReachableDeclarations(function: Function): MutableSet<Function> {
val collector = object : DFS.NodeHandlerWithListResult<Function, Function>() {
override fun afterChildren(current: Function) {
if (current.isDeclaration) {
@@ -77,7 +77,7 @@ private fun <Function : FunctionHandle> findAllReachableDeclarations(function: F
}
}
}
[suppress("UNCHECKED_CAST")]
@Suppress("UNCHECKED_CAST")
DFS.dfs(listOf(function), { it.getOverridden() as Iterable<Function> }, collector)
return HashSet(collector.result())
}
@@ -86,7 +86,7 @@ private fun <Function : FunctionHandle> findAllReachableDeclarations(function: F
* Given a concrete function, finds an implementation (a concrete declaration) of this function in the supertypes.
* The implementation is guaranteed to exist because if it wouldn't, the given function would've been abstract
*/
private fun <Function : FunctionHandle> findConcreteSuperDeclaration(function: Function): Function {
public fun <Function : FunctionHandle> findConcreteSuperDeclaration(function: Function): Function {
require(!function.isAbstract, { "Only concrete functions have implementations: $function" })
if (function.isDeclaration) return function

View File

@@ -16,11 +16,12 @@
package org.jetbrains.kotlin.backend.common.bridges
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.OverrideResolver
import org.jetbrains.kotlin.resolve.calls.CallResolverUtil
import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.resolve.calls.callResolverUtil.isOrOverridesSynthesized
public fun <Signature> generateBridgesForFunctionDescriptor(
descriptor: FunctionDescriptor,
@@ -46,7 +47,7 @@ public fun <Signature> generateBridgesForFunctionDescriptor(
* can generate a bridge near an implementation (of course, in case it has a super-declaration with a different signature). Ultimately this
* eases the process of determining what bridges are already generated in our supertypes and need to be inherited, not regenerated.
*/
private data class DescriptorBasedFunctionHandle(val descriptor: FunctionDescriptor) : FunctionHandle {
public data class DescriptorBasedFunctionHandle(val descriptor: FunctionDescriptor) : FunctionHandle {
private val overridden = descriptor.getOverriddenDescriptors().map { DescriptorBasedFunctionHandle(it.getOriginal()) }
override val isDeclaration: Boolean =
@@ -55,7 +56,7 @@ private data class DescriptorBasedFunctionHandle(val descriptor: FunctionDescrip
override val isAbstract: Boolean =
descriptor.getModality() == Modality.ABSTRACT ||
DescriptorUtils.isTrait(descriptor.getContainingDeclaration())
DescriptorUtils.isInterface(descriptor.getContainingDeclaration())
override fun getOverridden() = overridden
}
@@ -64,36 +65,50 @@ private data class DescriptorBasedFunctionHandle(val descriptor: FunctionDescrip
/**
* Given a fake override in a class, returns an overridden declaration with implementation in trait, such that a method delegating to that
* trait implementation should be generated into the class containing the fake override; or null if the given function is not a fake
* override of any trait implementation or such method was already generated into some superclass
* override of any trait implementation or such method was already generated into the superclass or is a method from Any.
*/
public fun findTraitImplementation(descriptor: CallableMemberDescriptor): CallableMemberDescriptor? {
if (descriptor.getKind().isReal()) return null
if (CallResolverUtil.isOrOverridesSynthesized(descriptor)) return null
if (isOrOverridesSynthesized(descriptor)) return null
// TODO: this logic is quite common for bridge generation, find a way to abstract it to a single place
// TODO: don't use filterOutOverridden() here, it's an internal front-end utility (see its implementation)
val overriddenDeclarations = OverrideResolver.getOverriddenDeclarations(descriptor)
val filteredOverriddenDeclarations = OverrideResolver.filterOutOverridden(overriddenDeclarations)
val implementation = findImplementationFromInterface(descriptor) ?: return null
val immediateConcreteSuper = firstSuperMethodFromKotlin(descriptor, implementation) ?: return null
var implementation: CallableMemberDescriptor? = null
for (overriddenDeclaration in filteredOverriddenDeclarations) {
if (DescriptorUtils.isTrait(overriddenDeclaration.getContainingDeclaration()) && overriddenDeclaration.getModality() != Modality.ABSTRACT) {
implementation = overriddenDeclaration
}
}
if (implementation == null) {
if (!DescriptorUtils.isInterface(immediateConcreteSuper.getContainingDeclaration())) {
// If this implementation is already generated into the superclass, we need not generate it again, it'll be inherited
return null
}
// If this implementation is already generated into one of the superclasses, we need not generate it again, it'll be inherited
val containingClass = descriptor.getContainingDeclaration() as ClassDescriptor
val implClassType = implementation!!.getDispatchReceiverParameter()!!.getType()
for (supertype in containingClass.getDefaultType().getConstructor().getSupertypes()) {
if (!DescriptorUtils.isTrait(supertype.getConstructor().getDeclarationDescriptor()!!) &&
TypeUtils.getAllSupertypes(supertype).contains(implClassType)) {
return null
}
}
return implementation
return immediateConcreteSuper
}
/**
* Given a fake override, returns an overridden non-abstract function from an interface which is the actual implementation of this function
* that should be called when the given fake override is called.
*/
public fun findImplementationFromInterface(descriptor: CallableMemberDescriptor): CallableMemberDescriptor? {
val overridden = OverrideResolver.getOverriddenDeclarations(descriptor)
val filtered = OverrideResolver.filterOutOverridden(overridden)
val result = filtered.firstOrNull { it.getModality() != Modality.ABSTRACT } ?: return null
val container = result.getContainingDeclaration()
if (DescriptorUtils.isClass(container) || DescriptorUtils.isEnumClass(container)) return null
return result
}
/**
* Given a fake override and its implementation (non-abstract declaration) somewhere in supertypes,
* returns the first immediate super function of the given fake override which overrides that implementation.
* The returned function should be called from TImpl-bridges generated for the given fake override.
*/
public fun firstSuperMethodFromKotlin(
descriptor: CallableMemberDescriptor,
implementation: CallableMemberDescriptor
): CallableMemberDescriptor? {
return descriptor.getOverriddenDescriptors().firstOrNull { overridden ->
overridden.getModality() != Modality.ABSTRACT &&
(overridden == implementation || OverrideResolver.overrides(overridden, implementation))
}
}

View File

@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.backend.common.output
import java.io.File
public trait OutputFileCollection {
public interface OutputFileCollection {
public fun get(relativePath: String): OutputFile?
public fun asList(): List<OutputFile>
}
@@ -28,13 +28,11 @@ public class SimpleOutputFileCollection(private val outputFiles: List<OutputFile
override fun asList(): List<OutputFile> = outputFiles
}
public trait OutputFile {
public interface OutputFile {
public val relativePath: String
public val sourceFiles: List<File>
public fun asByteArray(): ByteArray
public fun asText(): String
override fun toString() = "$relativePath (compiled from $sourceFiles)"
}
public class SimpleOutputFile(
@@ -44,4 +42,17 @@ public class SimpleOutputFile(
) : OutputFile {
override fun asByteArray(): ByteArray = content.toByteArray()
override fun asText(): String = content
override fun toString() = "$relativePath (compiled from $sourceFiles)"
}
public class SimpleOutputBinaryFile(
override val sourceFiles: List<File>,
override val relativePath: String,
private val content: ByteArray
) : OutputFile {
override fun asByteArray(): ByteArray = content
override fun asText(): String = String(content)
override fun toString() = "$relativePath (compiled from $sourceFiles)"
}

View File

@@ -10,7 +10,6 @@
<orderEntry type="module" module-name="frontend" />
<orderEntry type="module" module-name="frontend.java" />
<orderEntry type="library" scope="PROVIDED" name="intellij-core" level="project" />
<orderEntry type="library" name="javax.inject" level="project" />
<orderEntry type="module" module-name="serialization" />
<orderEntry type="module" module-name="backend-common" exported="" />
<orderEntry type="module" module-name="util" />

Some files were not shown because too many files have changed in this diff Show More