Alexander Udalov
34f0576135
Invoke "remove unnecessary final" intention in compiler modules
2017-04-03 14:26:52 +03:00
Alexander Udalov
f723ad76f7
Use java.util.function.Predicate instead of Guava in JS modules
2017-04-03 14:26:49 +03:00
Pavel V. Talanov
795a83ee24
LookupTracker.DO_NOTHING is the default implementation of LookupTracker
2017-03-30 18:59:19 +03:00
Pavel V. Talanov
aeda85b256
FileScopeProvider(Impl): use DefaultImplementation annotation
2017-03-30 18:59:17 +03:00
Anton Bannykh
9b34e21619
JS: fixed <Type>Array.iterator methods; added -Xtypedarray compiler key
...
The <Type>Array.iterator used to lack next<Type>() method (KT-16626).
The -Xtypedarray compiler key enables translation of primitive arrays
to TypedArrays, and primitive array`is`-checks (KT-15358, KT-14007,
KT-14614, KT-16056).
2017-03-27 23:09:34 +03:00
Alexander Udalov
e6f6b0dad5
JS: merge LibrarySourcesConfig into JsConfig
2017-03-20 17:22:29 +03:00
Alexander Udalov
bf90cb5cc0
JS: support -Xskip-metadata-version-check for incompatible ABI libraries
...
Allow the compiler to read such libraries without any errors, at the
risk of crashing with an exception.
Also fix a minor bug in the diagnostic message in LibrarySourcesConfig
and in the corresponding test in KotlinJpsBuildTest
2017-03-20 17:22:29 +03:00
Pavel V. Talanov
dbcd141a46
Extract superclass from AnnotationResolver
2017-03-15 20:52:24 +03:00
Pavel V. Talanov
babb3b557d
J2K ImportPath: kotlinify
2017-03-15 20:51:17 +03:00
Mikhail Glukhikh
045a23ae10
Cleanup: apply "Convert lambda to reference"
2017-03-15 17:36:02 +03:00
Mikhail Glukhikh
b121bf8802
Cleanup: fix some compiler warnings (mostly deprecations, javaClass)
2017-03-15 17:35:31 +03:00
Mikhail Glukhikh
1375267996
Cleanup: apply redundant curly braces in string template inspection
2017-03-15 16:13:22 +03:00
Alexander Udalov
cf7048dd0f
Do not inject CompilerConfiguration into compiler front-end
...
Inject LanguageVersionSettings instead; all information relevant to the
analysis should be now passed via an instance of LanguageVersionSettings
(which should be renamed to a more general name in the future).
This is partially a revert of d499998 and related commits
2017-03-15 11:02:59 +03:00
Alexander Udalov
a879cb0cfd
Minor, take LanguageVersionSettings in CompilerDeserializationConfiguration
2017-03-15 11:02:58 +03:00
Alexander Udalov
f5d4dd33da
Inject JvmTarget into some JVM-specific call checkers
...
This makes it possible to drop CompilerConfiguration from
CallCheckerContext, which in turn helps to avoid passing the entire
CompilerConfiguration instance through front-end
2017-03-15 11:02:57 +03:00
Anton Bannykh
fcffd190d0
JS: prohibited extension function arguments in external functions; removed extension receiver in jQuery declarations.
2017-03-03 20:37:59 +03:00
Alexander Udalov
12b48f86e7
Do not load error classes in ReflectionTypes
...
Previously ReflectionTypes.find returned an error class in case a class
is not found in the module dependencies. The problem with this approach
is that each call site should call ErrorUtils.isError on the result and
report an error if needed, in order to stop this type from reaching the
codegen, which can't handle error types.
Now we create a MockClassDescriptor instance instead. It's not an error
class, so it'll be handled correctly in the codegen. Also its scope is
empty and errors are reported on any non-trivial usage (see
MissingDependencyClassChecker), so this approach is not worse than error
classes
#KT-16484 Fixed
2017-02-28 20:19:58 +03:00
Alexander Udalov
d499998655
Inject CompilerConfiguration instead of LanguageVersionSettings
...
LanguageVersionSettings can be read from the configuration. Also, the
configuration may be used for other stuff, not related to language version
settings, soon
2017-02-20 16:18:00 +03:00
Alexander Udalov
a1a71a01b1
Drop JvmMetadataVersion.skipCheck, support this correctly
...
Pass the value of this flag via DeserializationConfiguration
2017-02-15 10:46:48 +03:00
Alexey Andreev
7192529733
JS: drop support of old library format
2017-02-10 21:04:50 +03:00
Alexey Andreev
9d6f4d7770
JS: don't treat library without JS metadata as error, report warning and continue instead. See KT-16158
2017-02-08 11:29:30 +03:00
Alexey Andreev
ffca68d85e
JS: escape quotes in some diagnostics with parametrized messages
2017-02-08 11:29:29 +03:00
Alexander Udalov
b780e6d374
Do not import "kotlin.comparisons" by default for language version 1.0
...
#KT-16199 Fixed
2017-02-07 10:15:57 +03:00
Anton Bannykh
289a7a9cc3
JS: fixed support for test source roots (KT-6627)
2017-02-03 13:03:12 +03:00
Alexey Andreev
0f049a90aa
JS: prohibit nested classes, objects and enums in external interface. See KT-16012
2017-02-03 11:09:09 +03:00
Alexander Udalov
464820458e
JS: rename "-library-files" argument to "-libraries" and change separator
...
Use the system separator (':' or ';') instead of commas
#KT-16083 Fixed
2017-01-31 16:26:35 +03:00
Ilya Gorbunov
cd5f68f119
Add exclusions to JS platform default imports
2017-01-30 19:44:51 +03:00
Alexey Andreev
d0b7dc8f4e
JS: don't fail when generating signature for function which refers to undefined type
2017-01-30 19:26:24 +03:00
Alexey Andreev
06e8f7b328
JS: don't report error when FAKE function overrides external function with optional parameters. Report only when it overrides at least two such functions. See KT-15961
2017-01-30 17:26:07 +03:00
Anton Bannykh
77aa685496
JS: char boxing
2017-01-30 16:31:44 +03:00
Alexander Udalov
167155388d
Rename JsBinaryVersion -> JsMetadataVersion
...
For consistency with JvmMetadataVersion
2017-01-30 16:05:46 +03:00
Alexander Udalov
e5680565b3
JS: drop "-kjsm" flag, merge logic with "-meta-info"
...
#KT-16049 Fixed
2017-01-30 11:31:03 +03:00
Alexander Udalov
ef42e3e4aa
JS: write full version (major.minor.patch) to .meta.js
2017-01-30 11:31:02 +03:00
Alexey Andreev
31c758994d
JS: remove diagnostic about callable reference to built-in
2017-01-25 18:09:22 +03:00
Alexey Andreev
ad4fb44827
JS: report about using of external interfaces in class literals
2017-01-25 18:09:22 +03:00
Alexey Andreev
deaac83e70
JS: report about wrong module usage in class literals. See KT-15253
2017-01-25 18:09:21 +03:00
Alexey Andreev
9000d54d8a
JS: when checking calls to JsModule declarations, check arguments passed to reified type parameters. See KT-15253
2017-01-25 18:09:20 +03:00
Alexey Andreev
8cbea903f4
JS: add checker that checks if JsQualifier has wrong format
2017-01-25 13:52:19 +03:00
Alexey Andreev
ba65e58fdd
JS: add checker to detect non-external declarations in files marked by JsModule or JsQualifier annotation
2017-01-25 13:52:19 +03:00
Alexey Andreev
cc67f6c9f7
JS: add support of JsQualifier annotation. See KT-15905
2017-01-25 13:52:18 +03:00
Alexey Andreev
51e5b5aac7
JS: allow to inherit external class from kotlin.Throwable. See KT-15336
2017-01-25 13:51:53 +03:00
Anton Bannykh
847ec9e550
JS: fixed subSequence in CharSequence descendants (KT-14035) + added support for function intrics in delegation
2017-01-25 12:59:53 +03:00
Alexey Andreev
26abc19aa6
JS: replace noImpl with definedExternally in diagnostics and their messages
2017-01-24 20:14:32 +03:00
Alexey Andreev
71a5d8a4ee
JS: add definedExternally property as a replacement for noImpl, support it in checkers. See KT-15144
2017-01-24 20:14:31 +03:00
Alexey Andreev
2ae46ceb4b
JS: change how signature for mangling is generated, taking into account more information. See KT-15285
2017-01-24 20:10:17 +03:00
Alexey Andreev
1b0648a926
JS: refactor generation of property callable references
2017-01-24 20:09:29 +03:00
Alexey Andreev
bc0550d7b7
JS: don't report about inline modifier on inline extension fun to external class
2017-01-24 12:27:02 +03:00
Sergey Mashkov
98075c17c9
kotlin-test: extract from JS library, convert to multiplatform
2017-01-23 15:43:02 +03:00
Alexey Andreev
245f23e7c2
JS: fix translation of references to external nested classes in files marked with @JsModule. See KT-15797
2017-01-19 16:30:57 +03:00
Alexey Andreev
daac24b62e
JS: prohibit referencing noImpl property from non-external declarations. See KT-15306
2017-01-19 13:09:06 +03:00