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
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
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
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
Nikolay Krasko
e92a95eebb
Fix typo in extension
2015-09-28 15:58:54 +03:00
Nikolay Krasko
881f1fd75e
Suppress warning in proguard about jna classes
2015-09-28 11:38:08 +03:00
Michael Nedzelsky
0035bbba7c
fix check for internal from another module in imports and file level annotations
2015-09-27 20:37:41 +03:00
Ilya Gorbunov
ee44717a41
private -> internal where it's necessary: synchronize OperationsMapGenerated and GenerateOperationsMap.
2015-09-26 00:26:59 +03:00
Zalim Bashorov
03fe293ace
Minor: fix testdata
2015-09-25 22:36:01 +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
Zalim Bashorov
8cb87b3e49
private -> internal where it's necessary
2015-09-25 21:16:00 +03:00
Michael Nedzelsky
0d2196e226
ACCESS_TO_PRIVATE_TOP_LEVEL_FROM_ANOTHER_FILE: warning -> error
2015-09-25 21:13:18 +03:00
Ilya Gorbunov
1622cf9506
Fix stdlib facade names in bytecode generation and decompilation tests.
2015-09-25 21:10:13 +03:00
Ilya Gorbunov
12d218632c
logging: debug enabled for CLI
2015-09-25 21:09:29 +03:00
Ilya Gorbunov
9970c34961
Preprocessor: improved logging.
2015-09-25 21:09:27 +03:00
Ilya Gorbunov
1df4ab847d
Remove task for ant, include preprocessor into the compiler, call preprocessor in ant build.
2015-09-25 21:09:22 +03:00
Ilya Gorbunov
e8c93abdb5
Developing preprocessor task for ant
2015-09-25 21:09:20 +03:00
Ilya Gorbunov
7b206fdaf4
Refactor a bit
2015-09-25 21:09:18 +03:00
Ilya Gorbunov
d76e177834
Each platform is processed separately but in parallel.
2015-09-25 21:09:15 +03:00
Ilya Gorbunov
706771829e
Processing sources for multiple platforms in one pass.
2015-09-25 21:09:13 +03:00
Ilya Gorbunov
de778d9865
Prototyping preprocessor: stripping declarations and replacing name.
2015-09-25 21:09:08 +03:00
Dmitry Jemerov
bda0bd1de1
quickfix to add 'operator' keyword to operator-like functions
2015-09-25 20:00:19 +02:00
Yan Zhulanow
b73f91d16b
Fix "unresolved widget fqname" bug in Gradle
2015-09-25 20:47:54 +03:00
Dmitry Jemerov
250456ab4b
add quickfix for NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION
2015-09-25 19:14:52 +02:00
Alexey Tsvetkov
68437175f6
Enable disabling incremental compilation for tests
2015-09-25 20:11:57 +03:00
Mikhail Glukhikh
4b9d136ced
identityEquals is deprecated
2015-09-25 20:00:54 +03:00
Yan Zhulanow
aada13c91f
Deprecate @publicField
2015-09-25 19:51:07 +03:00
Yan Zhulanow
cc2d005984
Make lateinit diagnostics more clear
2015-09-25 19:51:06 +03:00
Dmitry Jemerov
9de74921ca
code review
2015-09-25 18:25:38 +02:00
Dmitry Jemerov
4e7236529c
"move assignment to initializer" quickfix for assigning to properties in constructors/init blocks
2015-09-25 18:25:37 +02:00
Dmitry Jemerov
e1acc8744d
"introduce backing property" intention
2015-09-25 18:25:37 +02:00
Yan Zhulanow
3d65b6fec2
Add extension function for BindingContext
2015-09-25 19:20:21 +03:00
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Yan Zhulanow
35362a0f3b
Check 'operator' on next() and hasNext()
2015-09-25 19:20:19 +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