Ilya Gorbunov
84ca26719d
Deprecate meaningless or vague-defined operations with Char operands.
...
Change expected test output.
2015-05-27 00:58:35 +03:00
Ilya Gorbunov
c6abf75856
Do not generate primitive type definition for Char, place it in a file beside.
2015-05-27 00:58:24 +03:00
Alexander Udalov
48b18f18d3
Restore explicit imports of Kotlin function types in Java
...
This is a follow-up to 738a84e259 and
d4965a4f3e . Optimize imports in all files
affected in those commits, drop temporary _.kt
2015-05-26 18:46:27 +03:00
Svetlana Isakova
14c2690447
Distinguish between no declared arguments and an empty argument list
...
in a function literal
If there are no arguments, any number of them might be expected
2015-05-26 15:05:03 +03:00
Svetlana Isakova
d9568ef88c
Added special type constructor for function/ extension function
...
that stores an information about declared argument types
2015-05-26 15:05:02 +03:00
Alexander Udalov
9ba6d91e2e
Prepare JVM runtime for support of reflection on functions
...
Introduce abstract class FunctionReference, which is supposed to be a
superclass for all anonymous classes generated for function references. Each
anonymous subclass will have statically-generated symbol info, which will be
used by reflection to locate the symbol
2015-05-26 15:05:01 +03:00
Alexander Udalov
34c6af0039
Advance stub and JVM ABI versions due to function type reform
2015-05-26 15:04:58 +03:00
Alexander Udalov
7f0b5029eb
Refactor KotlinBuiltIns#isFunctionType/isExtensionFunctionType
2015-05-26 15:04:58 +03:00
Alexander Udalov
6a0a703539
Delete numbered ExtensionFunction classes and generation logic
2015-05-26 15:04:57 +03:00
Alexander Udalov
49004a8b8e
Conform functions to extension functions and vice versa
...
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Alexander Udalov
4141e0a8df
Introduce fictitious numbered Function class descriptors
2015-05-26 15:04:54 +03:00
Alexander Udalov
27ed098467
Introduce kotlin.jvm.internal.Lambda, superclass for all lambdas
...
It has its arity precomputed, as opposed to the future KFunctionImpl inheriting
from FunctionImpl, for which the computation of arity can take some time and so
it shouldn't be passed in the constructor and saved as a field
2015-05-26 15:04:54 +03:00
Alexander Udalov
86ecb423f6
Drop generic parameters from FunctionImpl classes in JVM runtime
...
They are not used in any way but cause some complex code in JVM back-end
2015-05-26 15:04:53 +03:00
Alexander Udalov
135ee92966
Minor, don't pass constants as parameters
2015-05-26 15:04:52 +03:00
Alexander Udalov
738a84e259
Temporary hack to migrate functions to package kotlin.jvm.functions
...
Add a file in package 'kotlin.jvm.functions' to the project and replace
explicit imports of functions 'kotlin.Function{n}' to two imports 'kotlin.*'
and 'kotlin.jvm.functions.*', so that the codebase can be compiled both by the
old and by the new compiler
2015-05-26 15:04:34 +03:00
Alexander Udalov
b574c1d205
Move 23 function classes to package kotlin.jvm.functions, drop KFunction*
2015-05-26 14:27:41 +03:00
Alexander Udalov
f6178ad7dd
Introduce Function, KFunction interfaces and 'extension' annotation
2015-05-26 14:27:40 +03:00
Alexander Udalov
45c28abfee
Keep built-in metadata for reflection interfaces
...
Reflection interfaces (interfaces in kotlin.reflect.* in core/builtins/) are
now fully considered as built-ins and can be accessed via KotlinBuiltIns. This
increases runtime size by ~20kb, but only because KotlinBuiltIns is static and
is therefore constructed only via resource loading from the compiler classpath
at the moment. As soon as it's possible to inject KotlinBuiltIns to the
particular resolution process, the metadata on JVM will be loaded via standard
annotation mechanism (kotlin.jvm.internal.KotlinClass/KotlinPackage) and wasted
runtime space will be reclaimed
2015-05-26 14:27:38 +03:00
Ilya Gorbunov
1cf4a407d1
JS: Provide MIN_VALUE and MAX_VALUE member constants for Double and Float companion objects.
...
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Double and Float companion objects.
2015-05-26 00:26:19 +03:00
Pavel V. Talanov
e4c242e66b
Remove direct usages of ModuleDescriptor#getPackageFragmentProvider()
2015-05-25 13:00:16 +03:00
Pavel V. Talanov
23dabf595a
J2k for PackageViewDescriptorImpl: prettify
2015-05-25 13:00:15 +03:00
Pavel V. Talanov
3bca284e1b
J2k for PackageViewDescriptorImpl: autoconvert
2015-05-25 13:00:15 +03:00
Pavel V. Talanov
5ff4765e3d
J2k for PackageViewDescriptorImpl: rename file
2015-05-25 13:00:14 +03:00
Michael Nedzelsky
6b64dcc4ee
JvmProtoBuf: reuse one instance of ExtensionRegistryLite
2015-05-21 02:30:35 +03:00
Michael Nedzelsky
ea8234adb9
convert JvmProtoBufUtil.java to kotlin, step 2: convert content
2015-05-21 02:30:32 +03:00
Michael Nedzelsky
2a6cd3dd96
convert JvmProtoBufUtil.java to kotlin, step 1: rename extentsion
2015-05-21 02:30:27 +03:00
Pavel V. Talanov
cfdb1f4ec3
Refactor creation of ModuleDescriptor
...
Add storageManager to ModuleDescriptorImpl (to be used later)
Extract ModuleParameters to hold default imports and platform class map
Introduce MutableModuleContext to simplify module creation code
2015-05-20 19:45:50 +03:00
Denis Zharkov
5297b4974f
Adjust descriptor renderer to latest parsing changes
...
- `constructor` keyword expected in primary constructor with non-empty modifier list
- annotation list should be preceeded by '@'
2015-05-20 09:24:56 +03:00
Andrey Breslav
f7a9cc6b28
Fix for EA-64905 - assert: TypeUtils.intersect
2015-05-19 17:15:02 +03:00
Mikhail Glukhikh
1389b62fa4
Enum entry delimiters / super constructors: a few remaining warnings removed
2015-05-19 17:07:47 +03:00
Nikolay Krasko
edeea5e399
Refactoring: move JavaDescriptorResolver extensions to idea-analysis module
2015-05-19 13:04:55 +03:00
Mikhail Glukhikh
fdf0ea5546
Enum warnings fixed: deprecated delimiters, short super constructors, both in project and in libraries
2015-05-18 16:08:16 +03:00
Ilya Gorbunov
f18b9caa8d
JS: Provide MIN_VALUE and MAX_VALUE member constants for Int, Long, Short and Byte companion objects.
...
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Int, Long, Short and Byte companion objects.
2015-05-17 17:26:25 +03:00
Valentin Kipyatkov
09f478fc0f
Fixed duplication of some generic functions in code completion
2015-05-16 17:15:08 +03:00
Valentin Kipyatkov
ce3492f270
KT-6393 Smart completion of anonymous object inserts type with "!" for type parameter
...
#KT-6393 Fixed
2015-05-16 17:09:51 +03:00
Ilya Gorbunov
1fc5c39c22
Remove overload of joinToString with 5 parameters and it's usage from java code.
2015-05-15 03:02:48 +03:00
Alexander Udalov
a267beb5aa
Fix order of dependencies for module 'descriptors'
...
'util.runtime' exports Kotlin Runtime which has reflection classes which
override their newer copies from 'deserialization'
2015-05-14 18:40:49 +03:00
Michael Nedzelsky
6dc7c4bc29
add SerializedResourcePaths, extract base code from builtins package fragment, data finder
2015-05-12 19:30:26 +03:00
Dmitry Jemerov
2a99f757c4
replace 'trait' keyword with 'interface' in library code
2015-05-12 17:07:46 +02:00
Dmitry Jemerov
9975bb8935
replace 'trait' keyword with 'interface' in user-visible messages and code generation tools
2015-05-12 11:49:37 +02:00
Denis Zharkov
02659ca22d
Adjust project code to new labels syntax
2015-04-30 10:16:42 +03:00
Dmitry Jemerov
9701a8fc7e
regenerate keyword strings; add testcase for 'interface' keyword
2015-04-29 16:50:20 +02:00
Dmitry Jemerov
cce1be3892
rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE
2015-04-29 16:50:19 +02:00
Ilya Ryzhenkov
35e82d4574
Propagate annotations when performing substitution on constructors #KT-7608 Fixed
...
Tests for deprecated warning on generic constructor.
2015-04-29 14:53:40 +03:00
Denis Zharkov
fc5236244b
Deprecate java.lang.Class as annotation parameter
2015-04-29 14:03:11 +03:00
Alexander Udalov
43ac20e88a
Move builtins dependency to the top in compiler-tests
...
When running tests locally, serialized built-ins located in dist/builtins
should have a higher priority than the ones in the bootstrap runtime, on which
almost every module depends by default. Also make it a 'runtime' dependency
because the binary files there can't really change anything at compile time
2015-04-29 01:36:20 +03:00
Alexander Udalov
890d18e7be
Support external annotations in IDE when approximating flexible types
2015-04-29 01:09:36 +03:00
Alexander Udalov
2271ca1e81
Further simplify Java annotation resolution
...
Filter annotations by FQ name, get rid of unneeded properties, lazy values,
static import some stuff
2015-04-29 01:09:36 +03:00
Alexander Udalov
d7c810a4d0
Copy only nullability/mutability annotations to types
...
Also don't render copied annotations
2015-04-29 01:09:35 +03:00
Alexander Udalov
3369da94e4
Rename annotationUtils.kt -> LazyJavaAnnotations.kt
2015-04-29 01:03:57 +03:00