Denis Zharkov
fd0c92e307
Record inner class info for interface and DefaultImpls
2015-09-30 08:19:51 +03:00
Denis Zharkov
c1bed7efc7
Move generation of non-local interface DefaultImpls
...
`DefaultImpls` should be inner class of it's interface,
so for proper light classes building it should be built
before original interface has been done, i.e. `done` method called.
Everything is complicated with local interfaces, so they are just left untouched
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
cabf0df5d1
Minor. Rename mapTraitImpl -> mapDefaultImpls
2015-09-30 08:19:51 +03:00
Denis Zharkov
b2d4bdc802
Minor. Rename isTrait -> isInterface
2015-09-30 08:19:51 +03:00
Denis Zharkov
6061528f7f
Minor. Rename isInterface -> isJvmInterface
2015-09-30 08:19:51 +03:00
Denis Zharkov
cb1bdfde52
Minor. TraitImplBodyCodegen -> InterfaceImplBodyCodegen
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
Alexander Udalov
1fbfff97fa
Delete NoInternalVisibilityInStdLibTest
...
'internal' is not a default visibility anymore and thus makes sense in stdlib
2015-09-29 21:42:58 +03:00
Zalim Bashorov
90915f2432
Backup project's system dir when create backup for debugging Kotlin incremental compilation
2015-09-29 19:42:30 +03:00
Zalim Bashorov
0eac238f9b
KotlinBuilder: improve logging
2015-09-29 19:42:29 +03:00
Valentin Kipyatkov
2d0c1cd77d
Advanced ABI version after accessor naming change
2015-09-29 18:38:42 +03:00
Valentin Kipyatkov
94d8e3f4b6
"is" getter naming allowed for non-booleans too
2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
20bddce18d
No synthetic property for false get-method like "issue()"
2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
8f1a3043de
Synthetic properties made locale-independant too
2015-09-29 18:32:25 +03:00
Valentin Kipyatkov
069ce12604
Accessor naming should be locale-independant
2015-09-29 18:32:24 +03:00
Valentin Kipyatkov
219fc46a36
Renamed property to avoid name clash
2015-09-29 18:32:24 +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
Mikhail Glukhikh
1941827780
Typo fixed
2015-09-29 17:14:06 +03:00
Alexander Udalov
3b018e9eb0
Minor, move serialization-related stuff in codegen to separate package
2015-09-29 16:31:21 +03:00
Alexander Udalov
ba80a2404f
Minor, improve signature of AsmUtil#writeAnnotationData
2015-09-29 16:26:29 +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
542bfab96f
Don't write unnecessary information to ValueParameter proto
...
Flags can have a default value and the index can be trivially computed almost
all the time
2015-09-29 16:26:28 +03:00
Alexander Udalov
ccf72668e0
Don't write default upper bound for type parameters in protobuf
2015-09-29 16:26:27 +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
5fe958f034
Add target TYPE to JVM metadata annotations
2015-09-29 16:26:26 +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
68051fa3bb
Minor, refine parameter type of StringTable#getFqNameIndex
2015-09-29 16:26:25 +03:00
Alexander Udalov
5477570066
Extract interface out of NameResolver
2015-09-29 16:26:24 +03:00
Alexander Udalov
da68c4d9ee
Extract interface out of StringTable
...
Rework SerializerExtension interface: don't pass StringTable to each method
every time, create it in each extension's constructor instead and expose to
DescriptorSerializer with an interface method
2015-09-29 16:26:24 +03:00
Alexander Udalov
e749bc262d
Delete deprecated Type.Constructor message, advance ABI version
2015-09-29 16:26:24 +03:00
Nikolay Krasko
42eb413066
Update since to 142.5047.6
2015-09-29 15:43:02 +03:00
Stanislav Erokhin
5a61871d4b
Minor. Fix testdata.
2015-09-29 13:33:57 +03:00
Stanislav Erokhin
5adec83907
Minor. Fix util function getResolutionScope.
2015-09-29 13:33:56 +03:00
Stanislav Erokhin
eb5a129253
Created util function recordScope and record scope for file and value parameters.
2015-09-29 13:33:56 +03:00
Stanislav Erokhin
fd503d0367
Minor. Replaced TYPE_RESOLUTION_SCOPE to LEXICAL_SCOPE
2015-09-29 13:33:55 +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
Mikhail Glukhikh
4e91f2ffb7
'open' + 'private' and 'abstract' + 'private' are now incompatible for functions and properties #KT-9324 Fixed
2015-09-29 13:05:11 +03:00
Mikhail Glukhikh
7cf2840fe5
'final' is deprecated in interfaces
2015-09-29 13:05:08 +03:00
Ilya Gorbunov
a55f9feacb
Mark CharSequence.iterator() with operator.
2015-09-28 21:50:54 +03:00
Nikolay Krasko
e92a95eebb
Fix typo in extension
2015-09-28 15:58:54 +03:00
Dmitry Kovanikov
6aa300e2d3
Minor: rename Kotlin console... action name to Kotlin REPL
2015-09-28 15:54:58 +03:00
Dmitry Kovanikov
45911cff90
Add icon to Kotlin console... action
2015-09-28 15:54:57 +03:00
Dmitry Kovanikov
84c1ac8885
KT-9262: don't show warning about non-existent location after typing ':quit'
2015-09-28 15:54:56 +03:00