Commit Graph

1267 Commits

Author SHA1 Message Date
Natalia.Ukhorskaya ba2eab526a Extension properties in class: don't put receiver on stack for GETFIELD/PUTFIELD instruction
#KT-3031 Fixed
2012-11-13 19:03:20 +04:00
Svetlana Isakova e9c8be8449 complete type inference only for one candidate
(the most specific)
to avoid exponential resolve of value arguments for several candidates
where type inference is incomplete (or depends on expected type)
2012-11-12 15:32:11 +04:00
Natalia.Ukhorskaya b5a3486131 Back-end: correct indexes of local variables for double and long
#KT-3033 Fixed
2012-11-12 15:03:54 +04:00
Natalia.Ukhorskaya 94fbf2bdf4 Add labels for extension properties
#KT-2824 Fixed
2012-11-12 13:23:00 +04:00
Evgeny Gerashchenko e691a0bc93 Considering variances when checking for erased casts. 2012-11-08 22:02:52 +04:00
Evgeny Gerashchenko 992d84d920 Fixed IsReified diagnostic test. Now it really checks for reified type. 2012-11-08 22:02:51 +04:00
Evgeny Gerashchenko 266313a02e Replaced List and Collection with mutable analogs. 2012-11-08 22:02:51 +04:00
Alexey Sedunov 8cff709bfb #KT-3023 Fixed 2012-11-07 18:33:21 +04:00
Alexander Udalov 415b6f8efe Generate bridges for super-calls only when needed
#KT-2887 Fixed
2012-11-07 17:06:19 +04:00
Alexander Udalov 89b8bbec57 Do not add extra 'this' parameter for TImpl's accessor
Fixes weird cases like super-call from a closure inside a trait with a required
class
2012-11-07 17:06:18 +04:00
Alexander Udalov 2edb89b5c5 Refactor mysterious code in ExpressionCodegen
'super' receiver is now generated in visitSuperExpression()
2012-11-07 17:06:17 +04:00
Alexander Udalov cd35a6626e KT-2963 VerifyError using traits with required classes
#KT-2963 Fixed
2012-11-07 17:06:14 +04:00
Natalia.Ukhorskaya f139b637f3 Automatically cast error for intrinsic methods in array
#KT-2997 Fixed
2012-11-07 16:28:46 +04:00
Andrey Breslav d8ef7210dc KT-3025 Bad handling of missing expression in catch()
#KT-3025 Fixed
2012-11-07 16:01:30 +04:00
Andrey Breslav 6feceaa161 PsiElement for receiver declaration in a function type
This fixes the following assertion:

EA-37795 - assert: DescriptorResolver.checkBounds

java.lang.AssertionError: (
        public val categoryName: String,
        public val defaultReoccurrenceRate: DateReoccurrence,
        datesCollection: Collection<Date>) {

	at org.jetbrains.jet.lang.resolve.DescriptorResolver.checkBounds(DescriptorResolver.java:1137)
	at org.jetbrains.jet.lang.resolve.TypeHierarchyResolver.checkTypesInClassHeaders(TypeHierarchyResolver.java:447)
	at org.jetbrains.jet.lang.resolve.TypeHierarchyResolver.process(TypeHierarchyResolver.java:154)
	at org.jetbrains.jet.lang.resolve.TopDownAnalyzer.doProcess(TopDownAnalyzer.java:125)

Caused by misbehavior of the JetFunctionType class
2012-11-06 15:29:14 +04:00
Andrey Breslav 4cda4ce388 EA-39105 - ISE: TraceBasedRedeclarationHandler.report
Fixed:
java.lang.IllegalStateException: No declaration found found for org.jetbrains.jet.lang.descriptors.TypeParameterDescriptorImpl@...
	at org.jetbrains.jet.lang.resolve.TraceBasedRedeclarationHandler.report(TraceBasedRedeclarationHandler.java:48)
	at org.jetbrains.jet.lang.resolve.TraceBasedRedeclarationHandler.handleRedeclaration(TraceBasedRedeclarationHandler.java:39)
2012-11-06 14:32:54 +04:00
Natalia.Ukhorskaya 91e83c2860 Wrong instruction for invoke private function
#KT-2202 Fixed
2012-11-02 11:49:10 +04:00
Natalia.Ukhorskaya 481afeb914 Use getfield or putfield instructions for private properties instead of invokevirtual getA or setA 2012-11-02 11:18:47 +04:00
Andrey Breslav a325d86e20 Properly reporting illegal use of 'super' in extension functions 2012-11-01 19:53:22 +04:00
Andrey Breslav 20906e34ce Tests for diagnostics on this and super are moved and broken into smaller parts 2012-11-01 19:53:22 +04:00
Andrey Breslav a0cd26960a Fixing super in a package-level function 2012-11-01 18:55:14 +04:00
Natalia.Ukhorskaya 3b58eb4b60 Generate copy function for data classes
#KT-2779 Fixed
2012-10-31 15:46:48 +04:00
Alexander Udalov 4c5fe70804 Do not compare boxed values with 0 via IFEQ/IFNE 2012-10-30 22:54:20 +04:00
Evgeny Gerashchenko c84cd7f961 Renamed ClassObject$ to object in JVM backend. 2012-10-30 18:41:00 +04:00
Evgeny Gerashchenko 78d62fa0c0 Supported loading named objects within class objects from compiled library. 2012-10-30 18:41:00 +04:00
Evgeny Gerashchenko a71fa35187 Supported loading named objects within named objects from compiled library. 2012-10-30 18:41:00 +04:00
Alexander Udalov 3ca976ee77 Generate bridges for delegates 2012-10-30 16:48:02 +04:00
Alexander Udalov 288e3a7b40 Cast arguments to proper types when generating delegates
Also minor refactoring in a couple places to adopt this style
2012-10-30 16:47:50 +04:00
Alexander Udalov 4cfe68da1e Coerce any type to Number before unboxing 2012-10-30 16:47:46 +04:00
Peter Kofler 28160ecb11 fix KT-2892 2012-10-29 22:16:43 +01:00
Peter Brachwitz 81de3cd46a Fix compilation of infix calls (KT-2929)
#KT-2929 Fixed
2012-10-29 22:01:56 +01:00
Natalia.Ukhorskaya bf489c9ed8 KT-2701 Prevent redeclaration in multi-declaration
#KT-2701 Fixed
2012-10-25 19:03:36 +04:00
Andrey Breslav b5385788a3 Don't generate UNNECESSARY_SAFE_CALL on variables of generic type <T: Any?> 2012-10-25 17:05:28 +04:00
Andrey Breslav 3e38870ecc KT-2991 Don't generate UNNECESSARY_NOT_NULL_ASSERTION on variables of
generic type T:Any?

 #KT-2991 Fixed
2012-10-25 17:05:27 +04:00
Sergey Mashkov edb8797fa6 KT-2987 java.lang.AbstractMethodError/java.lang.NoSuchMethodError for delegated class by parameterized parent
#KT-2987 Fixed
2012-10-25 16:26:58 +04:00
Natalia.Ukhorskaya 4db732c11b KT-2948 Assertion fails on a local enum
#KT-2948 Fixed
2012-10-23 19:23:16 +04:00
Natalia.Ukhorskaya a79a31cf01 #KT-2811 Fixed VerifyError on smart-cast 'this' 2012-10-23 13:20:29 +04:00
Andrey Breslav 583dd1564d If t is of type T, comparison (t == null) may be true. No warning in this case 2012-10-20 23:33:50 +04:00
Andrey Breslav d58038d3ef Deparenthesize 'null' before checking the constant expression 2012-10-20 23:33:50 +04:00
Andrey Breslav e8bd42b691 KT-2729 Warn on 'T?' where 'T' has a nullable upper bound 2012-10-19 19:42:54 +04:00
Andrey Breslav 80039d8533 A warning for redundant '?' in types 2012-10-19 19:24:14 +04:00
Natalia.Ukhorskaya 62d8153ada Map java.land.Deprecated to jet.deprecated
Change testData for deprecated annotation
 #KT-2947 Fixed
2012-10-18 19:14:04 +04:00
Natalia.Ukhorskaya 1c6b7ed1ae Add jet.deprecated to library 2012-10-18 18:59:44 +04:00
Alexander Udalov ce2b915645 Generate line numbers for static delegates
Fixes debugger's "step into" for multi-file package
2012-10-17 17:57:54 +04:00
Alexander Udalov 4c710346af Refactor LineNumberTest
Extract methods, annotate with NotNull, inline base code into test class,
other minor stuff
2012-10-17 17:57:53 +04:00
Svetlana Isakova e7cbff14ef mark last parenthesis instead of value argument list 2012-10-16 20:14:52 +04:00
Svetlana Isakova 5da98b2bf0 KT-2330 Check visibility of getters and setters correspondingly
#KT-2330 fixed
2012-10-16 16:00:22 +04:00
Svetlana Isakova 7d768847a0 KT-2906 If function parameter/variable is invoked in closure using parenthesis syntax, in IDEA it is not highlighted as captured in closure
#KT-2906 fixed
2012-10-16 16:00:22 +04:00
Svetlana Isakova b78ed3a684 made ListIterator covariant 2012-10-16 16:00:22 +04:00
Svetlana Isakova 9d89eb0e58 KT-2841 Can't infer a type for function literal parameter if the return type is error
#KT-2841 fixed
2012-10-16 16:00:22 +04:00