Alexander Udalov
baaa3ef50a
Remove KotlinSignature annotations from project code
2015-10-13 20:29:16 +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
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
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
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
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
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
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
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
Dmitry Petrov
7e51fb8521
Check for exposed local classes (or objects) in type signatures
2015-10-12 15:24:54 +03: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
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
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
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
1523d5bcbf
removing static type assertions work in progress
2015-10-12 11:11:23 +02:00
Ilya Gorbunov
7ff0e140f0
Update MockJDK to include Pattern.class required in tests for #KT-7732
2015-10-12 00:13:37 +03:00
Denis Zharkov
a76a8fcc3f
Adjust various testData to remove/charAt transformation
2015-10-11 19:59:31 +03:00
Denis Zharkov
6f4579213c
Adjust rendered descriptors after remove/charAt transformations
2015-10-11 19:59:30 +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
Alexander Udalov
9d626ef1d9
Rename KotlinCallable annotation to KotlinFunction
2015-10-11 17:10:40 +03:00
Alexander Udalov
0218e0351b
Deprecate KPackage, to be removed later
2015-10-11 17:10:37 +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
8c4d7fdf24
Drop deprecated nested classes from Kotlin metadata annotations
2015-10-11 17:10:33 +03:00
Denis Zharkov
97ed8c83a0
Adjust testData to isEmpty/key/value transformations
2015-10-10 12:29:15 +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