Dmitry Petrov
59472927cd
KT-11588 Type aliases
...
Light class generation: do not fail on type aliases
TODO: actual binary representation for type aliases
2016-05-20 14:17:24 +03:00
Stanislav Erokhin
8c2d68fff0
Refactoring. Move specificity relations into TypeSpecificityComparator component.
2016-05-20 09:32:53 +03:00
Denis Zharkov
ef940ab0df
Add new 'HiddenInResolution' kind
...
It's used to hide additional built-ins members loaded from JDK
Such methods can be overridden and called only with 'super'-receiver
2016-05-16 15:38:13 +03:00
Denis Zharkov
1501a042e9
Add possibility to add annotations when building FunctionDescriptor copy
...
It's being used in next commits to add Deprecated annotation
to unknown additional built-ins members
2016-05-16 15:38:13 +03:00
Alexander Udalov
d85884426e
Minor optimization of lookup tracker records
2016-04-29 15:21:26 +03:00
Valentin Kipyatkov
b551886889
Code cleanup: removed redundant semicolons
2016-04-29 11:26:25 +03:00
Stanislav Erokhin
5fe48313e9
Refactoring. Merge CustomSubstitutionCapability, CustomFlexibleRendering and RawTypeTag into RawTypeCapability.
2016-04-27 14:13:58 +03:00
Denis Zharkov
5bc5722051
Load additional JDK functions into built-ins member scope
...
#KT-5990 Fixed
#KT-7127 Fixed
#KT-10370 Fixed
2016-04-25 17:41:08 +03:00
Denis Zharkov
f104be16cf
Minor. Keep substitution in CopyConfiguration instead of originalSubstitutor
2016-04-25 17:41:08 +03:00
Denis Zharkov
5bf39689e9
Replace irrelevant usages of JvmBuiltIns.Instance with DefaultBuiltIns.Instance
2016-04-25 17:41:08 +03:00
Denis Zharkov
c667f50741
Delete TargetPlatform.builtins
...
Replace it's usages with relevant singleton reference
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
Denis Zharkov
c4a899d9a4
Get rid of some targetPlatform.builtIns usages
...
Retrieve builtIns from module itself when adding dependencies on them
2016-04-25 17:41:08 +03:00
Stanislav Erokhin
a1d052b8fa
Refactoring. Remove FlexibleTypeFactory.DEFAULT and refactor flexible type creation by special fq-name for tests.
2016-04-25 15:28:46 +03:00
Stanislav Erokhin
0a4ad3f267
Refactoring. Rename FlexibleTypeCapabilities -> FlexibleTypeFactory. Also use factory.create instead of DelegatingFlexibleType.create.
2016-04-25 15:28:46 +03:00
Alexander Udalov
ad068ed4ac
Do not call findKotlinClass when loading class annotations
...
The main change is in AbstractBinaryClassAnnotationAndConstantLoader, where we
no longer perform unnecessary IO operations for classes which are already
loaded to memory
2016-04-14 21:08:36 +03:00
Alexander Udalov
2ab68d53fa
J2K KotlinJvmBinaryClass & AnnotationAndConstantLoader: convert
2016-04-14 21:08:36 +03:00
Alexander Udalov
8ace253559
Minor, remove paragraph symbols from comments
...
This character seems to cause problems on some build agents
2016-04-11 16:11:25 +03:00
Dmitry Petrov
db58ebc4b2
KT-11410: Class hierarchy for parts/facade of multi-file class.
...
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.
NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Pavel V. Talanov
d7dc122298
KT-11721 Wrong "Typechecker has run into recursive problem" on calling kotlin get function as synthetic property
...
#KT-11721 Fixed
2016-03-31 19:33:04 +03:00
Denis Zharkov
1511a03027
Fix SAM adapters substitution
...
Approximate sourceFunction types if it's needed
#KT-11696 Fixed
2016-03-31 14:52:12 +03:00
Denis Zharkov
bc1b34a989
Add additional visibility check for synthetic extensions
...
Use extension receiver as dispatch one, because it is effectively dispatch
(after some desugaring)
2016-03-31 14:51:57 +03:00
Denis Zharkov
182b349492
Clarify Visibility.isVisible contract for null as receiverValue
...
See comment
2016-03-31 14:51:57 +03:00
Alexander Udalov
8316953259
Fix double quotes in diagnostic messages
...
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.
For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Alexander Udalov
a8bebeb48d
Load annotations of const properties from multifile classes
...
Rework backing field generation logic in PropertyCodegen to switch the
ClassBuilder instance for a multifile part to that of the corresponding facade
class. This became needed because multifile parts, and their metadata, are
generated _before_ the multifile facade class and otherwise we would never
record that there's a synthetic '$annotations' method for a const val and would
not write that to the protobuf message for the property.
See also bad83200
#KT-10892 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov
d62535c388
Minor, drop unnecessary workaround of obsolete issue
2016-03-28 14:14:56 +03:00
Alexander Udalov
e915e1548c
Fix multiple 'unresolved java classifier' errors
...
Use the same component (NotFoundClasses) as in loading of compiled Kotlin
symbols.
Some tests were changed to avoid a diagnostic that is now reported when a
non-found class is encountered in a signature (e.g. staticMethod.1.java where
JDK seems to be not configured)
#KT-10493 Fixed
#KT-10820 Fixed
#KT-11368 Fixed
2016-03-28 14:13:59 +03:00
Alexander Udalov
db5e00bcc0
Report error if some deserialized classes are missing in dependencies
...
Technically we often can compile code which uses missing classes (as long as
nothing is called on them) but it seems better to let the user know something's
wrong in their setup before the error manifests itself at runtime. Also the
Java compiler does the same
#KT-4328 Fixed
2016-03-28 14:13:59 +03:00
Alexander Udalov
3944d56ac2
Minor, remove unnecessary type parameter in CallChecker#check
2016-03-28 14:13:59 +03:00
Nikolay Krasko
00239914fa
Minor: refactoring
2016-03-25 14:10:41 +03:00
Ilya Gorbunov
1ae0040ca3
Minor: make variables initialized in defineClass lateinit instead of nullable.
2016-03-21 18:37:27 +03:00
Natalia Ukhorskaya
589d7007fc
Skip additional visibility check for java classes in debug mode
2016-03-18 15:19:03 +03:00
Alexander Udalov
0fd8bec2ef
Convert Java model to Kotlin, put in several files
...
Also move JavaPropertyInitializerEvaluator to ../components/
2016-03-18 14:48:58 +03:00
Alexander Udalov
0d74fc2290
Minor cleanup in Java model: fix warnings, remove unused
2016-03-18 14:48:57 +03:00
Alexander Udalov
0a54464420
Minor, JavaClass#getOriginKind -> isKotlinLightClass
2016-03-18 14:48:56 +03:00
Alexander Udalov
0ba0e2b10d
Delete JavaTypeSubstitutorImpl, use PsiSubstitutor in JavaClassImpl
...
Also delete related tests
2016-03-18 14:48:56 +03:00
Alexander Udalov
291c713d8b
Cleanup JavaElement model from methods used only in substitutor
...
Downcast everything used in JavaTypeSubstitutorImpl to *Impl, remove methods
from interfaces, inline/move some of them
2016-03-18 14:48:55 +03:00
Alexander Udalov
26bf0dca13
Remove interface JavaTypeSubstitutor, use implementation
...
After 151e55b JavaTypeSubstitutor is only used from inside PSI-based
implementation of Java structure
2016-03-18 14:48:55 +03:00
Denis Zharkov
26081bf817
Support loading Java annotations with TYPE_PARAMETER target
2016-03-16 20:23:01 +03:00
Denis Zharkov
78c9dffe00
Refine return type of MemberScope.getContributedFunctions
2016-03-16 20:22:58 +03:00
Alexander Udalov
4f77b02a58
Rename 'ins' -> 'Ins' in BuiltinsPackageFragment and related classes
2016-03-14 20:41:46 +03:00
Alexander Udalov
11409ec6cf
Move some function type utilities from descriptors to frontend
2016-03-14 19:45:09 +03:00
Alexander Udalov
2ce661af98
Rename KotlinBuiltIns.getFunctionType -> createFunctionType, move to functionTypes.kt
2016-03-14 19:24:06 +03:00
Mikhail Glukhikh
f76efb68f2
Strictfp on a class is now a warning #KT-11109 Fixed
2016-03-12 13:17:11 +03:00
Denis Zharkov
151e55b2fa
Use descriptors for building SAM constructors
...
It helps to get rid of semantics duplicating and fixes known bugs
- SOE in OnlyAbstractMethodFinder.find
- type enhancement for SAM constructors
#KT-11287 Fixed
#KT-11322 Fixed
EA-77989 Fixed
2016-03-10 16:49:00 +03:00
Alexander Udalov
bab127ad33
Remove some legacy codegen tests, move some to generated
2016-03-09 10:25:38 +03:00
Alexander Udalov
4553afbd0c
Make PropertyAccessorDescriptor#hasBody a front-end utility
2016-03-03 16:08:18 +03:00
Denis Zharkov
56a2561ab9
Extract JvmMethodGenericSignature from JvmMethodSignature
2016-03-02 13:38:46 +03:00
Denis Zharkov
7bd8fa0b48
Optimize signature propagation
...
Do not collect super function with trivial signature
2016-03-02 13:38:46 +03:00
Denis Zharkov
d66b9a08dd
Do not map generic signature if it's unnecessary
2016-03-02 13:38:46 +03:00