Commit Graph

2877 Commits

Author SHA1 Message Date
Andrey Breslav aa20af3cf3 Minor. Unused code removed
Follow-up for https://github.com/JetBrains/kotlin/commit/db00500404e4862548ed5eb49f7289e1e8eba99c#commitcomment-6242775
2014-05-12 19:02:17 +04:00
Alexander Udalov c7277250d9 Use ReflectionTypes instead of KotlinBuiltIns in type checker 2014-05-08 16:45:15 +04:00
Alexander Udalov 981b6fdaff Don't render stack trace in a warning
These stack traces are confusing: they make it seem as if an exception was
thrown
2014-05-05 20:43:35 +04:00
Andrey Breslav db00500404 Unused code removed 2014-04-30 16:30:17 +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 af9694738e JvmResolveUtil extracted for methods that are used only for tests 2014-04-23 14:06:13 +04:00
Andrey Breslav 1a92964250 JavaDescriptorResolver is cached by KotlinResolveCache
Accessible via JavaResolveExtension
2014-04-23 14:06:10 +04:00
Andrey Breslav ed79be6d2d AnalyzerFacade.Setup introduced 2014-04-23 14:06:10 +04:00
Andrey Breslav 45a90a8f20 Eager methods removed from AnalyzerFacade 2014-04-23 14:06:09 +04:00
Andrey Breslav d45347688d Create consolidated caching service to provide all lazily resolved data
Other caches are to be removed later
2014-04-23 14:06:09 +04:00
Andrey Breslav e4e60bc377 Function object replaced by a normal function
+ unneededly public member made protected
2014-04-18 21:28:22 +04:00
Andrey Breslav ebd44816d0 Function object replaced by a normal function 2014-04-18 21:28:22 +04:00
Andrey Breslav 4839f7a230 Make lazy analysis accessible to clients 2014-04-18 21:28:22 +04:00
Andrey Breslav 7d688e5bec LazyTopDownAnalyzer extracted as a separate component 2014-04-18 21:28:21 +04:00
Andrey Breslav c57243035e Factory method introduced for TopDownAnalysisParameters 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
Alexander Udalov 4c973b79ee Get rid of poorly named NotInferredVisibilitySink
Also make TraceBasedErrorReporter invoke OverrideResolver to report "cannot
infer visibility", because there's some additional logic there
2014-04-17 19:51:31 +04:00
Alexander Udalov 34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00
Tal Man aeb5bae556 Refactoring of CompileTimeConstant, introduce flag to represent a constant being referenced by a variable 2014-04-09 14:47:05 -04:00
zarechenskiy 43b41f6db9 Implement formatMethod in JavaSignatureFormatter without PSI 2014-04-04 17:40:37 +04:00
zarechenskiy fe48051041 Remove acces to JavaPropertyInitializerEvaluator through ServiceLoader by injecting it in GenerateInjectors 2014-04-04 17:40:37 +04:00
zarechenskiy 2e4028ba3a Move method createArrayType to JavaType and drop JavaElementFactory 2014-04-04 17:40:36 +04:00
zarechenskiy 735df2e340 Drop getExternal method from JavaSignatureFormatter 2014-04-04 17:40:36 +04:00
zarechenskiy d7337fbe94 Remove PSI in TraceBasedExternalSignatureResolver, AlternativeFieldSignatureData, AlternativeMethodSignatureData 2014-04-04 17:40:35 +04:00
Andrey Breslav b8119a57ab Script parameters supported in LAZY mode 2014-04-01 12:36:51 +04:00
Andrey Breslav 77261330b9 Only use script parameters from definition
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
2014-04-01 12:25:33 +04:00
Andrey Breslav 6ac2e2da8a Support scripts in LAZY mode 2014-04-01 12:25:32 +04:00
Andrey Breslav 76e286aacc ScriptParameterResolver extracted 2014-04-01 12:25:31 +04:00
Andrey Breslav 9a1f8b9cc6 Trace is not injected into ScriptBodyResolver any more 2014-04-01 12:25:31 +04:00
Nikolay Krasko 4aa3dff2a2 Update to ASM5 2014-04-01 02:55:05 +04:00
Nikolay Krasko 95fd870988 Update to idea 135.666 EAP with asm5 library 2014-04-01 02:55:00 +04:00
Evgeny Gerashchenko 04a6b10f7a Minor. Renamed annotationDeserializer → deserializers. 2014-03-31 22:39:59 +04:00
Andrey Breslav 298ddcf0ad Do not resolve annotation arguments when only a type is requested
This replaces the logic that always did complete constructor call resolution by a request to typeResolver when only a type is needed
2014-03-26 21:10:29 +04:00
Andrey Breslav 1cdfab761a Lazy annotation resolution supported 2014-03-26 21:10:29 +04:00
Andrey Breslav 27d4e583a8 Unneeded field removed 2014-03-26 21:10:28 +04:00
Andrey Breslav df1f0886c5 Inject a project into TDA for proper lazy session initialization 2014-03-26 21:10:27 +04:00
Evgeny Gerashchenko 9ecd680fd4 Rewritten PackageFragmentDescriptor to Kotlin. 2014-03-26 00:41:54 +04:00
Evgeny Gerashchenko b736d1602e Got rid of conustructors zoo in value parameter and getter/setter descriptors. 2014-03-25 21:35:09 +04:00
Andrey Breslav 80737bdfcf Fix PSI behavior for "val x : ()?' case 2014-03-25 15:55:53 +04:00
Evgeny Gerashchenko d62bc07437 Partial compilation of package (only functions supported). 2014-03-25 14:31:38 +04:00
Evgeny Gerashchenko 5c8253c099 Rendering class or package proto when JPS test fails. 2014-03-25 14:26:48 +04:00
Evgeny Gerashchenko 5f77a4548e Extracted util method reading class header from bytes. 2014-03-25 14:26:48 +04:00
Pavel V. Talanov a1dbf221b3 Use instance methods instead of JetPsiUtil for getting fq names
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
2014-03-24 17:51:49 +04:00
Pavel V. Talanov 246466bdc5 Implement stub based package declaration provider for lazy resolve
Implement StubPackageMemberDeclarationProvider
Introduce DeclarationProviderFactoryService to provide difference factories in CLI and Plugin
When indexing treat top level declarations without name specially so that they can be found in index
Implement PluginDeclarationProviderFactoryService which uses file based approach for non indexed files and stub based for others
2014-03-24 17:51:38 +04:00
Alexander Udalov 5fa1774cc1 Support hasStableParameterNames in KotlinSignature and propagation
#KT-1924 In Progress
 #KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Andrey Breslav 9964ecc883 NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check for classes is moved to DescriptorResolver 2014-03-17 21:55:16 +04:00
Andrey Breslav fd9cb59841 TopDownAnalyzer supports lazy mode 2014-03-17 21:40:15 +04:00
Alexander Udalov 65edd6a16e Make KotlinBinaryClassCache thread-local 2014-03-14 17:26:48 +04:00
Alexander Udalov 307f52895a Refactor KotlinJvmBinaryClass, VirtualFileKotlinClass, etc.
VirtualFileKotlinClass now reads its header and name on creation. This is not
lazy enough and may be slower in some circumstances, but has the following
advantage: if anything is wrong in the header, a VirtualFileKotlinClass
instance will not be created at all, making it nearly impossible for the client
code to operate on invalid data causing all kinds of exceptions
2014-03-14 16:00:20 +04:00