2372 Commits

Author SHA1 Message Date
Valentin Kipyatkov d4275e1110 Added test for KT-6132 2014-11-08 10:36:25 +03:00
Evgeny Gerashchenko 70331e3b82 Initial support for kotlin-java interop in incremental compilation. 2014-11-07 14:51:53 +03:00
Pavel V. Talanov 5fb4f41030 Rename test data folder: libraries -> decompiler 2014-10-31 18:12:20 +03:00
Pavel V. Talanov d2d9813e12 Rename and restructure plugin.libraries package
Rename: libraries -> decompiler
New subpackages: textBuilder, navigation
2014-10-31 16:49:11 +03:00
Valentin Kipyatkov abf537e348 J2K: conversion with usage processing across multiple converted files works in tests (but not in real life yet) 2014-10-30 12:55:45 +03:00
Nikolay Krasko 8d86951a3b Refactoring: junit.framework.Assert -> org.junit.Assert 2014-10-27 12:47:43 +04:00
Natalia Ukhorskaya d9ac8155da Debugger: wrong stepping through the loop with continue label
#KT-5776 Fixed
 #KT-5664 Fixed
2014-10-24 15:59:39 +04:00
Natalia Ukhorskaya 3900ee34ae Debugger tests: move stepping tests 2014-10-24 15:59:37 +04:00
Natalia Ukhorskaya 40bb8968cc Run J2KConverter tests in webDemo mode 2014-10-22 17:30:48 +04:00
Andrey Breslav f06e5581aa Support creating flexible types in tests
Flexible types can not be created in normal user code, but if there's a special classifier `kotlin.internal.flexible.ft` with two type parameters,
its occurrences are replaced by flexible types, e.g. `ft<Int, Int?>` becomes `Int!`
2014-10-22 00:41:18 +04:00
Alexander Udalov b9836afb49 Reorder imports in test generator
To make IDEA's Optimize Imports action a no-op on most of the generated tests
2014-10-21 00:16:07 +04:00
Alexander Udalov bc9aa9e34f Don't output trailing spaces in Printer
Also don't output trailing empty lines in TestGenerator
2014-10-21 00:16:07 +04:00
Evgeny Gerashchenko 954a011721 Added incremental cache format versioning. 2014-10-16 22:01:45 +04:00
Andrey Breslav 56d1979d9b File names fixed according to f202ad9f98 2014-10-14 13:02:06 +04:00
Michael Nedzelsky aa3d0fe1d7 minor: rename TargetBackend enum values 2014-10-13 19:24:59 +04:00
Andrey Breslav bd21e487fc Unused class removed 2014-10-13 15:38:06 +04:00
Michael Nedzelsky 04d8960a3d JS backend: add BridgeTestGenerated 2014-10-07 08:36:50 +04:00
Michael Nedzelsky bdc4d14f33 JS backend: improve test generator, support for backend header in test files 2014-10-07 08:36:43 +04:00
Michael Nedzelsky 03f673d6cf JS backend: add NotNull and Nullable annotations 2014-10-07 08:36:27 +04:00
Pavel V. Talanov b2ec5e1ec4 Test reference resolve from Java to Kotlin
Cases cover the most basic features
Sadly it was missing before
2014-10-03 21:35:00 +04:00
Nikolay Krasko 897ebd0347 Linemarker tests 2014-10-01 18:02:52 +04:00
Zalim Bashorov 9eb1a38a25 Don't rewrite testData file if content not changed, it's for windows family.
And improved some error messages.
2014-10-01 15:35:40 +04:00
Zalim Bashorov 2352085391 Improve testData generator for reserved words.
Cashing iterator in CyclicStream.
Detect generating unexpected testdata file(e.g. may caused because of bug in stdlib).
2014-09-29 19:47:49 +04:00
Alexander Udalov b5832d2656 Refactor and generate tests on JetPositionManager 2014-09-26 10:22:27 +04:00
Zalim Bashorov 5a5c4145f2 JS backend: added tests for reserved words. 2014-09-26 00:57:09 +04:00
Valentin Kipyatkov 0462d152eb Smart completion: prefer items matching by name 2014-09-25 17:10:27 +04:00
Alexey Sedunov 07a257b1fe Drop JetPsiMatcher class and use JetPsiUnifier instead. Drop AbstractJetPsiMatcherTest 2014-09-18 13:28:28 +04:00
Alexey Sedunov f1c18d0e3f PSI Pattern Matching: Add equivalence tests for JetPsiUnifier 2014-09-18 13:28:26 +04:00
Michael Bogdanov b763aa9995 Added platform static checker with provider implementation 2014-09-16 14:38:15 +04:00
Michael Bogdanov e26d635633 Initial implementation of platformStatic 2014-09-09 16:28:28 +04:00
Nikolay Krasko c6905b971c New runner for auto-generated test
- Run classes with inners
- Remove suite() methods in generated and prevent double test execution
2014-09-09 14:28:22 +04:00
Andrey Breslav cb07c65b7d @TestDataPath and @TestDataFile annotation added to facilitate navigation to test data 2014-09-08 19:57:40 +04:00
Svetlana Isakova cc92589378 Generated FunctionParameterInfoTest 2014-09-01 12:32:49 +04:00
Svetlana Isakova e4e09d6c70 Resolve invoke on class objects and enum entries
Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'

 #KT-4321 Fixed
 #KT-4863 Fixed
2014-09-01 12:32:48 +04:00
Natalia Ukhorskaya f26ea299dc Debugger: add tests (filter classloaders and constructors) 2014-08-29 15:17:11 +04:00
Alexander Udalov ec12d1d71d Fix deprecation warnings on junit.framework.Assert
Use org.junit.Assert instead everywhere. Also fix some other minor warnings
2014-08-29 12:34:07 +04:00
Natalia Ukhorskaya e7ebf6fda2 Minor: change debugger tests structure 2014-08-27 15:57:59 +04:00
Natalia Ukhorskaya 453592edf4 Debugger: breakpoints in library source files 2014-08-27 15:57:58 +04:00
Alexander Udalov def37c6830 Test generator: improve import statements in generated tests
- delete unused "junit.framework.Assert" import
- delete import of the abstract super class, because it always happens to be in
  the same package
- reorder other imports in such way that "Optimize Imports" action in IDEA will
  mostly have no effect in generated tests. However this will still happen in
  tests without any nested test cases (useless imports of InnerClasses etc.)
2014-08-25 19:00:08 +04:00
Alexander Udalov fb3ef047fc Test generator: inline the constant FQ name 2014-08-25 19:00:04 +04:00
Alexander Udalov d5d4cff701 Minor, remove dependency of everything on "descriptor.loader.java"
Everything already depends on "frontend.java" which exports
"descriptor.loader.java"
2014-08-25 17:53:18 +04:00
Pavel V. Talanov b749beb5fa Fix AnalyzerFacadeForJvm reference in GenerateInjectors 2014-08-23 12:46:31 +04:00
Pavel V. Talanov db5303c019 Implement modules in IDE
IDE:
Rewrite AnalyzerFacade and implementations for JS and JVM to support creating separate analyzers for each module
Introduce ModuleInfo which is an intermediate entity between configuration (tests or idea modules) and ModuleDescriptor
Implement IdeaModuleInfos which represent IDEA modules, sdks and libraries
Add (somewhat thin) test checking their behaviour
Implement getModuleInfo() - utility to obtain IdeaModuleInfo for PsiElement
Drop Project.getLazyResolveSession() - not possible to obtain resolve session for the whole project any more
Adjust JavaResolveExtension accordingly
KotlinSignature Intention/Marker - make sure that analyzed element is cls element (he's not in resolve scope otherwise)

LightClasses:
Create separate package light classes for each module
Java code can only reference light class from the first module among it's dependencies
Duplicate jvm signature is only reported on package declarations inside one module

Injectors:
Receive GlobalSearchScope as paramer for VirtualFileFinder and JavaClassFinder
which allows to narrow analyzer scope

JDR:
Introduce ModuleClassResolver resolves java classes in correct java descriptor resolver (corresponding ModuleDescriptor)
Add test checking that java classes belong to correct module

Debugger:
Provide context to analyze files created by debugger in

Converter:
Postprocessor now needs a context to analyze resulting code in

JetPsiFactory:
Add verification that files created by psi factory are not analyzed without context (that is almost never a good idea)

Other:
Use new API in various tests, utilities, run configuration producers and builtin serializers
Various "TODO: (module refactoring)" which mark the unfinished parts
2014-08-22 22:58:54 +04:00
Andrey Breslav 1933e30905 Test data split between compiledJava tests and compiledKotlin tests
Basically, this commit splits test data from the from java-txt-kt to two pairs java-txt and kt-txt.
This commit leads to some duplication in test data.
This is temporary: in the platform types branch the test data for LoadJava tests will be changed dramatically, so duplication will go away
2014-08-21 12:22:22 +04:00
Alexander Udalov d373c09cfb Generate REPL interpreter tests 2014-08-13 15:13:17 +04:00
Alexander Udalov 9ae95c1e5c Generate codegen tests on scripts 2014-08-13 15:13:17 +04:00
Pavel V. Talanov aa02388aa0 Merge j2k and j2k-tests modules 2014-08-12 21:13:45 +04:00
Alexey Kudravtsev 8f388c49c2 js.frontend new module 2014-08-07 08:51:10 +04:00
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Natalia Ukhorskaya 6440884a40 Add tests for tracing frame 2014-07-16 15:17:44 +04:00