Commit Graph

2036 Commits

Author SHA1 Message Date
Svetlana Isakova 8a4afb9330 support one more special case of propagating bound constraints
(temporary while there is no common constraint system and its resolution)
2013-10-16 19:51:53 +04:00
Svetlana Isakova cb25e1d55a if some type parameter has only weak constraints (from bounds), then we consider it as unknown 2013-10-16 19:51:53 +04:00
Svetlana Isakova de85d3df72 KT-4009 Unnecessary attempt to do a smart cast causes an error
#KT-4009 Fixed
  do not add smart casted types for vars to constraint system
2013-10-16 19:51:52 +04:00
Svetlana Isakova 9a0ec7949e fixed bug in constraint system
For parameter type T constraint T? <: Int? should NOT transform to T <: Int, it should be T <: Int?
equality constraint T? = Int? should transform to T <: Int? && T >: Int
2013-10-16 19:51:52 +04:00
Zalim Bashorov 0877dfc1bd CLI: added "-printArgs" arguments to commandline compiler. 2013-10-16 17:39:49 +04:00
Zalim Bashorov 0901c98ff8 CLI: move *CompilerArguments classes to cli-common module. 2013-10-16 17:39:48 +04:00
Alexander Udalov cf1a70a28e Minor, group tests related to synthetic methods for properties 2013-10-16 15:04:11 +04:00
Alexander Udalov 08bc67b925 Generate synthetic methods for annotated properties in TImpl classes
Traits themselves can't have these methods, since it'd be a weird public method
in an interface

 #KT-4072 Fixed
2013-10-16 15:02:37 +04:00
Alexander Udalov 6269cb807b Minor, extract test for synthetic methods for properties 2013-10-16 14:59:37 +04:00
Alexander Udalov 2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Alexander Udalov 806d264771 Write full synthetic method signature for annotated property
This will be needed to support annotated extension properties, since they have
the same name but different signatures
2013-10-16 14:59:36 +04:00
Alexander Udalov 6e45533065 Deserialize constructors of static nested classes correctly
Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Alexey Sedunov 28b3db53fe Fix irregular PSI structure for classes without body 2013-10-15 18:43:59 +04:00
Andrey Breslav f05f3f5686 Let the user know that class object bounds are not supported
KT-4080 Code analisys show all good, but got compile error

#KT-4080 Fixed
2013-10-15 14:45:22 +04:00
Andrey Breslav d47109b928 Do not write 'jet.volatile' annotation to class files
ProGuard fails when it sees a class named 'volatile'
2013-10-14 14:42:25 +04:00
Alexander Udalov 47ce2f7fe8 Remove binary test data for tests with broken jars 2013-10-10 20:28:22 +04:00
Alexander Udalov 475551f54a Remove binary test data for some tests
Launch CLICompiler instead to compile it
2013-10-10 20:28:22 +04:00
Alexander Udalov 1d93ab41d2 Merge two tests with almost the same logic 2013-10-10 20:28:22 +04:00
Alexander Udalov f8201c6aa9 Refactor TopLevelMembersInvocationTest
Compile library dependencies in the test instead of storing them as jars in the
repository. Reuse MockLibraryUtil, move it from idea tests to compiler-tests
2013-10-10 20:28:21 +04:00
Andrey Breslav d4a89d04d7 Each module carries its output directory 2013-10-10 17:49:17 +04:00
Andrey Breslav 7123905e96 Support for "builtins/stubs" mode removed from cli 2013-10-09 19:16:43 +04:00
Andrey Breslav 3071b58219 Use a built-in class to mitigate a naming problem in Android tests 2013-10-09 11:47:58 +04:00
Andrey Breslav 9391fa79c3 CLI help text changed 2013-10-08 21:52:08 +04:00
Andrey Breslav 7f46d7555e Do not write "? extends" and "? super" in immediate arguments of supertypes in Java generic signatures 2013-10-08 21:13:30 +04:00
Evgeny Gerashchenko 9c38716829 Generating annotations in correct order for methods with synthetic parameters.
#KT-4050 fixed
2013-10-08 16:44:16 +04:00
Alexander Udalov e8d4aae48b Minimize usages of JvmClassName.getFqName() 2013-10-04 18:32:41 +04:00
Alexander Udalov fdc631d595 Increase ABI version after changes to package fragment names 2013-10-02 17:05:47 +04:00
Alexander Udalov 8a5336aca2 Don't use $ in package fragment class names
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Evgeny Gerashchenko eb5455e89f Got rid of "jet" file extension. 2013-10-01 19:32:38 +04:00
Evgeny Gerashchenko dc42be8543 Fixed VerifyError when copyToArray() is immediately returned from method. 2013-10-01 19:32:37 +04:00
Evgeny Gerashchenko 2ae1a2c81b Added copyToArray intrinsic method.
#KT-3352 fixed
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 41d1f277dc Generated default implementations for Collection.toArray().
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 48625dd7b6 Disallowed using type parameter as reified type argument.
#KT-3050 fixed
2013-10-01 15:06:57 +04:00
Alexander Udalov 5fa489b7d3 Add 'topLevelMemberInvocation.twoModules' test to CompileBinaryTestData 2013-09-30 22:43:18 +04:00
Alexander Udalov a97bb80216 Serialize FQ names of Kotlin classes
This helps to avoid a nasty hack with loading inner Kotlin classes in JDR,
which makes it a bit easier to 'lazify' JDR, since now the container of a
Kotlin class is no longer required to be resolved eagerly before resolution of
the class itself
2013-09-30 22:43:18 +04:00
Svetlana Isakova a3f9cef354 fixed bug: 'isStatement' for function body == 'hasBlockBody'
not vice versa
2013-09-30 21:06:05 +04:00
Pavel V. Talanov 9599f7d98c Test for delegated members being overridden 2013-09-30 20:54:42 +04:00
Pavel V. Talanov 51a6bcb727 Test for reporting clashes with multiple delegated methods
Verifies that the order in which traits are inherited is irrelevant
2013-09-30 20:54:41 +04:00
Pavel V. Talanov 1a3603652c Refactor DelegationResolver so that lazy and eager resolve share the code
Also fix an exception in LazyClassMemberScope
2013-09-30 20:54:39 +04:00
Pavel V. Talanov 6fb7a79a1f Refactor DelegationResolver
Fix an issue in lazy resolve : filter out methods from delegated traits superclass
2013-09-30 20:54:38 +04:00
Alexander Udalov 07f1e61146 Remove unneeded asserts from JavaSupertypeResolver
Don't do anything special if a Java class happens to extend jet.JetObject: it's
not a Kotlin class and we should collect all its supertypes correctly
2013-09-27 16:01:55 +04:00
Mohammad Shamsi f554ff3c8c KT-3945 Fixed - Prohibit modifiers for packages 2013-09-26 15:25:36 +04:00
Evgeny Gerashchenko b4bb08c013 Generating stub methods for read-only map and entry. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko 511c908ba9 Generating stub methods for read-only collection. 2013-09-25 20:59:24 +04:00
Evgeny Gerashchenko 5de9c2499d Added for iterator when remove() is present. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko 47b70427e1 Generating remove() for Iterator using same mechanism. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko b4368ad578 Generating stub methods for read-only list. 2013-09-25 20:59:23 +04:00
Evgeny Gerashchenko e98b75b462 Do not generate toString and other methods if they are inherited. 2013-09-25 20:59:23 +04:00
Alexander Udalov a814f6a897 Advertise CompileBinaryTestData.kt in tests with binaries 2013-09-25 16:04:17 +04:00