Valentin Kipyatkov
22e631dda3
Naming with "is" supported for synthetic extensions
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
f53a0b0536
Converted JetNameReferenceExpression to Kotlin
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
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
a014f5c8db
No synthetic properties with incorrect names
2015-07-16 13:49:15 +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
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
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
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
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
Valentin Kipyatkov
5f8a652a38
KT-4592 Parameter info shows signatures of inaccessible methods
...
#KT-4592 Fixed
2015-07-15 16:32:20 +03: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
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
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
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
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
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