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
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
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