Commit Graph

3183 Commits

Author SHA1 Message Date
Andrey Breslav 292cb9baa9 Resolve dangling annotations in files and class bodies 2014-12-25 19:42:38 +03:00
Michael Bogdanov 9e864f3c36 Fix java visibility publicity
#KT-6478 Fixed
2014-12-23 16:28:44 +03:00
Andrey Breslav 6728a384e4 KT-4881 Annotation resolved to package should be compile-time error
#KT-4881 Fixed
2014-12-23 15:18:47 +03:00
Andrey Breslav 8ff5cf62cc Generate annotations from descriptors, not PSI 2014-12-23 15:18:46 +03:00
Natalia Ukhorskaya e35b960eb5 Stepping: do not write line numbers for call arguments
#KT-3080 Fixed
2014-12-23 14:40:26 +03:00
Svetlana Isakova 6489ff2cb6 Ignore constraint from implicit 'in Nothing'
From Array<T> <: Array<out Int> we may generate T >: Nothing (implicit) and T <: Int (explicit).
Without ignoring we'll infer 'Nothing' for T too often
2014-12-22 12:04:42 +03:00
Pavel V. Talanov 56e3983dc9 Move and rename JavaElementFinderMultiFileTest
It is now relevant for IDE only
2014-12-21 14:23:30 +03:00
Andrey Breslav 633a4aa8f2 Self-types marked as unsupported 2014-12-19 20:36:16 +03:00
Denis Zharkov 04e560bc74 Get reified signature from JetTypeMapper
#KT-6485 Fixed
2014-12-18 21:12:52 +03:00
Svetlana Isakova b7806be8b5 Fixed test data for builtin-classes 2014-12-16 20:01:38 +03:00
Zalim Bashorov 92984a37ea Js frontend: prohibit default values for functions annotated as nativeIndexer. 2014-12-16 18:30:05 +03:00
Zalim Bashorov 4c3073d03e JS frontend tests: add test cases with declare member extension functions. 2014-12-16 18:30:04 +03:00
Zalim Bashorov 2484954e2f Frontend tests: serialize dynamic call descriptors and check them in diagnostic tests. 2014-12-16 17:48:26 +03:00
Ilya Ryzhenkov 31fb24d390 Sort collections/map APIs, improve empty implementations. 2014-12-16 17:33:21 +03:00
Andrey Breslav 120c344f11 Fix access to private static native functions 2014-12-16 16:23:35 +03:00
Andrey Breslav 6916c0f5cc Test for native property accessors 2014-12-16 16:23:34 +03:00
Andrey Breslav 6596c6d943 Support native top-level functions 2014-12-16 16:23:33 +03:00
Andrey Breslav 56216c4bd8 Test for function with default parameters marked native 2014-12-16 16:23:32 +03:00
Andrey Breslav 229c7ad537 Report an error on native declarations marked ilnine 2014-12-16 16:23:31 +03:00
Andrey Breslav 5187694b22 Test for overriding with a native function 2014-12-16 16:23:31 +03:00
Andrey Breslav 3a8ca2608d Report error on native members of traits 2014-12-16 16:23:30 +03:00
Andrey Breslav a94a1f8a6f Report error on native declaration with a body 2014-12-16 16:23:30 +03:00
Andrey Breslav d4cf789b53 Report error on native abstract declarations 2014-12-16 16:23:30 +03:00
Andrey Breslav 76e2ae2005 Do not complain about missing bodies on native functions 2014-12-16 16:23:29 +03:00
Andrey Breslav 27d403ee23 Make native class object members delegate to static methods in the outer class 2014-12-16 16:23:28 +03:00
Andrey Breslav d20651b881 Support native on [platformStatic] functions 2014-12-16 15:17:33 +03:00
Andrey Breslav cba6652c05 Simplistic support for native flag 2014-12-16 15:17:33 +03:00
Svetlana Isakova bda5bab057 Captured type might be substituted in an opposite projection
out Captured (in Int) = out Int
 in Captured (out Int) = in Int
2014-12-16 14:41:56 +03:00
Nikolay Krasko da6e1890bd Don't lookahead too far when looking for '.' between type and parameters and for comma in function literal parameters 2014-12-15 20:20:09 +03:00
Nikolay Krasko 421bb57f50 Fix parser performance: don't do the additional lookahead when looking for the comma in parameters 2014-12-15 20:20:08 +03:00
Alexey Tsvetkov c3f67c54bd JS backend: added jsCode test cases 2014-12-15 19:16:20 +03:00
Zalim Bashorov a6597e8926 Frontend: allow omit types in lambda parameters of dynamic call when lambda declareted inside parentheses. 2014-12-15 18:22:15 +03:00
Zalim Bashorov 59c4f55988 Frontend: allow to use the spread operator in dynamic calls. 2014-12-15 18:18:38 +03:00
Zalim Bashorov 4ac3cbc384 Frontend: allow omit types in lambda parameters of dynamic calls. 2014-12-15 18:12:53 +03:00
Zalim Bashorov 4dff9cf5fc Frontend: fixed explicit receiver kind for dynamic call with implicit dispatch receiver.
Additionally added tests for other cases.
2014-12-15 18:12:04 +03:00
Svetlana Isakova 1f6f607f40 Type variable with non-trivial upper bound cannot capture 'in' projection 2014-12-12 23:08:29 +03:00
Svetlana Isakova c097e6ee3e After approximation interpret Contr<*> as Contr<Nothing>
not Contr<out Any?>
2014-12-12 23:08:29 +03:00
Svetlana Isakova 0149e8048c Capture notnullable type if type variable is nullable 2014-12-12 23:08:29 +03:00
Svetlana Isakova da8fdbd23e More tests for varargs updated 2014-12-12 23:08:28 +03:00
Svetlana Isakova 7a5124215a Updated test data for Array<out T> vararg type 2014-12-12 23:08:28 +03:00
Svetlana Isakova 5b4f10e698 Made vararg parameters have Array<out T> type
instead of simply Array<T>
  #KT-1638 Fixed
  #KT-2163 Fixed
  #KT-3213 Fixed
  #KT-4172 Fixed
  #KT-5534 Fixed
2014-12-12 23:08:28 +03:00
Svetlana Isakova a3e949674f Preserve nullability while substituting captured types 2014-12-12 23:08:28 +03:00
Svetlana Isakova 2440c48f1c Added description of 'FILE' directive for diagnostic tests 2014-12-12 23:08:28 +03:00
Svetlana Isakova 070dba69fa Don't add a constraint T <: DONT_CARE from upper bounds 2014-12-12 23:08:27 +03:00
Svetlana Isakova f9d4a68c6e KT-6320 AssertionError in ConstraintSystem(The constraint shouldn't contain different type variables on both sides: Y <: X)
#KT-6320 Fixed
2014-12-12 23:08:27 +03:00
Svetlana Isakova 1fb713342b Capture types only on the top level 2014-12-12 23:08:27 +03:00
Svetlana Isakova cd359a046c Added captured types and approximation
CapturedType captures type projection while solving the constraint system.
During the substitution type containing captured types is approximated
to get rid of captured types and (for simple cases) replace them with corresponding type projections.

Note that Array<Array< CapturedType(out Int) >> is (over)approximated by Array<out<Array<out Int>>

See 'Mixed-site variance' by Ross Tate for details.

 #KT-2570 Fixed
 #KT-2872 Fixed
 #KT-3213 Fixed
2014-12-12 23:08:27 +03:00
Svetlana Isakova a2fa38a7f9 Rewritten ConstraintPosition to Kotlin
Added ConstraintPositionKind
 (to be able to use enum constants from Java code)
2014-12-12 23:08:26 +03:00
Michael Nedzelsky f8f7ea8998 JS backend: check libraries in cli compiler before translation 2014-12-12 03:04:17 +03:00
Michael Nedzelsky 729e7084fa new ant test for kotlin javascript library support 2014-12-12 03:03:29 +03:00