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