Commit Graph

24010 Commits

Author SHA1 Message Date
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