Denis Zharkov
fd0c92e307
Record inner class info for interface and DefaultImpls
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
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
Valentin Kipyatkov
8f1a3043de
Synthetic properties made locale-independant too
2015-09-29 18:32:25 +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
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
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
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
e749bc262d
Delete deprecated Type.Constructor message, advance ABI version
2015-09-29 16:26:24 +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
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
Yan Zhulanow
cc2d005984
Make lateinit diagnostics more clear
2015-09-25 19:51:06 +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
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
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
Denis Zharkov
505cb37052
Generate deprecated flag on getter of const val's
2015-09-25 18:12:45 +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
Alexey Sedunov
5af4101f7d
Resource Bundles: Implement references on Kotlin string literals
...
#KT-6946 In Progress
2015-09-25 17:17:59 +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
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
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
Michael Nedzelsky
c6409138d8
Merge pull request #752 from JetBrains/rr/compile-service-3
...
compile service 3
2015-09-24 16:50:09 +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
85895bec62
Improved error reporting, when we trying import invisible descriptor.
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
cf57d56ab3
Don't generate private members in interface
2015-09-24 12:00:18 +03: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
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