Valentin Kipyatkov
1983a9f3da
Replaced usages of JetScope.getAllDescriptors() with JetScope.getDescriptors() (where makes sense)
2014-11-12 21:24:55 +03:00
Valentin Kipyatkov
760b9c4389
Added JetScope.getDescriptors(nameFilter, kindFilter) but the filters are never used yet
2014-11-12 21:24:55 +03:00
Alexander Udalov
eb96b97bc8
Get rid of underscores in private property names
...
They were used to workaround duplicate signature errors, but this is no longer
relevant since no accessors are generated for private properties with backing
fields
2014-11-11 18:35:37 +03:00
Alexander Udalov
66d27fad13
Move utilities out of 'core' to where they are used
2014-11-11 18:10:42 +03:00
Alexander Udalov
d3f210f73c
Move SAM resolution to frontend.java
2014-11-11 18:10:42 +03:00
Alexander Udalov
0b6bb38bb3
Move SAM function type calculation to SamConversionResolver
2014-11-11 18:10:42 +03:00
Alexander Udalov
344c6f0b3f
Move SAM adapter resolution logic to SamConversionResolver
2014-11-11 18:10:41 +03:00
Alexander Udalov
ae78b0e216
Minor, merge two sematically identical functions
2014-11-11 18:10:41 +03:00
Alexander Udalov
4350da5f24
Extract SAM constructor resolution logic to a component
2014-11-11 18:10:40 +03:00
Nikolay Krasko
c242665cd3
Extract isCompatibleAbiVersion from kinds enum and store read kinds even for incompatible version
2014-11-11 17:33:13 +03:00
Andrey Breslav
4892369cf4
Diagnostic tests are logging their lazy activity
2014-11-10 17:24:04 +02:00
Andrey Breslav
adafd70730
Abstract lazy type moved to descriptors
2014-11-08 15:51:41 +02:00
Valentin Kipyatkov
72e0546fde
Converted JavaPackage and its implementation to Kotlin
2014-11-05 21:42:15 +03:00
Valentin Kipyatkov
e2e7210b37
Converted DeserializedPackageMemberScope to Kotlin
2014-11-05 21:42:14 +03:00
Valentin Kipyatkov
c2a3fde969
Converted JetScope to Kotlin
2014-11-05 21:42:12 +03:00
Nikolay Krasko
7e1546d3e7
Merge stored empty lists and sets to singe object
2014-11-02 14:55:00 +03:00
Andrey Breslav
60ff2df597
Memory optimization: Do not retain LinkedHashSets in caches
...
LinkedHashSets are replaced with tight ArrayLists
2014-11-01 13:38:24 +02:00
Andrey Breslav
a14eefcea3
KT-6077 Compiler does not issue error on unsafe access to ArrayList with nullable values
...
#KT-6077 Fixed
2014-10-22 00:41:20 +04:00
Alexander Udalov
f632a34959
Delete unused JavaSignatureFormatter
2014-10-17 21:27:21 +04:00
Andrey Breslav
b1e452b568
type unescaped in *.kt files
2014-10-14 13:02:13 +04:00
Andrey Breslav
b20439027c
Advancing ABI version
...
Related changes:
- serialization of flexible types supported
- Intrinsics.checkExpressionValueIsNotNull() added
2014-10-13 15:38:23 +04:00
Andrey Breslav
f1675a9162
Minor. Getters replaced by properties
2014-10-13 15:38:21 +04:00
Andrey Breslav
070a7d4d72
Serialization of flexible types supported
2014-10-13 15:38:20 +04:00
Andrey Breslav
013dd7261e
Extensible specificity expressed as a type capability
2014-10-13 15:38:11 +04:00
Andrey Breslav
91b0b83ec3
Java declaration annotations are treated as type annotations
...
This is needed, for example, to approximate flexible types correctly when rendering them in the code
2014-10-13 15:38:06 +04:00
Andrey Breslav
220c360081
Null-aware types introduced
...
Flexible types should drive their own conversions to nullable/not-null
2014-10-13 15:37:58 +04:00
Andrey Breslav
969beb7898
Account for substitutions of one variable for another (it must remain a variable)
2014-10-13 15:37:57 +04:00
Andrey Breslav
583694a450
Flexible types for primitive arrays
2014-10-13 15:37:54 +04:00
Andrey Breslav
dd2e95b3bc
Substitution implemented for flexible occurrences of Java type parameters
2014-10-13 15:37:52 +04:00
Andrey Breslav
bf53222bd9
Flexible types in SAM conversions
2014-10-13 15:37:51 +04:00
Andrey Breslav
2529bb24d1
Don't create flexible types for ".class" expressions in annotation arguments
2014-10-13 15:37:51 +04:00
Andrey Breslav
c699fa96d9
Make not-null compile-time constants non-flexible
2014-10-13 15:37:51 +04:00
Andrey Breslav
867956729b
Don't create platform types for annotation members
2014-10-13 15:37:50 +04:00
Andrey Breslav
b665a1998b
Supertypes should not be flexible
2014-10-13 15:37:47 +04:00
Andrey Breslav
f11095b1d0
Minor. DelegatingFlexibleType moved to top level
2014-10-13 15:37:45 +04:00
Andrey Breslav
e268e74fa3
Flexible types added to JDR
...
So far they act exactly like inflexible ones
2014-10-13 15:37:42 +04:00
Andrey Breslav
ad8de070fa
A flag in the JDR to govern usage of platform types
2014-10-13 15:37:42 +04:00
Michael Bogdanov
1944f75802
Skip default methods on single abstract method search
...
Fix for KT-4886: SAM conversion doesn't work for interfaces with default methods
#KT-4886 Fixed
2014-10-09 17:15:46 +04:00
Svetlana Isakova
20f3403c80
Rename: this object, receiver argument -> dispatch receiver, extension receiver
2014-10-01 18:52:51 +04:00
Alexander Udalov
96308aa14e
Increase ABI version
...
After changes to package part names and top level closure names
2014-09-26 10:23:21 +04:00
Alexander Udalov
c57441b51b
Use '$' instead of '-' in package part class names
...
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.
Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov
1905401273
Move ClassId to module descriptors, closer to other names
2014-09-16 11:36:39 +04:00
Alexander Udalov
ed92eb1d17
Minor, use another constructor of ClassId
2014-09-16 11:32:45 +04:00
Alexander Udalov
73a92c6aa9
Remove JavaClass.getAllMethods()/getAllFields()
...
Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually
Also make JavaClassImpl.getSupertypes() invoke PsiClass.getSuperTypes(),
because it also contains java.lang.Object for interfaces, which makes
equals/hashCode/toString appear in interfaces' getAllMethods() as well
2014-09-15 19:30:53 +04:00
Alexander Udalov
3485d65d8a
Remove superfluous isVararg() from JavaMethod
2014-09-15 19:30:52 +04:00
Alexander Udalov
924283d2d9
Extract JavaConstructor out of JavaMethod
...
Will be useful in reflection-backed implementation of Java structure, where
Constructor is not a Method and doesn't even inherit from it
2014-09-15 19:30:52 +04:00
Alexander Udalov
7595e32bb6
Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
...
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov
e3b01f073f
Replace FqName by ClassId where possible in Java resolver
2014-09-15 19:30:51 +04:00
Alexander Udalov
a8c5f1bb3a
Drop KotlinClassFinder#findKotlinClass(FqName)
...
findKotlinClass(ClassId) should be used instead
2014-09-15 19:30:50 +04:00
Alexander Udalov
422e922c36
Make JavaClassFinder accept ClassId rather than FqName
...
ClassId has more information about the name which will be very useful when
implementing JavaClassFinder in reflection
2014-09-15 19:30:50 +04:00