Commit Graph

2046 Commits

Author SHA1 Message Date
Alexander Udalov b7789da3b9 Load annotations on properties declared in traits 2013-10-17 19:01:45 +04:00
Alexander Udalov 5a1daaa4b6 Generate values()/valueOf() even for empty enums 2013-10-17 19:01:45 +04:00
Svetlana Isakova 9fc66d686e treat function literals without value argument list
as without arguments by default
2013-10-16 20:41:21 +04:00
Svetlana Isakova ab7e3ce78c interpret block with function literal as function literal
(temporary)
2013-10-16 20:41:21 +04:00
Svetlana Isakova 73c5cb07d8 get rid of 'unwrapFromBlock'
do the logic in 'deparenthesize' method
2013-10-16 20:41:20 +04:00
Svetlana Isakova 0f444903f6 refactoring: added hasOnlyErrorsFromPosition(ConstraintPosition)
to use it for errors from completer as well
2013-10-16 20:41:19 +04:00
Svetlana Isakova 6c584fd252 do not add NO_EXPECTED_TYPE as a subtype constraint to constraint system
fixed exception from EA
2013-10-16 20:41:19 +04:00
Svetlana Isakova 0a0f76239f resolve delegated expression always using completer 2013-10-16 19:51:54 +04:00
Svetlana Isakova af930012d5 removed stored systemWithoutExpectedTypeConstraint
now we can filter out constraints of special type if necessary
2013-10-16 19:51:53 +04:00
Svetlana Isakova 65e2f47bc3 try intersection of upper bounds as a suggestion
not each bound itself
while resolving constraint system
2013-10-16 19:51:53 +04:00
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