Commit Graph

12679 Commits

Author SHA1 Message Date
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