Dmitry Petrov
80bd916f5d
'SuspendFunction$n' should not be visible in member scopes (should be unresolved).
...
'SuspendFunction$n' class descriptors are created on demand by KotlinBuiltIns (and cached).
On serialization, types constructed with 'SuspendFunction$n' are written as 'Function$n' with extra flag (SUSPEND_TYPE).
On deserialization, corresponding 'SuspendFunction$n' classes are used.
2016-12-15 23:58:05 +03:00
Alexander Udalov
954db037dc
Minor, fix warning by adding a TODO
2016-12-15 12:12:07 +03:00
Alexander Udalov
feeed98323
Introduce SinceKotlinInfo, load from serialized metadata
...
This is a way for future compilers to cause previous compilers to report
diagnostics on usages of some declarations. Diagnostic can have a message
(and/or error code), level (error, warning, or completely hide the declaration
from the resolution), and Kotlin version, since which the diagnostic should no
longer be reported
2016-12-15 11:46:17 +03:00
Alexey Andreev
0238b182cc
KT-12877: add JsNonModule with support on front-end
2016-12-03 17:15:07 +03:00
Alexey Andreev
ac703dfda6
KT-12877: serialize information about file annotations. For each top-level declaration store containing file. Use this information to properly handle file-targeted JsModule.
2016-12-03 17:14:29 +03:00
Alexander Udalov
32792c5ce4
Store .kotlin_module files in MetadataSerializer
...
Compilation of top level functions/properties/typealiases results in a bunch of
different .kotlin_metadata files, so we need to store names of these files to
avoid scanning the file system in the compiler when loading code compiled by
K2MetadataCompiler.
For this, we reuse the PackageTable protobuf message, which is already used for
exactly the same purpose in the JVM back-end
2016-11-25 20:50:12 +03:00
Alexey Tsvetkov
fc1af746c6
Gradle IC: treat companion object change as class signature change
2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
f01a956a8b
Gradle IC: fix converting class to package facade
2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
151cf7d073
Gradle IC: support multifile classes
2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
7c16d086aa
Groundwork for using IC without Gradle
2016-10-28 17:58:10 +03:00
Alexey Tsvetkov
fafde1e948
Refactoring: introduce IncReporter to report IC progress
2016-10-28 17:58:10 +03:00
Alexander Udalov
53b584f48c
Simplify usages of IncrementalPackageFragment and related code
...
Since its scope is now empty, no descriptor now has a container that is an
instance of IncrementalPackageFragment -> a lot of code is not needed anymore
2016-10-05 11:24:30 +03:00
Alexey Tsvetkov
6ebb50751c
Remove source annotations when copy class with kapt2
...
Writing source annotations enables incremental compilation for kapt2.
However they are not needed in bytecode, so we remove them when
copying classes.
# Conflicts:
# compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt
# compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java
2016-09-14 13:52:56 +03:00
Yan Zhulanow
975364b2ed
Kapt: Provide SourceRetentionAnnotationHandler for incremental compilation.
...
Collect annotations with the "SOURCE" retention.
(cherry picked from commit 6ef66e7)
2016-09-10 17:36:15 +03:00
Alexey Tsvetkov
4e8deb9566
Implement multiproject IC in Gradle
...
#KT-13528 fixed
2016-09-05 14:52:17 +03:00
Alexander Udalov
aaf618e035
Minor, inline HashSetUtil#symmetricDifference
2016-07-25 15:55:31 +03:00
Alexander Udalov
9bf91e95d0
Change default visibility for TypeAlias from 'internal' to 'public'
...
Since public type aliases will supposedly be more common than internal ones, it
makes sense to save on writing flags for the former rather than the latter
2016-07-05 18:18:45 +03:00
Denis Zharkov
efe718602a
Support type aliases in incremental compilation
...
#KT-12871 Fixed
2016-06-28 16:22:08 +03:00
Denis Zharkov
d53c53a900
Support annotations on type aliases declarations
2016-06-28 10:33:29 +03:00
Denis Zharkov
15ce4f8856
Minor. Add comment about type aliases based types metadata format
2016-06-28 10:33:29 +03:00
Denis Zharkov
d78177dc23
Refine metadata format for typealias based type
2016-06-28 10:33:29 +03:00
Alexander Udalov
601dc96a34
Minor, rename protobuf field according to style guide
2016-06-27 20:18:57 +03:00
Alexander Udalov
4c8e8b099a
Update protobuf from 2.5.0 to 2.6.1
2016-06-27 20:14:00 +03:00
Alexey Andreev
848d7f92fa
KT-3008 Implement AMD, CommonJS and UMD wrappers. Compile stdlib and builtins modules into separate JS files and wrap them in UMD.
2016-06-27 15:33:24 +03:00
Alexey Andreev
95b78e18df
KT-3008 Change the way how modules are referenced in JS
2016-06-27 15:33:23 +03:00
Alexey Andreev
2909533522
KT-3008 Add module kind. Include module kind and module dependencies in metadata
2016-06-27 15:33:23 +03:00
Mikhael Bogdanov
fc8058848f
Added classVersion to KotlinJvmBinaryClass
2016-06-15 13:43:26 +03:00
Alexander Udalov
7e38b93d80
Use protobuf with renamed packages, pack to IDEA plugin
...
Update GenerateProtoBuf.kt to also regexp-replace com.google.protobuf with
org.jetbrains.kotlin.protobuf in generated Java sources
#KT-12581 Fixed
2016-06-14 14:17:22 +03:00
Alexander Udalov
3477f6ee85
Minor, drop java_generic_services option from .proto files
...
There are no service definitions in our .proto files, so this option had no
effect
2016-06-09 15:54:49 +03:00
Alexey Tsvetkov
5161b6bfe0
Shade in kotlin-build-common-test
2016-06-07 14:42:42 +03:00
Dmitry Petrov
aede318fd5
Protobuf diff: do not throw exception on TYPE_ALIAS_LIST
2016-06-03 16:07:21 +03:00
Dmitry Petrov
8c2e80f9eb
KT-11588 Type aliases
...
Fix protoDifferenceUtils.
2016-06-01 14:32:44 +03:00
Alexander Udalov
b9fb6c0d84
Remove dangerous readKotlinHeader() in inlineUtil.kt
...
It was creating a phantom FileBasedKotlinClass which was not based on any file
2016-05-23 20:00:50 +03:00
Dmitry Petrov
65293008fd
KT-11588 Type aliases
...
Type alias descriptor serialization
Types with type aliases serialization
2016-05-20 14:17:24 +03:00
Alexey Tsvetkov
fe6e69ff89
Update kapt annotations file incrementally
2016-05-11 20:41:48 +03:00
Alexander Udalov
2ab68d53fa
J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert
2016-04-14 21:08:36 +03:00
Zalim Bashorov
51c6abdbed
IC: take into account added and removed classes when calculate affected names
2016-04-11 19:26:18 +03:00
Nikolay Krasko
47c7181f2a
Extract tests-common module without any actual tests
...
The main reasoning for the module is to avoid running any compiler tests while executing run configuration that searches tests across module dependencies.
2016-04-08 17:40:38 +03:00
Alexey Tsvetkov
61814eb23f
Test: override build.log in gradle IC tests
2016-03-30 03:40:53 +03:00
Alexey Tsvetkov
c1a61b17c7
Test: use one function to find test's build log for jps and gradle
2016-03-30 03:40:53 +03:00
Alexey Tsvetkov
4c782dbfcc
Refactor: move allVersions() to jps-plugin since it is jps specific
2016-03-30 03:40:53 +03:00
Zalim Bashorov
9a9b863c9d
IC: add tests with moving files
...
Additionally added the ability to use directories in IC tests.
#KT-8002 Obsolete
2016-03-24 22:28:40 +03:00
Alexey Tsvetkov
6ab868ae33
Print file paths relative to project root in gradle incremental compilation logs
...
KT-8487
2016-03-03 16:45:20 +03:00
Alexey Tsvetkov
ba386f031b
Pass isPackage = false when processing class proto
...
KT-8487
2016-03-03 16:45:20 +03:00
Alexey Tsvetkov
be44db7bd3
Rebuild and compare output class files in gradle incremental tests
...
KT-8487
2016-03-03 16:45:19 +03:00
Alexey Tsvetkov
9e3284ff2a
Make some functions private in classFileComparison.kt
...
KT-8487
2016-03-03 16:45:19 +03:00
Alexey Tsvetkov
7a7562d685
Build incremental testing utils to kotlin-build-common-test.jar
...
KT-8487
2016-03-03 16:45:19 +03:00
Alexey Tsvetkov
239e217d19
Move DebugXProtoBuf classes to build-common
...
KT-8487
2016-03-03 16:45:19 +03:00
Alexey Tsvetkov
8df209b436
Move incremental test modification utils to build-common
...
KT-8487
2016-03-03 16:45:17 +03:00
Alexey Tsvetkov
f93562299c
Reuse code from build-common
...
KT-8487
2016-03-03 16:45:16 +03:00