Andrey Breslav
070a7d4d72
Serialization of flexible types supported
2014-10-13 15:38:20 +04:00
Andrey Breslav
91b0b83ec3
Java declaration annotations are treated as type annotations
...
This is needed, for example, to approximate flexible types correctly when rendering them in the code
2014-10-13 15:38:06 +04:00
Andrey Breslav
d25a76e044
Disabling @KotlinSignature checks in PLATFORM_TYPES mode
2014-10-13 15:38:05 +04:00
Andrey Breslav
ea3215b361
Massive test data update for compiledJava
2014-10-13 15:38:05 +04:00
Andrey Breslav
583694a450
Flexible types for primitive arrays
2014-10-13 15:37:54 +04:00
Andrey Breslav
8134d097e3
Another portion of test data fixed
2014-10-13 15:37:54 +04:00
Andrey Breslav
fefadaa171
Rendering platform type for java.util.Map.Entry as kotlin.(Mutable)Map.(Mutable)Entry
2014-10-13 15:37:53 +04:00
Andrey Breslav
dd2e95b3bc
Substitution implemented for flexible occurrences of Java type parameters
2014-10-13 15:37:52 +04:00
Andrey Breslav
bf53222bd9
Flexible types in SAM conversions
2014-10-13 15:37:51 +04:00
Andrey Breslav
bdf7e924b5
Rendering flexible types with "!" and optional parts
2014-10-13 15:37:50 +04:00
Andrey Breslav
0cbbb6a0db
Test data fixed
2014-10-13 15:37:47 +04:00
Alexander Udalov
9434114c45
Make DescriptorRenderer escape names with dollars and other characters
...
#KT-5791 Fixed
2014-09-18 10:42:48 +04:00
Zalim Bashorov
30208d5532
Minor: drop semicolon in package declaration everywhere.
2014-09-16 19:32:37 +04:00
Alexander Udalov
73a92c6aa9
Remove JavaClass.getAllMethods()/getAllFields()
...
Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually
Also make JavaClassImpl.getSupertypes() invoke PsiClass.getSuperTypes(),
because it also contains java.lang.Object for interfaces, which makes
equals/hashCode/toString appear in interfaces' getAllMethods() as well
2014-09-15 19:30:53 +04:00
Alexander Udalov
f39c3041d2
Make MISSING_VAL_ON_ANNOTATION_PARAMETER error instead of warning
...
Annotation with a parameter that is not stored doesn't make any sense
2014-09-15 19:30:52 +04:00
Alexander Udalov
7595e32bb6
Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
...
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov
ec02382976
Assert that reference annotation argument is always an enum value
...
Rename JavaReferenceAnnotationArgument on that occasion to
JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation
argument
2014-09-15 19:30:49 +04:00
Nikolay Krasko
65d358a066
Don't generate component function in lazy resolve for parameter if it has no val/var
2014-09-11 12:52:56 +04:00
Nikolay Krasko
caee19cdc7
Generate copy() in data class even if constructor is empty or not present
2014-09-11 12:52:55 +04:00
Nikolay Krasko
fa393cf4f5
Escape surrogate characters
2014-09-11 12:52:54 +04:00
Alexander Udalov
b52f337f7f
Drop enum class object hack
...
Place valueOf() and values() into the static scope of the corresponding enum
class
#KT-5580 Fixed
#KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov
bcfb5f3b09
Rewrite Java resolve to use static class scope instead of synthesized packages
...
#KT-4149 Fixed
#KT-4839 Fixed
2014-09-09 20:42:36 +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
Evgeny Gerashchenko
f2b1879aae
Added test for KT-1735 Can't access "assert" function from stdlib
...
#KT-1735 fixed
2014-08-04 13:38:36 +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
Alexander Udalov
f3309d1fa7
Don't ignore methods of Object in tests
...
Ignore methods of kotlin.Any instead
2014-07-25 21:19:39 +04:00
Alexander Udalov
5dc37217c8
Remove Object from supertypes in LoadJava testData
2014-07-25 21:19:38 +04:00
Alexander Udalov
a79398fa00
Don't load Object as a supertype for Java classes
...
#KT-4890 In Progress
#KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Zalim Bashorov
c767ffc3e7
Unit.VALUE -> Unit in testData
2014-07-25 17:16:40 +04:00
Alexander Udalov
540b87a1dc
Support object array annotation arguments in deserialization
2014-07-19 02:13:26 +04:00
Andrey Breslav
caec40b3a8
Fix test data
2014-07-05 18:31:55 +04:00
Andrey Breslav
06d060d5de
KT-4295 Wrong diagnostic about "weaken access privilege" when override properties in constructor
...
#KT-4295 Fixed
2014-07-05 17:47:00 +04:00
Pavel V. Talanov
245919d691
Use module to resolve annotation classes in AnnotationDescriptorLoader
2014-07-03 20:46:36 +04:00
Evgeny Gerashchenko
bf442a9700
Fixed loading integral constants from compiled classes.
2014-06-24 22:18:13 +04:00
Evgeny Gerashchenko
aa41ae09ed
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko
7fdd4a339e
KT-5087 Private members of Java classes should be marked as invisible, not unresolved
...
#KT-5087 fixed
2014-06-18 19:52:15 +04:00
Evgeny Gerashchenko
cf5fe672de
Added test for KT-2381 Can't resolve references to fields inherited from Java class when used Kotlin class is loaded from bytecode
...
#KT-2381 obsolete
2014-06-18 19:52:12 +04:00
Evgeny Gerashchenko
b65f6e1e0e
KT-2303 Support loading private class members from bytecode
...
#KT-2303 obsolete
2014-06-18 19:52:12 +04:00
Andrey Breslav
fe09bd4fd8
Tests for annotation deserialization when platform names are used
2014-06-10 18:21:37 +04:00
Alexander Udalov
d78d4bc44c
Disallow extension properties with backing fields
...
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov
ea31f372aa
Check for syntax/diagnostic errors in some tests
2014-05-29 21:24:05 +04:00
Alexander Udalov
33f8c49275
Minor, change test case according to its name
2014-05-29 21:07:34 +04:00
Pavel V. Talanov
b3898cfb0d
Force the user of AstAccessControl to write at least one test violating restriction, implement such tests for existing tests
...
This is needed because the slightest change in the test setup can make the check useless without the client knowing
The solution is ugly but gives at least some protection against this
2014-05-21 15:40:29 +04:00
Pavel V. Talanov
0d4feb3bf3
JetInitializerList#getInitializers() by stub
2014-05-21 15:40:09 +04:00
Pavel V. Talanov
72bdacb074
Add explicit return types to several test data files so that AST access is not needed
...
Test cases are chosen so that addition/removal of explicit type will not interfere with the original purpose of the test
2014-05-21 15:40:08 +04:00
Pavel V. Talanov
a807712ce7
Mark test data files for cases which can't be resolved without AST access
2014-05-21 15:40:07 +04:00
Andrey Breslav
773cb9efbe
Signature comparison used to find super functions in SignaturesPropagationData
...
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Andrey Breslav
a861e5bc5e
A test for the case fixed in 291741754b
...
When Java binaries refer to Kotlin binaries, and then some Kotlin source refers to the same Kotlin binary class, we should load this class consistently
2014-05-14 18:58:57 +04:00
Alexander Udalov
888a6c0c9b
Add tests on Kotlin against compiled Java+Kotlin
...
The original purpose was to create a test that parameter names are inherited on
a K-J-K hierarchy when "K-J" is compiled to bytecode, but that's not possible
right now because of KT-4509
2014-05-14 18:58:57 +04:00
Andrey Breslav
3a9f577d1d
All bounds may be specified in 'where' clause
...
Exception fixed in AlternativeMethodSignatureData
2014-05-13 20:19:43 +04:00