Commit Graph

1101 Commits

Author SHA1 Message Date
Ilya Ryzhenkov d06b9abd4f Add platform independent part of Range tests to JS stdlib test run 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov ee8a7d6825 Include Ranges extension functions and Numbers NaN checks for JS 2014-04-24 12:59:43 +04:00
Ilya Ryzhenkov aee199b5b0 Add reverse() function to js version of StringBuilder 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov 962a738f1e Fix js RangeIterator and NumberProgression. 2014-04-24 12:59:40 +04:00
Andrey Breslav 4839f7a230 Make lazy analysis accessible to clients 2014-04-18 21:28:22 +04:00
Andrey Breslav 7d688e5bec LazyTopDownAnalyzer extracted as a separate component 2014-04-18 21:28:21 +04:00
Andrey Breslav c57243035e Factory method introduced for TopDownAnalysisParameters 2014-04-18 21:28:21 +04:00
Alexander Udalov 34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Zalim Bashorov 23922c1387 Fixed line separators for fix maven build on Windows. 2014-04-16 20:33:42 +04:00
Zalim Bashorov 336ff43b26 JS backend: - test both versions of Set(Complex and Primitive)
- added size in PrimitiveSet
 - fixed contains in PrimitiveSet

 #KT-4796 fixed
2014-04-02 17:50:40 +04:00
Andrey Breslav b8119a57ab Script parameters supported in LAZY mode 2014-04-01 12:36:51 +04:00
Andrey Breslav 77261330b9 Only use script parameters from definition
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
2014-04-01 12:25:33 +04:00
Andrey Breslav 6ac2e2da8a Support scripts in LAZY mode 2014-04-01 12:25:32 +04:00
Andrey Breslav 76e286aacc ScriptParameterResolver extracted 2014-04-01 12:25:31 +04:00
Andrey Breslav 9a1f8b9cc6 Trace is not injected into ScriptBodyResolver any more 2014-04-01 12:25:31 +04:00
Zalim Bashorov fd165f055f Minor in JS backend:
- use constants from Namer in JsAstUtils#createPackage;
  - dropped extra JsInvoke node when create IIF;
  - create new JsName for Kotlin object in IIF scope.
2014-03-31 16:07:55 +04:00
Zalim Bashorov 0a546ebb40 Merge pull request #428 from alextkachman/kotlin-as-var
added Kotlin as parameter for module wrapping function
2014-03-31 15:58:18 +04:00
Zalim Bashorov 0d61fbb8f7 Merge pull request #427 from alextkachman/master
Avoid unnecessary null checks in'!!' and 'as'
2014-03-31 15:57:24 +04:00
Nikolay Krasko b779141845 Refactoring: move methods about override to OverridingUtil 2014-03-31 14:09:50 +04:00
Alex Tkachman 82a25c8b07 added Kotlin as parameter for module wrapping function. this is for better obfuscation 2014-03-31 10:25:02 +03:00
Alex Tkachman 371dfc6ec4 avoid unnecessary null checks when receiver of '!!' or 'as' operator is not nullable 2014-03-29 21:28:00 +03:00
Andrey Breslav 298ddcf0ad Do not resolve annotation arguments when only a type is requested
This replaces the logic that always did complete constructor call resolution by a request to typeResolver when only a type is needed
2014-03-26 21:10:29 +04:00
Andrey Breslav 1cdfab761a Lazy annotation resolution supported 2014-03-26 21:10:29 +04:00
Andrey Breslav 27d4e583a8 Unneeded field removed 2014-03-26 21:10:28 +04:00
Andrey Breslav df1f0886c5 Inject a project into TDA for proper lazy session initialization 2014-03-26 21:10:27 +04:00
Pavel V. Talanov 246466bdc5 Implement stub based package declaration provider for lazy resolve
Implement StubPackageMemberDeclarationProvider
Introduce DeclarationProviderFactoryService to provide difference factories in CLI and Plugin
When indexing treat top level declarations without name specially so that they can be found in index
Implement PluginDeclarationProviderFactoryService which uses file based approach for non indexed files and stub based for others
2014-03-24 17:51:38 +04:00
Andrey Breslav 2a724a6eb4 Filename case fixed 2014-03-20 11:28:32 +04:00
Svetlana Isakova 3a14ab0af3 Removed ExpressionAsFunctionDescriptor 2014-03-20 10:06:03 +04:00
Svetlana Isakova f311da3f8f Supported invoke on expressions on js backend 2014-03-20 10:06:00 +04:00
Alexander Udalov 1c5df773c5 Disallow named arguments for Java methods
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Ilya Ryzhenkov 6650b641ea Teach JetTestFunctionDetector to understand subclasses 2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov 06873e9d09 Library paths updated after migration to new stdlib generators 2014-03-19 20:25:12 +04:00
Ilya Ryzhenkov e37d8174c3 New stdlib generators 2014-03-19 20:25:11 +04:00
Ilya Ryzhenkov b60fd5acc1 Stable order in generated code for JS library 2014-03-19 20:25:10 +04:00
Zalim Bashorov d728f6ba92 JS backend: using JetPsiFactory instead of JetFileUtils. Drop JetFileUtils. 2014-03-19 17:36:45 +04:00
Zalim Bashorov 9bc5cc60ee JS stdlib: added some JSDoc annotations to handwritten js files. 2014-03-19 17:36:44 +04:00
Zalim Bashorov 31d8a75b1a Minor in JS backend: moved the Kotlin.modules declaration from koltin_lib.js to koltin_lib_ecma5.js 2014-03-19 17:36:43 +04:00
Zalim Bashorov c10e7dd94b JS backend: fixed extra code generation for increment, decrement and operations with assignment. 2014-03-19 17:36:43 +04:00
Zalim Bashorov 71bfa51ab2 JS backend: fix access to class object members from containing class with implicit receiver.
#KT-4130 Fixed
2014-03-18 13:09:49 +04:00
Zalim Bashorov 1ba0b01456 Minor in JS backend: dropped unnecessary aliasing in ExpressionVisitor when translate local named function. 2014-03-18 13:09:48 +04:00
Zalim Bashorov 8fd38e261f JS backend: fix access to enum entries by implicit receiver and explicit this. 2014-03-18 13:09:47 +04:00
Andrey Breslav 9964ecc883 NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check for classes is moved to DescriptorResolver 2014-03-17 21:55:16 +04:00
Andrey Breslav fd9cb59841 TopDownAnalyzer supports lazy mode 2014-03-17 21:40:15 +04:00
Alexander Udalov 8b18309b01 Don't write "ResolvedCall<? extends CallableDescriptor>"
ResolvedCall has a type parameter D which extends CallableDescriptor.
Hence in Java "ResolvedCall<? extends CallableDescriptor>" = "ResolvedCall<?>"

The same story with these classes:
- ResolutionTask
- CallCandidateResolutionContext
- OverloadResolutionResults
2014-03-17 19:09:09 +04:00
Alexander Udalov 7d6423fcf1 Minor, add assertion messages, fix warnings 2014-03-17 19:09:09 +04:00
Zalim Bashorov 7b503bbe6f Minor in JS backend: added regression tests.
#{KT-2219, KT-2470, KT-2507, KT-2222, KT-2995, KT-2221} Obsolete
2014-03-13 22:57:41 +04:00
Zalim Bashorov a5e74d7db3 JS backend: switch to use Function.call for calling extension lambdas and local extension functions.
Main reason for this change is (simple) interop with native code when pass extension lambda to or from native code.

(#KT-4238, #KT-4345) Fixed
2014-03-13 14:17:09 +04:00
Zalim Bashorov 206be96509 JS backend: added tests which pass an extension lambda to native code and visa versa.
Added workarounds in some tests because Rhino wrongly implicitly converts first parameter of `Function.call` to `Object`. But it's contradicts to ES5 specification(par. 15.3.4.4).

(#KT-4238, #KT-4345) In progress
2014-03-13 14:17:09 +04:00
Zalim Bashorov 597fff45e3 Minor in JS backend: made stable order of function parameters for captured variables. 2014-03-13 14:17:09 +04:00
Alexey Tsvetkov 1cd7fa65d7 JS backend: fixed compiler crash when use in elvis operator something which is expression in Kotlin and not in Javascript, e.g. return.
#KT-4159 fixed
2014-03-12 19:01:55 +04:00