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
Nikolay Krasko
24dc31bd9a
More information about errors in wrapping functions
2012-09-27 18:52:57 +04:00
Alex Tkachman
bc1a4a1fe9
massive refactoring of CodegenUtil
...
- generation method names standartized on genXXX
- many methods moved to newly created AsmUtil
- some methods moved to CodegenContext
- got rid of almost trivial StubCodegen
2012-09-20 20:19:26 +03:00
Alex Tkachman
cf92603f2a
micro refactoring
...
- PsiCodegenPredictor moved to binding package
- CodegenUtil.findSuperCall method moved to CodegenBinding
= PsiCodegenPredictor unneeded bindingTrace parameter replaced by bindingContext
2012-09-13 08:33:07 +03:00
Nikolay Krasko
b6e2381861
EA-36473 Wrap method for JetLightClass with invalid fq name
2012-09-11 21:29:42 +04:00
Alexander Udalov
bb92655ecd
Prohibit creation of JetLightClass on built-ins
...
If we allow JetLightClass to be created on built-in types, a normal codegen
would be launched, with a mapping from Kotlin to Java types enabled, every time
IDE requests built-in classes. Codegen would then try to make something
meaningless, e.g. create a class for a primitive type (since our jet.Boolean is
mapped to primitive boolean). This would result in different exceptions when
navigating to built-in library from IDE.
Add a helpful error message to ClassFileFactory if we ever again produce
classes for primitive types.
2012-09-11 17:08:33 +04:00
Alex Tkachman
b45f19c0e2
GenerationState refactored to be (almost) immutable and methodless (modulo little protection from reuse)
...
GenerationStrategy introduced to handle separately cases of regular compilation and building of JetLightClasses (this was only real overridable behavior of GenerationState in old code)
state subpackage introduced
2012-08-30 09:33:10 +03:00
Alex Tkachman
8840a9bdd8
some static methods moved from JetTypeMapper to CodegenUtil & CodegenBinding
2012-08-29 14:30:44 +03:00
Nikolay Krasko
22794cbf64
Fix for EA-38626 - can't find class delegate for JetLightClass constructed for kotlin enum entry.
2012-08-28 19:32:46 +04:00
Andrey Breslav
08bb390820
Project is available in codegen
2012-08-24 12:18:18 +04:00
Nikolay Krasko
57d4a28a94
Remove duplicates and speeding-up PluginJetFilesProvider.allInScope
2012-08-23 15:53:41 +04:00
Nikolay Krasko
84a6c63d07
Remove some unused methods from QualifiedNamesUtil
2012-08-14 19:31:21 +04:00
Nikolay Krasko
b5357d8738
Compile against 122.29 idea eap
2012-08-14 13:19:08 +04:00