Commit Graph

15574 Commits

Author SHA1 Message Date
Andrey Breslav 773cb9efbe Signature comparison used to find super functions in SignaturesPropagationData
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Andrey Breslav 44849f8504 Move JvmMethodSignature to frontend.java 2014-05-21 15:26:04 +04:00
Mikhael Bogdanov a622638e45 Code clean 2014-05-21 13:56:09 +04:00
Mikhael Bogdanov 6ad2814b01 Suppot inlining default methods, inlining function into its default. 2014-05-21 13:56:09 +04:00
Mikhael Bogdanov b3fef4a7a0 Substitute Call with JetElement in InliningContext to support default inlining (there is no call) 2014-05-21 13:56:08 +04:00
Mikhael Bogdanov 086208f7b9 Code clean 2014-05-21 13:56:08 +04:00
Mikhael Bogdanov d73ffc2f48 Diagnostic update to support default parameters in inline methods 2014-05-21 13:56:08 +04:00
Andrey Breslav 3bd1329846 Fix file name case 2014-05-21 13:38:08 +04:00
Andrey Breslav 269e4ae828 SwapBinaryExpression: implementation cleaned up, tests renamed
#KT-4868 Fixed
2014-05-21 12:56:43 +04:00
Lingzhang acf1dc1912 KT-4868 Bug Fix for Swap Binary Expression Intention 2014-05-21 12:56:39 +04:00
Natalia Ukhorskaya 7e66d67b95 EvaluateExpression: pass invokePolicy flag to eval4j 2014-05-21 12:26:58 +04:00
Natalia Ukhorskaya 51b95181f0 Eval4j: add invokePolicy flag to jdiEval 2014-05-21 12:26:58 +04:00
Alexander Udalov 9c04c9ea38 Fix stdlib tests on JVM
#KT-5064 Open
2014-05-21 02:04:36 +04:00
Alexander Udalov af3d56b44e Fix JVM type mapping of arrays of type variables
#KT-4262 Fixed
 #KT-5056 Fixed
2014-05-20 19:22:53 +04:00
Alexander Udalov 4e8d6d4882 Report ABI version errors before diagnostics and other errors
Otherwise they're difficult to find in the end of the compiler messages
2014-05-20 19:22:53 +04:00
Valentin Kipyatkov c56b5bfd61 Added 2 tests 2014-05-20 18:56:48 +04:00
Valentin Kipyatkov 5ce3df4845 KT-5025 Unnecessary qualifier inserted for class
#KT-5025 Fixed
2014-05-20 18:56:48 +04:00
Natalia Ukhorskaya 58b82baa2b Remove unnecessary error report from extract function 2014-05-20 16:12:55 +04:00
Natalia Ukhorskaya d263621ef5 Evaluate expression: refactor error messages 2014-05-20 16:12:53 +04:00
Natalia Ukhorskaya 47ecfd0f8d Evaluate expression: rethrow exceptions from evaluate expression 2014-05-20 15:38:14 +04:00
Svetlana Isakova cab8709f1c Rename: JetNodeTypes.LABEL_REFERENCE -> LABEL
There is LABEL_REFERENCE node in LabeledExpression, but it isn't a reference there
2014-05-20 15:07:03 +04:00
Svetlana Isakova e0f37bbef0 Generate parse error on label without name '@' 2014-05-20 15:07:03 +04:00
Svetlana Isakova f109cfc303 Replaced PrefixExpression with LabeledExpression
where labeled expression is used

Added 'visitLabeledExpression'
2014-05-20 15:07:02 +04:00
Svetlana Isakova 04729f5985 Added JetLabeledExpression; added support to parser 2014-05-20 15:07:01 +04:00
Svetlana Isakova f187c4f093 Minor: added annotation, used util method 2014-05-20 15:07:01 +04:00
Svetlana Isakova 07c0d87a8f Rename
JetLabelQualifiedExpression -> JetExpressionWithLabel
JetLabelQualifiedInstanceExpression -> JetInstanceExpressionWithLabel
2014-05-20 15:07:00 +04:00
Svetlana Isakova 9b70ab7d16 Removed AT, ATAT tokens
Checks 'in LABELS token set' replaced with LABEL_IDENTIFIER equality
2014-05-20 15:07:00 +04:00
Svetlana Isakova 012953529c Don't parse @, @@ as independent tokens
Regenerated lexer
2014-05-20 15:06:59 +04:00
Svetlana Isakova 69e5444ddf Added tests on labels
#KT-1703 Fixed
 #KT-361 Fixed
 #KT-3920 Fixed
 #KT-3988 Fixed
 #KT-4247 Fixed
 #KT-4586 Fixed
 #KT-4603 Fixed
 #KT-591 Fixed
2014-05-20 15:06:59 +04:00
Svetlana Isakova a02af7344e LabelResolver refactoring: rename public methods
resolveLabel -> resolveControlLabel
resolveThisLabel -> resolveThisOrSuperLabel
+ small improvements
2014-05-20 14:58:50 +04:00
Svetlana Isakova 8c8db832f1 LabelResolver refactoring: removed 'reportUnresolved' parameter 2014-05-20 14:58:50 +04:00
Svetlana Isakova 2952ff558a Made LabelResolver a singleton 2014-05-20 14:58:50 +04:00
Svetlana Isakova f3f2bf5123 Removed cache for labeled elements
Resolve labels on the fly
2014-05-20 14:58:50 +04:00
Svetlana Isakova 3bcdbee2bf Removed LabelName class, used Name instead 2014-05-20 14:58:49 +04:00
Alexander Udalov 98f80fe1e0 Increase ABI version after changes to FunctionImpl* classes 2014-05-19 19:50:59 +04:00
Alexander Udalov 54c21ffbf3 Delete K*FunctionNImpl classes
In favor of KFunctionImpl, KMemberFunctionImpl and KExtensionFunctionImpl
2014-05-19 19:50:59 +04:00
Alexander Udalov 8f7c0f0b65 Introduce KFunctionImpl, KMemberFunctionImpl, KExtensionFunctionImpl
Old 23*3 classes will be dropped, since they have no value.

Simplify JvmFunctionImplTypes significantly because of that
2014-05-19 19:50:59 +04:00
Alexander Udalov ccead8e337 Replace some usages of ERROR_CLASS with new instance creation
Because when some class is unresolved, we can still hold some information such
as its FQ name, for debugging purposes and better error messages
2014-05-19 19:50:59 +04:00
Alexander Udalov 54a44b1533 Introduce AbstractTypeParameterDescriptor
- pull the logic up from TypeParameterDescriptorImpl and
  AbstractLazyTypeParameterDescriptor (it was mostly duplicated)
- delete some unused methods
2014-05-19 19:50:59 +04:00
Alexander Udalov 31e8622471 Remove suspicious JetTypeImpl constructors
Most of the time they were used for classes without type parameters, and
getDefaultType() is supposed to be used there (additionally it may be cached)
2014-05-19 19:50:59 +04:00
Alexander Udalov 3ffa7cdcf8 Minor optimization in KotlinBuiltIns.isSpecialClassWithNoSupertypes 2014-05-19 19:50:58 +04:00
Alexander Udalov 5fdb9e6218 Change logic of loading "suppress" annotation class descriptor
Instead of loading the descriptor and checking equals(), we now check if the
annotation is in fact "suppress" by simply comparing its FQ name. This allows
us to suppress warnings while compiling built-ins: the problem is that
built-ins have its own "suppress" annotation class (defined in the sources)
which differs from the one loaded by the compiler (from kotlin-compiler.jar)
2014-05-19 19:50:58 +04:00
Alexander Udalov 5488a8402f Move and rename KFunctionImpl classes
Move from package "kotlin.reflect" to "kotlin.reflect.jvm.internal". They are
internal detail of the compiler and should not be used directly (especially now
that "kotlin.reflect" is in default import paths).

Also rename "KFunctionImplN" to "KFunctionNImpl", because this name makes more
sense
2014-05-19 19:50:58 +04:00
Alexander Udalov de8b2b3668 Fix generic signature for SAM adapters and constructors
SAM-related code in codegen was using JavaClassDescriptor directly, which has
an erased signature. Create and use a new abstraction SamType which has a full
generic signature of a type which was used in the SAM construct
2014-05-19 19:50:58 +04:00
Alexander Udalov 51a16fe491 Drop FunctionImplN and ExtensionFunctionImplN
We have FunctionImpl and ExtensionFunctionImpl classes now (2 classes, not 46)
2014-05-19 19:50:58 +04:00
Alexander Udalov 41eb0deaa0 Introduce FunctionImpl and ExtensionFunctionImpl classes
Old FunctionImpl0,1,2,... will be dropped since they had no purpose
2014-05-19 19:50:58 +04:00
Alexander Udalov 845e3323f9 Create error type if reflection class isn't found
Introduce a new diagnostic fired when reflection types aren't found in the
classpath
2014-05-19 19:50:57 +04:00
Alexander Udalov 9503056dd5 Add default import "kotlin.reflect" 2014-05-19 19:50:57 +04:00
Alexander Udalov 0c2c203e96 Move KFunctionN classes to package "kotlin.reflect" 2014-05-19 19:50:57 +04:00
Alexander Udalov 3dc92c209f Don't compile Java sources of built-ins
Module 'builtins' no longer has (and is not supposed to have) Java sources
2014-05-19 19:50:57 +04:00