Commit Graph

3045 Commits

Author SHA1 Message Date
Alexander Udalov f4abaaee10 Delete JvmClassName.byType
Replace JvmClassName by ASM Type in many places of JVM codegen: it wasn't used
to abstract anything, but there was a lot of useless conversions between the
two
2013-10-04 18:32:39 +04:00
Alexander Udalov 45bc7c2926 Delete JvmClassName.byClass, refactor JvmAnnotationNames
Store constant class names as instances of FqName instead of JvmClassName. This
is done to minimize usages of the method 'JvmClassName.getFqName()', since it's
wrong and shouldn't be used
2013-10-04 18:32:39 +04:00
Alexander Udalov 1cb68e9cf4 Move KotlinToJavaTypesMap, AsmTypeConstants to frontend.java
They're used only in compiler
2013-10-04 18:32:38 +04:00
Alexander Udalov 1578d891cb Remove PsiClassFinder
Inline the implementation into JavaClassFinderImpl
2013-10-04 18:32:38 +04:00
Alexander Udalov 7fa39eb41b Delete InjectorForJDR.getPsiClassFinder()
Replace its usages by getJavaClassFinder(). Remove code duplication in
AnalyzerFacadeForJVM/LazyResolveTestUtil
2013-10-04 18:32:38 +04:00
Andrey Breslav f3cd83c744 All storage-related code moved to util.runtime 2013-10-03 15:49:18 +04:00
Alexander Udalov f68a702e8f Report ABI errors on KotlinClass, not VirtualFile 2013-10-02 17:55:02 +04:00
Alexander Udalov 3087c6f584 ReadDataFromAnnotationVisitor doesn't depend on ASM anymore 2013-10-02 17:07:37 +04:00
Alexander Udalov 8b63665b20 Delete getFqName() method from KotlinClassFileHeader
It's not related to the header. Add getClassName() method to
KotlinJvmBinaryClass, which reads the internal name of the class
2013-10-02 17:05:50 +04:00
Alexander Udalov 2eebcd91c0 Make annotation deserializer not depend on VirtualFile & ASM
KotlinJvmBinaryClass now has its own visitor interfaces, which are an
abstraction over ASM visitors and the ones that will be implemented over
reflection
2013-10-02 17:05:50 +04:00
Alexander Udalov 7eff1292f0 Make an abstraction over VirtualFileFinder
Java descriptor loader now can work with KotlinClassFinder, which finds
abstract KotlinJvmBinaryClass'es: they are based on VirtualFile in the
compiler/IDE and will be based on j.l.Class in the reflection
2013-10-02 17:05:50 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00
Evgeny Gerashchenko 2c877f080e Introduced CompositeExtension (to pass several of them). 2013-10-01 15:06:57 +04:00
Alexander Udalov ee92ebe941 Move Kotlin descriptor loading to kotlin/ package 2013-09-30 22:43:17 +04:00
Andrey Breslav 4644858b11 @NotNull propagated to JetVisitor implementations 2013-09-24 07:05:21 -07:00
Alexander Udalov 7faf8ef92a Change annoying LOG.error to warn
Must be fixed with thread-safe JDR
2013-09-18 20:14:42 +04:00
Alexander Udalov 8e59e789dc Extract util.runtime module out of util
Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.

Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
2013-09-18 17:21:11 +04:00
Alexander Udalov b7f1e61be9 Add JetType.isError()
Instead of ErrorUtils.isErrorType() which does several instanceof checks anyway
2013-09-18 16:41:48 +04:00
Alexander Udalov 7e72494ddb Remove unused 'trace' parameter in ModuleConfiguration 2013-09-18 16:40:36 +04:00
Alexander Udalov 54ee7456ce Extract LazyResolveStorageManager interface
StorageManager will be available at runtime, thus it can't depend on
BindingTrace
2013-09-18 16:40:35 +04:00
Alexander Udalov 8400d2b8cf Refactor OverridingUtil.resolveUnknownVisibilities
Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
2013-09-18 16:40:35 +04:00
Alexander Udalov effbdcaa4c Move utilities out of OverrideResolver 2013-09-18 16:40:34 +04:00
Andrey Breslav f26fe03c2e Assertion added 2013-09-13 22:39:47 +02:00
Andrey Breslav 0ce35af8e0 Unused dependency removed 2013-09-13 22:39:46 +02:00
Svetlana Isakova 4b023742c6 added AnnotationResolver reference to ExpressionTypingServices
injectors generated
2013-09-13 16:04:17 +04:00
Alexander Udalov c0a4d8d24f Support Class<?> as annotation arguments in java 2013-09-06 23:26:27 +04:00
Alexander Udalov 77e0d275db Remove unreachable code in AnnotationDescriptorDeserializer
Kotlin classes should only be discoverable by VirtualFileFinder
2013-09-06 21:28:49 +04:00
Andrey Breslav 9f4beece64 PlatformToKotlinClassMap injected into expression analyzers 2013-09-05 14:17:32 +04:00
Alexander Udalov fb5ab4c7c5 Move serialization.java module to core/
Remove unused dependency from frontend.java
2013-09-04 21:55:11 +04:00
Alexander Udalov 2b9225fdd4 Extract descriptor.loader.java module from frontend.java
Will be used in runtime to load reflected classes
2013-09-04 21:55:11 +04:00
Alexander Udalov 4fa35047b0 Move methods to DescriptorResolverUtils 2013-09-04 21:55:11 +04:00
Alexander Udalov abad793a35 Move DescriptorResolverUtils and TypeUsage to resolver/ 2013-09-04 21:55:11 +04:00
Alexander Udalov 202524ab03 Get rid of recordSourceForSynthesized
Sam descriptors now implement a common interface
SynthesizedCallableMemberDescriptor, introduced in frontend.
BindingContext.SOURCE_DESCRIPTOR_FOR_SYNTHESIZED is no longer needed
2013-09-04 21:55:11 +04:00
Alexander Udalov 56ca247509 Improve JavaElement collection util
Get rid of giant code duplication
2013-09-04 21:55:11 +04:00
Alexander Udalov eef86b4191 Get rid of getPsi() methods in JavaElement/JavaType hierarchy 2013-09-04 21:55:10 +04:00
Alexander Udalov 31a13dc688 JavaPackage.getClasses() shouldn't be used directly 2013-09-04 21:55:10 +04:00
Alexander Udalov e62a2bbf2f Support any constant expressions as annotation arguments 2013-09-04 21:55:10 +04:00
Alexander Udalov a17328f9d3 Minor, move ABI version error reporting
AbiVersionUtil will be used in descriptors.loader.java, so it cannot depend on
BindingTrace
2013-09-04 21:55:10 +04:00
Alexander Udalov a2e4029bb5 Use ServiceLoader to load different implementations 2013-09-04 21:55:10 +04:00
Alexander Udalov 6549a1d10b Minor, polish JavaClass
- move utility methods out from JavaClass to the usage site
- JavaClassifier extends JavaNamedElement
2013-09-04 21:55:10 +04:00
Alexander Udalov 5af28cd953 Make JavaElementImpl generic on underlying PSI type 2013-09-04 21:55:09 +04:00
Alexander Udalov 4cd238ddde Pull down getPsi() method from JavaElement 2013-09-04 21:55:09 +04:00
Alexander Udalov 714dbe2df3 Move JavaElement implementations to 'impl' package 2013-09-04 21:55:09 +04:00
Alexander Udalov ac4561a9e2 Extract interface out of JavaClass 2013-09-04 21:55:09 +04:00
Alexander Udalov c64cfd7f76 Untie JavaTypeSubstitutor.EMPTY from PsiSubstitutor 2013-09-04 21:55:09 +04:00
Alexander Udalov d14a7282ba Extract interface out of JavaTypeSubstitutor 2013-09-04 21:55:09 +04:00
Alexander Udalov 2eb5754289 Extract interface out of JavaTypeProvider 2013-09-04 21:55:09 +04:00
Alexander Udalov 7f77290505 Extract interface out of JavaValueParameter 2013-09-04 21:55:09 +04:00
Alexander Udalov 8c1349b90e Extract interface out of JavaTypeParameter 2013-09-04 21:55:08 +04:00
Alexander Udalov 214f290de7 Extract interface out of JavaSignatureFormatter 2013-09-04 21:55:08 +04:00