Commit Graph

1136 Commits

Author SHA1 Message Date
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
Alexander Udalov f6b43bb7b2 Extract interfaces out of Java*Type 2013-09-04 21:55:08 +04:00
Alexander Udalov 08bf7f8eee Create abstract JavaElementFactory
Needed to wrap the logic of creation of elements/types, right now only array
types
2013-09-04 21:55:08 +04:00
Alexander Udalov 9f44a1eb0d Extract interface out of JavaType 2013-09-04 21:55:08 +04:00
Alexander Udalov d364834168 Extract interfaces out of Java*AnnotationArgument 2013-09-04 21:55:08 +04:00
Alexander Udalov 90e0d51463 Extract interface out of JavaAnnotationArgument 2013-09-04 21:55:07 +04:00
Alexander Udalov 2191073761 Minor, remove useless method 2013-09-04 21:55:07 +04:00
Alexander Udalov dc048f0edd Extract interface out of JavaAnnotation 2013-09-04 21:55:07 +04:00
Alexander Udalov 912d3426a4 Extract interface out of JavaClassifier 2013-09-04 21:55:07 +04:00
Alexander Udalov 4f99cb6999 Extract interface out of JavaPackage 2013-09-04 21:55:07 +04:00