Commit Graph

38594 Commits

Author SHA1 Message Date
Alexey Andreev c1627e840b JS: use eval instead of js in tests to refer local declarations to avoid renaming by resolveTemporaryNames 2017-04-24 18:29:12 +03:00
Alexey Andreev ce1eabdf6f JS: generate name table entries for non-internal name so that Merger could merge them in a single JsName. It is required for inlining to properly work on non-toplevel declarations between different files. 2017-04-24 18:29:11 +03:00
Alexey Andreev ee1e0fc0b1 JS: minor optimization: when attempting to set default value to MetadataProperty, remove value from underlying map 2017-04-24 18:29:11 +03:00
Alexey Andreev ecdf8a9985 JS: import external declarations, reference them by aliases, not by FQN 2017-04-24 18:29:10 +03:00
Alexey Andreev 435be921f2 JS: when generating class, translate reference to its parent, so that fragment can import corresponding declaration 2017-04-24 18:29:10 +03:00
Alexey Andreev 7d3e3c0299 JS: de-duplicate temporary names in some cases to allow name resolution to make its work better 2017-04-24 18:29:09 +03:00
Alexey Andreev 9e0a06a4aa JS: refactor JsScope, JsName and related things, since it's became unnecessary to track scopes and declaration order of temporary JsName's 2017-04-24 18:29:09 +03:00
Alexey Andreev 9530ce6c26 JS: when resolving temporary functions, don't rely on JsScope hierarchy, build this hierarchy instead, based on scoping rules for function, var, etc expressions 2017-04-24 18:29:08 +03:00
Alexey Andreev a6bb5743db JS: include expandIsCalls in new translator pipeline 2017-04-24 18:29:08 +03:00
Alexey Andreev 714cb60375 JS: support bridges and copying of non-abstract methods of interfaces in new pipeline 2017-04-24 18:29:07 +03:00
Alexey Andreev 83140bc5f7 JS: support inlining in new pipeline 2017-04-24 18:29:07 +03:00
Alexey Andreev a414cd64c5 JS: support module imports in new pipeline 2017-04-24 18:29:06 +03:00
Alexey Andreev 2354adfa22 JS: support class prototypes in new pipeline 2017-04-24 18:29:06 +03:00
Alexey Andreev 108fcba885 JS: support imports in new pipeline 2017-04-24 18:29:05 +03:00
Alexey Andreev 6711db86ee JS: reworking translator pipeline to generate multiple fragment each for source file 2017-04-24 18:29:05 +03:00
Alexey Andreev e909ef984c JS: prepare all necessary abstractions for new pipeline 2017-04-24 18:29:04 +03:00
Zalim Bashorov 56810c5100 KJS: cleanup RhinoUtils and remove obsolete rhino result checkers 2017-04-24 17:59:10 +03:00
Zalim Bashorov 25dd31a2e0 KJS: introduce new base class WebDemoExamples* tests 2017-04-24 17:59:08 +03:00
Zalim Bashorov e1cf6445ee KJS: make OutputPrefixPostfixTest generated and migrate to BasicBoxTest 2017-04-24 17:59:08 +03:00
Zalim Bashorov 030809e3b1 KJS: add generateNodeJsRunner flag to BasicBoxTest to control the generating files for node.js runner 2017-04-24 17:59:07 +03:00
Zalim Bashorov 41ce3936fc KJS: move some "static" properties of BasicBoxTest to its companion object 2017-04-24 17:59:07 +03:00
Zalim Bashorov 7eb882ed27 KJS: switch sourcemap tests to generated using BasicBoxTest 2017-04-24 17:59:07 +03:00
Zalim Bashorov 725b0100e2 KJS: remove useless StdLibTest 2017-04-24 17:59:06 +03:00
Denis Zharkov 62a55b7b00 Fix false-positive resolution ambiguity when using akka
com.typesafe.akka:akka-cluster-sharding_2.12:2.5
akka.cluster.sharding.ClusterSharding  has the following methods:

    public static ClusterSharding get(ActorSystem var0) {
        return ClusterSharding$.MODULE$.get(var0);
    }

    public static Extension get(ActorSystem var0) {
        return ClusterSharding$.MODULE$.get(var0);
    }

NB: ClusterSharding  <: Extension
None of these methods is synthetic or something, but javac allows
calls like ClusterSharding.get(null)  and they get resolved
to the first method returning ClusterSharding

It seems that both javac and IntelliJ resolution algorithms filter out
such clashing declarations choosing the one that has the most
specific return type, the same idea is applied in the change

 #KT-17560 Fixed
2017-04-24 17:54:01 +03:00
Denis Zharkov 40e1d5bc23 Optimize KtFile::isScipt/getScript when file is not kts
`isScript` gets invoked for each call
(see org.jetbrains.kotlin.resolve.calls.CandidateResolver#checkOuterClassMemberIsAccessible)

And currently it may work for O(|top-level-declarations|),
that is rather slow e.g. for native stubs for gtk

 #KT-17562 Fixed
2017-04-24 17:53:20 +03:00
Ilya Chernikov af4caeaf24 Ignore empty lines at the end of the testdata, remove debug dump
should fix source-section plugin tests on windows
2017-04-24 16:50:19 +02:00
Alexey Sedunov fd41e266fb Quick Fixes: Add/remove 'suspend' in hierarchy
#KT-15903 Fixed
2017-04-24 14:55:37 +03:00
Vyacheslav Gerasimov 0d32ac924a Update 1.1.2 changelog 2017-04-24 14:07:49 +03:00
Anton Bannykh 0db3649da1 Added EnvironmentConfigFiles.NATIVE_CONFIG_FILES for Kotlin/Native 2017-04-24 13:20:57 +03:00
Dmitry Jemerov 5315f4d9da Initial implementation of rainbow highlighting for Kotlin
#KT-12629 Fixed
2017-04-22 13:45:36 +02:00
Alexander Udalov c9769ab454 Do not serialize/deserialize CommonCompilerArguments#errors
This prevents .idea/kotlinc.xml from being added with an empty
ArgumentParseErrors object and also fixes
ConfigureKotlinInTempDirTest.testKotlincExistsNoSettingsRuntime11
2017-04-22 02:17:49 +03:00
Ilya Gorbunov e0a4f9ba76 Rewrite precondition samples and refactor precondition tests
Precondition tests are shared for JS target.
Samples do not use assertFailsWith as expression, as it's going to be converted as a special template.
2017-04-21 21:13:25 +03:00
Ilya Gorbunov 2c32bae5ca kotlin-test: Make assertFailsWith<reified T: Throwable>() common 2017-04-21 20:52:14 +03:00
Ilya Gorbunov 307b132015 kotlin-test: Make assertFailsWith(KClass<T: Throwable>) common 2017-04-21 20:52:12 +03:00
Ilya Gorbunov ec8ead754f Run kotlin-test-js tests with kotlin-stdlib-js
Rework kotlin-test common tests to make them runnable with qunit.
Change the way how asserter is overridden in js box tests.
Minor: remove unneeded test configs
2017-04-21 20:51:07 +03:00
Ilya Gorbunov f009e0c665 kotlin-test: Make 'todo { }' function common 2017-04-21 20:50:59 +03:00
Nikolay Krasko 4d0b88e34b Minor: use 'Searching for' instead of 'Searching' 2017-04-21 15:12:08 +03:00
Nikolay Krasko 666ecdb7d6 Don't iterate through classes for Scala and Clojure 2017-04-21 15:12:08 +03:00
Nikolay Krasko 111f0b1e66 Avoid full references search for languages without PsiClass (KT-14974)
Make smart type search work for Groovy.

 #KT-14974 Fixed
2017-04-21 15:12:07 +03:00
Nikolay Krasko 102310e3c2 Skip references for invoke when number of arguments in psi is wrong 2017-04-21 15:08:52 +03:00
Nikolay Krasko d3ff8c12a4 Use dialog wrapper for controlling behaviour from tests
Known issue: can't use same approach for modifying Java dialogs
behaviour
2017-04-21 15:08:40 +03:00
Mikhail Glukhikh 247a571f51 Add test for multi-platform find usages #KT-15665 Obsolete
+ perform minor AbstractFindUsagesTest refactoring
2017-04-21 14:26:41 +03:00
Dmitry Jemerov 4e8fe18ca8 Fix facet validation: change ArgumentParseErrors to a data class
BaseCompilerSettings.validateInheritedFieldsUnchanged() compares
old and new properties of the compiler settings, and the check requires
ArgumentParseErrors.equals() to be correctly implemented
2017-04-21 13:20:49 +02:00
Dmitry Jemerov 7346fee513 Quickfix to enable coroutine support works in Maven projects
#KT-17521 Fixed
2017-04-21 13:20:49 +02:00
Dmitry Jemerov aabd560eef Quickfix to enable language feature works for Maven project
#KT-17520 Fixed
2017-04-21 13:20:48 +02:00
Dmitry Jemerov f389dc068c Import project configuration specified as Maven properties
#KT-17517 Fixed
2017-04-21 13:20:47 +02:00
Dmitry Jemerov 2fd290567c Remove unnecessary use of API which is not intended for clients 2017-04-21 13:20:46 +02:00
Dmitry Jemerov 34b5920225 Fix order of files with fixed data 2017-04-21 13:20:45 +02:00
Dmitry Jemerov 37d5a42b53 Delete some dead code which also happens to crash on test startup 2017-04-21 13:20:44 +02:00
Dmitry Jemerov 794a21aa9c Set default jvmTarget when configuring Kotlin with default configurator 2017-04-21 13:20:34 +02:00