Pavel V. Talanov
0c8956a36e
Refactor: DescriptorFinder -> ClassDataFinder
...
Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
2014-07-03 20:46:41 +04:00
Pavel V. Talanov
53337f793b
Move caching of deserialized classes to new component ClassDeserializer
...
Drop AbstractDescriptorFinder
2014-07-03 20:46:40 +04:00
Pavel V. Talanov
55ae3cab19
Drop DependencyClassByQualifiedNameResolver and implementation
2014-07-03 20:46:37 +04:00
Pavel V. Talanov
245919d691
Use module to resolve annotation classes in AnnotationDescriptorLoader
2014-07-03 20:46:36 +04:00
Pavel V. Talanov
6c153a9ce2
Resolve classes in Deserialization locally
...
Temporary hacky solution
2014-07-03 20:46:34 +04:00
Pavel V. Talanov
7ee7047753
Deserializer: use module to search for dependencies in TypeDeserializer
2014-07-03 20:46:33 +04:00
Pavel V. Talanov
a66353dbc4
JavaDescriptorFinder#getClassNames() returns empty list
...
All classes are included in JavaPackageFragmentScopeForJavaPackageFragment anyway
2014-07-03 20:46:32 +04:00
Alexander Udalov
c0fc5cfb53
Disallow named arguments for SAM adapters
...
SAM adapters are Java functions, and named arguments are not allowed for Java
functions
#KT-5022 Fixed
2014-07-02 20:35:31 +04:00
Alexander Udalov
59777e7df6
Generate "$kotlinClass"/"$kotlinPackage" reflection fields to every class
...
Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
2014-07-02 01:26:18 +04:00
Alexander Udalov
ac8eb0f5e8
Add PackageClassUtils.getPackageClassInternalName()
2014-06-26 20:57:39 +04:00
Alexander Udalov
e31f2cfa23
Make protected static visibility reach members in the same package
2014-06-26 20:57:39 +04:00
Evgeny Gerashchenko
bf442a9700
Fixed loading integral constants from compiled classes.
2014-06-24 22:18:13 +04:00
zarechenskiy
0355b1bd53
Implement JavaTypeSubstitutor without PSI
2014-06-24 20:06:13 +04:00
Andrey Breslav
cd28b216c1
Rename. INSTANCE -> DEFAULT in JetTypeChecker
2014-06-24 19:13:01 +04:00
Andrey Breslav
d2ce6f5787
Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java'
2014-06-19 22:10:52 +04:00
Evgeny Gerashchenko
aa41ae09ed
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko
06cafe7f12
Replaced passing MemberFilter to constructor with method overriding.
2014-06-19 01:03:58 +04:00
Evgeny Gerashchenko
a82849f289
Removed member filter from injectors.
2014-06-18 22:56:33 +04:00
Evgeny Gerashchenko
7fdd4a339e
KT-5087 Private members of Java classes should be marked as invisible, not unresolved
...
#KT-5087 fixed
2014-06-18 19:52:15 +04:00
Pavel V. Talanov
f8e5fa1b2f
Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader
2014-06-17 18:19:04 +04:00
Pavel V. Talanov
b9b0bba7a0
Refactor: Introduce contexts in deserialization subsystem
...
Rewrite utilities to Kotlin and move them out of DescriptorDeserializer
Include DescriptorDeserializer into context
Use new context in injectors
Drop Deserializers abstraction
2014-06-17 18:18:57 +04:00
Pavel V. Talanov
8d2038ec1a
Minor: Implement LazyJavaResolverContext.resolveTopLevelClassInModule using ModuleDescriptor.resolveTopLevelClass
2014-06-11 21:22:27 +04:00
Pavel V. Talanov
083c527f52
Drop JavaDescriptorResolver#getPackageFragment
2014-06-11 21:22:22 +04:00
Pavel V. Talanov
5ce8f4b892
JDR, minor: clarifying comment
2014-06-06 17:15:43 +04:00
Pavel V. Talanov
7d9742417f
JDR: Remove LazyJavaClassResolver#resolveClassByFqName()
2014-06-05 18:17:07 +04:00
Pavel V. Talanov
53df12598d
JDR: Eliminate another usage of LazyJavaClassResolver#resolveClassByFqName()
...
Refactor Java scopes:
Use abstract functions instead of "is" checks in LazyJavaMemberScope
Move some code to derived classes
2014-06-05 18:17:07 +04:00
Pavel V. Talanov
b69ab12db7
JDR: Use module to resolve special classes
2014-06-05 18:17:06 +04:00
Pavel V. Talanov
ccae693ed2
JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor
2014-06-05 18:17:05 +04:00
Alexander Udalov
d78d4bc44c
Disallow extension properties with backing fields
...
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Andrey Breslav
fe9de64487
Enabling creating different descriptors for different Java classes
2014-05-21 23:31:32 +04:00
Andrey Breslav
a66f44e4f5
TypeConstructor's equality for classes relies on FqNames
...
This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
(think intellij-core vs idea-full).
2014-05-21 23:31:32 +04:00
Andrey Breslav
f714382bd8
ErrorClassDescriptor moved to ErrorUtils
2014-05-21 23:31:31 +04:00
Andrey Breslav
5c1cb6cbd1
Minor. More specific return type
2014-05-21 15:26:05 +04:00
Svetlana Isakova
3bcdbee2bf
Removed LabelName class, used Name instead
2014-05-20 14:58:49 +04:00
Alexander Udalov
98f80fe1e0
Increase ABI version after changes to FunctionImpl* classes
2014-05-19 19:50:59 +04:00
Alexander Udalov
ccead8e337
Replace some usages of ERROR_CLASS with new instance creation
...
Because when some class is unresolved, we can still hold some information such
as its FQ name, for debugging purposes and better error messages
2014-05-19 19:50:59 +04:00
Alexander Udalov
de8b2b3668
Fix generic signature for SAM adapters and constructors
...
SAM-related code in codegen was using JavaClassDescriptor directly, which has
an erased signature. Create and use a new abstraction SamType which has a full
generic signature of a type which was used in the SAM construct
2014-05-19 19:50:58 +04:00
Andrey Breslav
5ab979864b
Temporarily revert changes that create separate class descriptors for each PSI class
2014-05-16 12:27:14 +04:00
Andrey Breslav
291741754b
Guard loading top-level classes with a check that they are not Kotlin binaries
2014-05-14 17:15:01 +04:00
Andrey Breslav
64f0a8d420
Provide access to package fragments generated for static members of Java classes
2014-05-13 19:39:32 +04:00
Andrey Breslav
87750d633c
JavaDescriptorResolver supports resolving classes by PSI elements, not by FqNames
2014-05-13 19:39:31 +04:00
Alexander Udalov
42d167d17e
Add missing copyrights across the project
2014-05-05 20:43:35 +04:00
Andrey Breslav
775c941f8a
hasSynthesizedParameterNames() pulled up into CallableDescriptor
2014-04-30 16:30:17 +04:00
Andrey Breslav
c6bd4a22ef
Iterators replaced with streams where appropriate
2014-04-29 19:11:47 +04:00
Andrey Breslav
19719f9747
Deprecated _tmp functions replaced by library ones
2014-04-29 19:11:47 +04:00
Andrey Breslav
4181bcc319
JavaCallableMemberDescriptor.hasSynthesizedParameterNames() introduced
2014-04-29 19:11:47 +04:00
Alexander Udalov
61675de305
Optimize PropertyMetadataImpl instance creation
...
Create all property metadatas in <clinit> and save them to a static array
$propertyMetadata. Getter/setter of each delegated property will then just
obtain the corresponding instance from that array
#KT-4232 Fixed
2014-04-24 16:10:15 +04:00
Alexander Udalov
af421f53da
Rename FQNAMES -> FQ_NAMES
2014-04-24 16:10:11 +04:00
Andrey Breslav
bb87a6bb59
Only create lazy annotations for descriptors from code
2014-04-18 21:28:21 +04:00
Nikolay Krasko
068c9636fc
Refactoring: rename TEXT to FQNAMES_IN_TYPES
2014-04-18 13:25:58 +04:00