Commit Graph

474 Commits

Author SHA1 Message Date
Alexander Udalov 3dcd85bdb4 Add toString() to Any, fix all tests
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Alexander Udalov ec30d52978 Delete Hashable, pull up its members to Any
Extensions on nullable types remain in Library.kt

 #KT-1741 Obsolete
 #KT-2805 Obsolete
 #KT-1365 Fixed
 #KT-4517 In Progress
2014-03-02 19:54:08 +04:00
Alexander Udalov 9efdd136ba Delete jet.runtime.Ranges intrinsics
All these "rangeTo" methods were pretty small and could be generated just right
into "rangeTo" function calls
2014-02-28 21:48:32 +04:00
Alexander Udalov 9537b68724 Load 'equals' parameter from Java code with the name 'other'
This fixes a lot of warnings on mixed Kotlin+Java code about different names
for the same parameter because we always loaded 'equals' parameter with the
name 'p0', whereas in Kotlin we usually name it 'other'
2014-02-28 21:48:29 +04:00
Alexander Udalov 004c289a0b Use kotlin.modules.* instead of jet.modules.* 2014-02-28 21:48:25 +04:00
Alexander Udalov 33ffd3dfca Add explicit Unit type to declarations of built-ins 2014-02-24 21:44:10 +04:00
Alexander Udalov ebd0ce597c Minor, fix typo in filename 2014-02-21 20:49:13 +04:00
Alexander Udalov 4117d04742 Don't use FileUtil in BuiltInsSerializer
See the comment
2014-02-21 20:49:12 +04:00
Nikolay Krasko 2ef879ea3e Search classes by qualified name only in sources to prevent recursion 2014-02-20 16:31:21 +04:00
Nikolay Krasko 0448736a4c Refactoring: remove unused methods 2014-02-20 16:27:49 +04:00
Nikolay Krasko 5afd1b23d1 Fix error in withoutFirstSegment 2014-02-20 16:17:53 +04:00
Nikolay Krasko 592969bad1 Rewrite utils method for qualified names to Kotlin 2014-02-20 16:17:51 +04:00
Andrey Breslav 623b169d71 When building light classes don't resolve irrelevant declarations in the same package 2014-02-20 16:08:08 +04:00
Alexander Udalov fb12c56d1a Add a temporary hack for migration "jet" -> "kotlin" 2014-02-20 02:40:44 +04:00
Alexander Udalov 8c97d9ebb3 Fix rangeTo between Float and Long
Float.rangeTo(Long) and Long.rangeTo(Float) now both return FloatRange for
consistency with other binary operations between floats and longs which, in
turn, return float to be consistent with Java
2014-02-19 17:46:18 +04:00
Alexander Udalov 304129f9c9 Check if the class is special by FQ name
This is needed because our built-ins can be loaded with two different
mechanisms (deserialization and lazy resolve) and, when that happens,
corresponding descriptors aren't equal to each other, so one of two resolved
descriptors for Any (or the same with Nothing) was never considered to be a
"special class" with no supertypes
2014-02-19 17:44:19 +04:00
Andrey Breslav d9dceca0c3 getDeclaredCallableMembers() added to ClassDescriptorWithResolutionScopes 2014-02-18 19:51:49 +04:00
Andrey Breslav ac94dc5411 Interface ClassDescriptorWithResolutionScopes extracted for both lazy and mutable classes 2014-02-18 19:51:49 +04:00
Svetlana Isakova c5d9757b94 added renderers for constraint system and type bounds
moved classes
2014-02-11 21:07:08 +04:00
Pavel V. Talanov 80183c88cf Do not normalize visibilities for fake overrides
#KT-4525 Fixed
2014-02-11 20:13:11 +04:00
Pavel V. Talanov 4a3ccc4eac JDR: do not create package fragment for class statics if class cannot be resolved
This keeps behaviour consistent in rare cases when JavaClass can be found but not resolved
As of now this can happen in IDE if we take PsiClass from index but file structure is wrong so we can't resolve the class
Add test which documents this case
2014-02-11 17:17:34 +04:00
Pavel V. Talanov e4a0221abc Remove PackageFragmentDescriptor#getProvider method
PackageFragmentProvider should be hidden from the client of PackageFramentDescriptor
2014-02-11 17:17:05 +04:00
Pavel V. Talanov cd6a71ef81 Refactor JDR: add explicit binding between java classes and packages for their statics
Get rid of Kind in JavaPackageFragmentDescriptor and create subclass which exposes additional function
Add method in JavaClassDescriptor to get correponding package fragment
Remove JavaDescriptorResolver from context
2014-02-11 17:17:04 +04:00
Pavel V. Talanov 00a5e7ab15 Refactor JDR: remove some of the usages of JavaDescriptorResolver class 2014-02-11 17:17:03 +04:00
Pavel V. Talanov 16a2a5cd62 Refactor JDR: minor extract function in LazyJavaPackageFragmentProvider 2014-02-11 17:17:02 +04:00
Pavel V. Talanov 2fe2a50b14 Refactor JDR: use JavaResolverCache in LazyJavaPackageFragmentProvider directly
Remove LazyJavaClassResolverWithCache
This actually can affect behaviour because JavaResolverCache has slightly different logic (uses CLASS key in BindingContext as opposed to FQNAME_TO_CLASS_DESCRIPTOR)
2014-02-11 17:17:01 +04:00
Pavel V. Talanov 18d088cb71 Refactor JDR: create LazyJavaPackageFragmentProvider in injector 2014-02-11 17:17:00 +04:00
Pavel V. Talanov 737f538ea7 Minor: use orEmpty() instead of ?: listOf() in LazyJavaPackageFragmentProvider 2014-02-11 17:16:59 +04:00
Pavel V. Talanov 4153182fd2 Refactor JDR: minor, extract class 2014-02-11 17:16:58 +04:00
Evgeny Gerashchenko ce7e0a7457 Fixed problem with overriding method with non-trivial raw type (when erased type parameter has upper bound)
Also added cases for the code which was changed.
2014-02-06 13:52:59 +04:00
Andrey Breslav 8dc9aecbf8 DescriptorSearchRule removed 2014-02-05 18:12:01 +04:00
Andrey Breslav aa0dde3a78 Old implementation of JavaDescriptorResolver deleted 2014-02-05 18:12:01 +04:00
Andrey Breslav 9f918d48b5 JavaDescriptorResolver always uses lazy mode 2014-02-05 18:12:01 +04:00
Andrey Breslav 76c722b81c Utilities moved closer to their usages and rewritten to Kotlin 2014-02-05 18:12:00 +04:00
Andrey Breslav e119ca27ca AnnotationLoadingUtil created. Relevant code/constants moved there 2014-02-05 18:11:51 +04:00
Andrey Breslav aed1ccf771 getKotlinBuiltinClassDescriptor() moved to DescriptorResolverUtils 2014-02-05 18:07:35 +04:00
Andrey Breslav 3d1f2c25e2 resolveCompileTimeConstantValue() rewritten to Kotlin 2014-02-05 18:07:35 +04:00
Andrey Breslav 6aca05023a OBJECT_FQ_NAME moved to DescriptorResolverUtils 2014-02-05 18:07:35 +04:00
Andrey Breslav e60bd514fa StorageManager&ExceptionTracker delivered where needed
- GlobalContext introduced to group the two
- Caches track exceptions
2014-02-04 15:24:27 +04:00
Andrey Breslav a90dbc48ef Information about LockBasedStorageManager instances added to assertions 2014-02-04 15:23:14 +04:00
Alexey Sedunov 7f74ea5081 Translate KotlinSafeDeleteProcessor to Kotlin 2014-02-03 13:47:02 +04:00
Alexander Udalov 1107ae9a11 Revert hack for annotations on built-ins
This reverts commit 5cae5c0338
2014-01-31 16:46:18 +04:00
Alexander Udalov e28819b42e Revert "Using default renderer in LoadBuiltinsTest."
This reverts commit 1d21ebf882.

Conflicts:
	compiler/testData/builtin-classes.txt
	core/descriptors/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java

Reverting a part of this (related to the field 'prettyFunctionTypes') because
will need to add a test that deserialized built-ins (obtained by
KotlinBuiltIns.getInstance()) are consistent with lazy resolved built-ins. This
test would break because while DescriptorRenderer renders pretty function types
it compares descriptors to the ones from KotlinBuiltIns, but in case of lazy
resolve descriptors created for built-ins would be different from
KotlinBuiltIns, so renderer wouldn't correctly render a function type
2014-01-31 16:46:18 +04:00
Alexander Udalov c39338798b Delete outdated hack in Unit 2014-01-31 16:46:18 +04:00
Alexander Udalov 1538191c66 Fix variance in Progression and Range 2014-01-31 16:46:17 +04:00
Alexander Udalov 1c9d614137 Add copyright and auto-generation notice to built-in sources 2014-01-31 16:46:17 +04:00
Alexander Udalov 877d9f2220 Update year to 2014 in generated files 2014-01-31 16:46:16 +04:00
Alexander Udalov 75ab8ac5ec Don't try to generate optimized "in" for LongRange
#KT-4097 Fixed
2014-01-31 16:46:14 +04:00
Andrey Breslav 0f4994f8b0 Created LockBasedStorageManagerWithExceptionTracking 2014-01-30 21:03:53 +04:00
Andrey Breslav 210827b1d5 ExceptionUtils rewritten in Kotlin 2014-01-30 21:03:53 +04:00