Commit Graph

102 Commits

Author SHA1 Message Date
Alexander Udalov 0ed9897b03 Minor refactorings related to PackagePartProvider and implementations
- Document what exactly should findPackageParts return
- Make EMPTY a named object instead of a val in the companion
- Do not use JvmPackagePartProvider in tests where Empty works fine
- Add a couple default values to arguments of setupResolverForProject
2016-10-02 21:03:34 +03:00
Nikolay Krasko 99a75021e1 Problem: manually shutdown AppScheduledExecutorService to allow compiler stop properly
Without such shutdown console program that gets PSI file will hang forever.

Introduced in https://github.com/JetBrains/intellij-community/commit/446b80077aed71e2384301ae993cf44416bf9a83

Stack example:

 java.lang.Thread.State: RUNNABLE
	  at com.intellij.util.concurrency.AppDelayQueue.<init>(AppDelayQueue.java:37)
	  at com.intellij.util.concurrency.AppScheduledExecutorService.<init>(AppScheduledExecutorService.java:50)
	  at com.intellij.util.concurrency.AppScheduledExecutorService$Holder.<clinit>(AppScheduledExecutorService.java:41)
	  at com.intellij.util.concurrency.AppScheduledExecutorService.getInstance(AppScheduledExecutorService.java:46)
	  at com.intellij.util.concurrency.AppExecutorUtil.getAppScheduledExecutorService(AppExecutorUtil.java:39)
	  at com.intellij.concurrency.JobScheduler.getScheduler(JobScheduler.java:43)
	  at com.intellij.psi.impl.source.AstPathPsiMap.<clinit>(AstPathPsiMap.java:45)
	  at com.intellij.psi.impl.source.PsiFileImpl.<init>(PsiFileImpl.java:76)
	  at com.intellij.extapi.psi.PsiFileBase.<init>(PsiFileBase.java:39)
	  at org.jetbrains.kotlin.psi.KtFile.<init>(KtFile.java:48)
	  at org.jetbrains.kotlin.parsing.KotlinParserDefinition.createFile(KotlinParserDefinition.kt:73)
	  at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:407)
	  at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:348)
	  at com.intellij.psi.SingleRootFileViewProvider.createFile(SingleRootFileViewProvider.java:326)
	  at com.intellij.psi.SingleRootFileViewProvider.getPsiInner(SingleRootFileViewProvider.java:171)
	  at com.intellij.psi.SingleRootFileViewProvider.getPsi(SingleRootFileViewProvider.java:155)
	  at com.intellij.psi.impl.PsiFileFactoryImpl.trySetupPsiForFile(PsiFileFactoryImpl.java:121)
	  at com.intellij.psi.impl.PsiFileFactoryImpl.createFileFromText(PsiFileFactoryImpl.java:100)
	  at com.intellij.psi.impl.PsiFileFactoryImpl.createFileFromText(PsiFileFactoryImpl.java:56)
	  at org.jetbrains.kotlin.psi.KtPsiFactory.doCreateFile(KtPsiFactory.kt:174)
	  at org.jetbrains.kotlin.psi.KtPsiFactory.createFile(KtPsiFactory.kt:178)
	  at org.jetbrains.kotlin.preprocessor.Preprocessor.processFileSingleEvaluator(Preprocessor.kt:82)
	  at org.jetbrains.kotlin.preprocessor.Preprocessor.processDirectorySingleEvaluator(Preprocessor.kt:105)
	  at org.jetbrains.kotlin.preprocessor.Preprocessor.processDirectorySingleEvaluator(Preprocessor.kt:135)
	  at org.jetbrains.kotlin.preprocessor.Preprocessor.processSources(Preprocessor.kt:74)
	  at org.jetbrains.kotlin.preprocessor.PreprocessorCLI.main(PreprocessorCLI.kt:35)
2016-09-20 15:25:37 +03:00
Alexander Udalov 4c8e8b099a Update protobuf from 2.5.0 to 2.6.1 2016-06-27 20:14:00 +03:00
Denis Zharkov 5bf39689e9 Replace irrelevant usages of JvmBuiltIns.Instance with DefaultBuiltIns.Instance 2016-04-25 17:41:08 +03:00
Denis Zharkov ef18d64931 Parametrize module creation by platform with built-ins 2016-04-25 17:41:08 +03:00
Alexander Udalov 4f77b02a58 Rename 'ins' -> 'Ins' in BuiltinsPackageFragment and related classes 2016-03-14 20:41:46 +03:00
Alexander Udalov f82ec6711d Remove SerializedResourcePaths and BuiltInsSerializedResourcePaths
Most of members now only make sense for JS, move the rest to
BuiltInSerializerProtocol
2016-02-26 11:29:10 +03:00
Alexander Udalov c81d76414f Drop serialization of old binary built-in files (.kotlin_class, .kotlin_package) 2016-02-26 11:29:10 +03:00
Alexander Udalov 4bd1d064bb Do not load built-ins in old format, drop class_name extension 2016-01-19 18:39:59 +03:00
Alexander Udalov a4daa08e5c Write module name as proto extension instead of another annotation argument 2016-01-19 18:39:59 +03:00
Alexander Udalov 04d335db15 Move version constants to corresponding BinaryVersion subclasses 2016-01-19 18:39:59 +03:00
Dmitry Jemerov 117a0d8b7b compiler: cleanup 'public', property access syntax 2016-01-07 17:57:38 +01:00
Alexander Udalov 57b96f38a9 Minor, remove/simplify unnecessary utilities in util.runtime 2015-12-25 20:16:18 +03:00
Alexander Udalov e7da56baf4 Restructure code in BuiltInsSerializer 2015-12-25 20:16:18 +03:00
Alexander Udalov ddcdc11099 Write and read built-ins binary version 2015-12-25 20:16:18 +03:00
Alexander Udalov 7592f31596 Serialize built-ins to separate file .kotlin_builtins 2015-12-25 20:16:18 +03:00
Pavel V. Talanov 6164566cad Extract duplicate logic between javascript and builtins serialization/deserialization 2015-12-09 18:51:27 +03:00
Pavel V. Talanov e458534c93 Write package_fq_name to for Package message when serializing builtins 2015-12-09 18:51:24 +03:00
Alexander Udalov 6345d0e6d3 Remove obsolete FallbackPaths 2015-11-27 23:34:46 +03:00
Yan Zhulanow 46ac3571d5 Fix "infix modifier required" errors in project 2015-11-27 15:51:11 +03:00
Stanislav Erokhin 2c3f58eeb7 Renamed methods in MemberScope from getSmth to getContributedSmth 2015-11-05 14:34:00 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Pavel V. Talanov 85c05b18f5 More compact and meaningful error reporting in ResolverForProject
No more enormous module lists
2015-10-19 18:03:08 +03:00
Alexander Udalov fb5d8de84b Use type table in DescriptorSerializer, add switch to enable/disable, test 2015-10-15 18:25:40 +03:00
Alexander Udalov 55dd51814f Don't serialize built-in enum entries
These files are never read anyway
2015-10-11 17:10:39 +03:00
Alexander Udalov e4efa27b76 Drop Callable and primary/secondary constructor proto messages 2015-10-11 17:10:26 +03:00
Denis Zharkov 521e958f6d Serialize type annotations in builtins 2015-10-09 14:40:33 +03:00
Alexander Udalov e1ccb92438 Write built-in extensions to new protobuf messages 2015-10-03 00:59:34 +03:00
Alexander Udalov e4090d3f30 Cleanup descriptors.proto, regenerate
- move enums and messages nested in Callable to top level, since they're likely
  to be reused in other messages soon
- delete obsolete comments: some did not any value, some became obsolete with
  custom options ("id in StringTable" -> name_id_in_table)
2015-10-02 20:30:55 +03:00
Alexander Udalov 3b9d90429b Simplify local class name serialization, don't go through extension
Also fix it for the case of a class in a non-default package
2015-09-29 16:26:28 +03:00
Alexander Udalov da68c4d9ee Extract interface out of StringTable
Rework SerializerExtension interface: don't pass StringTable to each method
every time, create it in each extension's constructor instead and expose to
DescriptorSerializer with an interface method
2015-09-29 16:26:24 +03:00
Alexander Udalov 93b5065cf5 Get rid of SerializationUtil, move methods to DescriptorSerializer 2015-09-22 18:22:55 +03:00
Alexander Udalov 04b8991bdd Minor, move BuiltInsSerializerExtension to module builtins-serializer 2015-09-22 18:22:54 +03:00
Michael Bogdanov 2ca9b3ae0e Code clean 2015-09-07 16:29:10 +03:00
Michael Bogdanov 672d25e7e0 PackagePartProvider refactoring 2015-09-07 16:29:02 +03:00
Michael Bogdanov c274ceffe8 PackageFacadeProvider refactoring 2015-09-07 16:28:55 +03:00
Michael Bogdanov 43af127ce8 new fixes 2015-09-07 16:28:52 +03:00
Michael Bogdanov 1fcacecf93 stubs for new components 2015-09-07 16:28:48 +03:00
Pavel V. Talanov 52bc84cb5f Introduce LocalDescriptorResolver which handles differences in local declaration resolution between compiler and ide environments 2015-08-19 21:18:28 +03:00
Pavel V. Talanov aae8ccfd57 Refactor: AnnotationSerializer does not depend on bultins 2015-07-17 19:21:24 +03:00
Pavel V. Talanov 5dc5d77e60 Inject builtins in constants 2015-07-15 21:09:52 +03:00
Pavel V. Talanov 37bcd455b5 Make ModuleDescriptor#getPackage() return not null lazy object with lazy scope
Refactor: no need to create package view in order to obtain its subpackages
LazyPackageViewDescriptorImpl to replace PackageViewDescriptorImpl
This allows to avoid computations when package views are requested but their contents not necessarily queried
For example: DescriptorResolver.resolvePackageHeader()
2015-06-23 15:19:06 +03:00
Pavel V. Talanov 1cf38e4799 Convert PackageViewDescriptor to Kotlin 2015-06-23 15:18:57 +03:00
Pavel V. Talanov e4c242e66b Remove direct usages of ModuleDescriptor#getPackageFragmentProvider() 2015-05-25 13:00:16 +03:00
Pavel V. Talanov 01efbb1502 Introduce ModuleContext, ProjectContext and use it some of the APIs 2015-05-17 18:24:49 +03:00
Michael Nedzelsky 6dc7c4bc29 add SerializedResourcePaths, extract base code from builtins package fragment, data finder 2015-05-12 19:30:26 +03:00
Alexander Udalov 88abcdbde5 Minor, remove workarounds for the fixed KT-5786 2015-04-29 01:03:55 +03:00
Alexander Udalov 20cd360b07 Rename built-in metadata files starting with dot
Files starting with dot are considered as hidden on Unix systems, and sometimes
are ignored by the tools. For example, Android build tools do not package such
files to the resulting application, which causes Kotlin reflection to fail
there

 #KT-7088 Fixed
2015-04-23 03:17:29 +03:00
Alexander Udalov aab5d1c3e3 Minor, update built-ins serializer message
.kotlin_class_names was deleted and .kotlin_name_table was renamed
2015-04-15 01:16:07 +03:00