Commit Graph

260 Commits

Author SHA1 Message Date
Andrey Breslav 7f051e38e5 toString() for KotlinLightClassForExplicitDeclaration 2013-01-15 15:32:02 +04:00
Andrey Breslav e46e77f0d3 Support internal visibility by default 2013-01-14 20:20:29 +04:00
Andrey Breslav 40943fa6d2 JetLightClass removed (replaced by KotlinLightClass implementations) 2013-01-14 20:20:28 +04:00
Andrey Breslav d9ed18dc00 Common interface for two light class implementations extracted 2013-01-14 20:20:28 +04:00
Andrey Breslav d70a5c9233 getContainingClass() made faster for toplevel classes 2013-01-14 20:20:28 +04:00
Andrey Breslav 1170cbb7fa KotlinLightClass reads basic properties directly from PSI
(this allows for building Java stubs less frequently)
2013-01-14 20:20:27 +04:00
Andrey Breslav 1765843e1d Rename 2013-01-14 20:20:27 +04:00
Andrey Breslav 9ada4a8082 KotlinLightClassProvider does not depend on Generation Strategy 2013-01-14 20:20:26 +04:00
Andrey Breslav 0fc0230069 Return proper fqname for package classes 2013-01-14 20:20:26 +04:00
Andrey Breslav 1bedda7748 getContainingFile() for light classes 2013-01-14 20:20:25 +04:00
Andrey Breslav aeca4d3feb Basic presentation-related methods for KotlinLightClass 2013-01-14 20:20:25 +04:00
Andrey Breslav e3ba5bf9b7 PsiJavaFileStub is not trackable 2013-01-14 20:20:24 +04:00
Andrey Breslav 4748befcfd JavaElementFinder builds new light classes 2013-01-14 20:20:24 +04:00
Andrey Breslav fa96915a9c toString() for stub generation strategies 2013-01-14 20:20:24 +04:00
Andrey Breslav 01e92be7d2 No point in tracking files, when we are already tracking out-of-code-block-modifications 2013-01-14 20:20:24 +04:00
Andrey Breslav 92c9688caf Useless methods removed 2013-01-14 20:20:23 +04:00
Andrey Breslav 8e5ea77a72 setName() makes no sense for package classes 2013-01-14 20:20:23 +04:00
Andrey Breslav 59c94732a7 Light class support for nested classes 2013-01-14 20:20:23 +04:00
Andrey Breslav a577ccabab Light class providers unified 2013-01-14 20:20:22 +04:00
Andrey Breslav bf4fbe4aff Utility method moved to util class 2013-01-14 20:20:22 +04:00
Andrey Breslav 207f8e7c47 Cleanup 2013-01-14 20:20:22 +04:00
Andrey Breslav 689092da08 Nested class moved out 2013-01-14 20:20:21 +04:00
Andrey Breslav f929a7f5a9 Cleanup 2013-01-14 20:20:21 +04:00
Andrey Breslav 69080b72af When generating light class for package, do not generate other classes 2013-01-14 20:20:21 +04:00
Andrey Breslav a91b113cc3 GenerationStrategy is now a strategy 2013-01-14 20:20:20 +04:00
Andrey Breslav 5d4e4707ca Prototype implementation of KotlinLightClassForPackage 2013-01-14 20:20:20 +04:00
Andrey Breslav 0fddc92a64 Passing virtual file instead of whole JetLightClass 2013-01-14 20:20:19 +04:00
Andrey Breslav 034cd8844e Provide context for multiple files 2013-01-14 20:20:19 +04:00
Andrey Breslav 6dd60ac8b0 Utility method moved to util class 2013-01-14 20:20:19 +04:00
Andrey Breslav f34dd7b1b9 Removing code that is no longer used 2013-01-14 20:20:16 +04:00
Andrey Breslav abbaa51a91 Using indexes to find subpackages 2013-01-14 20:20:16 +04:00
Andrey Breslav 29dd3821cc Using indexes to find packages
JetLightPackage does not depend on PSI elements any more
2013-01-14 20:20:15 +04:00
Andrey Breslav 83075d0ad2 Using indexes for getClassNames() 2013-01-14 20:20:14 +04:00
Andrey Breslav d437787c3d JavaElementFinder uses indexes for findClasses() 2013-01-14 20:20:14 +04:00
Andrey Breslav 5f3fc5190f LightClassGenerationSupport helps finding class and package declarations 2013-01-14 20:20:12 +04:00
Andrey Breslav 330953782f Old hack removed 2013-01-14 20:20:12 +04:00
Andrey Breslav 2c3a955074 Retrieve JavaElementFinder from Project's extensions 2013-01-14 20:20:10 +04:00
Andrey Breslav 7c4d1e6b09 KotlinCacheManager and LightClassGenerationSupport services added 2013-01-14 20:20:09 +04:00
Andrey Breslav b5aa44ae49 GenerationState is constructed with BindingContext, not full AnalyzeExhaust 2013-01-14 15:19:50 +04:00
Andrey Breslav 39b6c53ef3 Local variable renamed 2013-01-14 15:19:50 +04:00
Evgeny Gerashchenko e03eaf6dde Removed @author javadocs from code. 2012-12-28 17:44:31 +04:00
Evgeny Gerashchenko 6c6abab033 Supported propagation for Java subclass of Kotlin class. 2012-12-07 14:41:58 +04:00
Alexander Udalov e2809b8080 Revert changes introduced in a31b7480
JavaElementFinder is no longer needed to find namespace$src$ classes
2012-10-25 21:42:09 +04:00
Alexander Udalov a8798de8d0 NamespaceCodegen.getNamespacePartInternalName()
Should be used instead of getMultiFileNamespaceInternalName()
2012-10-25 21:28:42 +04:00
Andrey Breslav 7719df1002 Properly detect Kotlin built-ins:
Built-in classes like jet.Int and jet.Iterable are loaded from source
files by KotlinBuiltIns class. It makes no sense to create JetLightClass
instances for such classes, moreover, it causes runtime failures.
Now we check the location a file was loaded from before creating a light
class, and skip if it is a built-in.

We also assert this in teh actual generation of light class bodies, and
print out OS information if something fails, because our detection strategy
may depend on OS-specific behavior.
2012-10-18 19:57:18 +04:00
Andrey Breslav 937c4e8baf BuiltinsScopeExtensionMode not needed any more
(see the changes in DefaultModuleConfiguration.java)
2012-10-17 13:48:07 +04:00
Andrey Breslav c719ae427a JetStandardClasses -> KotlinBuiltIns 2012-10-17 13:48:05 +04:00
Alexander Udalov a31b748092 JavaElementFinder now correctly finds namespace$src$ classes
No new tests added

 #KT-2839 Fixed
2012-10-10 18:11:11 +04:00
Nikolay Krasko 15a66dccef Move anonymous class to separate file 2012-09-27 18:52:59 +04:00
Nikolay Krasko 86d8be76cb EA-39162 Exception while trying to wrap method with default parameters 2012-09-27 18:52:58 +04:00