Commit Graph

2618 Commits

Author SHA1 Message Date
Ilya Ryzhenkov 480dd6767c Convert module scripting to .ktm extension. 2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov 98c54f39bb Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov 9239fa2ece ScriptName now returns FqName, fully qualified with package name. Update usages and convert to internal format as needed. 2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov e49f4a0722 Marked scripting points with // SCRIPT: markers. 2014-03-24 18:17:49 +04:00
Pavel V. Talanov a1dbf221b3 Use instance methods instead of JetPsiUtil for getting fq names
Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
2014-03-24 17:51:49 +04:00
Alexander Udalov 0b5e9527d1 Add a code conformance test against com.beust.jcommander.internal.* 2014-03-24 16:40:07 +04:00
Mikhael Bogdanov ca4609dd2a Support inline true/false options 2014-03-20 17:50:52 +04:00
Alexander Udalov 7d311cdfa0 Support named arguments for Java constructors annotated with KotlinSignature 2014-03-20 12:49:16 +04:00
Svetlana Isakova 75fbecceda Improved error reporting for invoke on expression 2014-03-20 10:06:02 +04:00
Svetlana Isakova a829da185d Resolve invoke on any kind of expressions, not only on simple name expressions 2014-03-20 10:05:24 +04:00
Alexander Udalov 1c5df773c5 Disallow named arguments for Java methods
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Alexander Udalov 5fa1774cc1 Support hasStableParameterNames in KotlinSignature and propagation
#KT-1924 In Progress
 #KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Alexander Udalov 7fcd42f40c Fix annoying parameter name override warning
Some corner cases still remain: KotlinSignature, propagation, deserialized
delegates to Java interfaces

 #KT-1239 Obsolete
 #KT-1924 In Progress
 #KT-2081 Fixed
2014-03-19 23:24:27 +04:00
Alexander Udalov 7b7619d1f3 Refactor CompileKotlinAgainstCustomBinariesTest
Make all filenames start with lowercase letter (instead of half lower / half
upper)
2014-03-19 23:24:27 +04:00
Mikhael Bogdanov 93367ffd3b Generate local variable table for inlined lambda 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov d059467727 Write line numbers for inlined lambdas 2014-03-19 19:20:35 +04:00
Mikhael Bogdanov 001945cd12 Fix for duplicated fields in regenerated lambda 2014-03-19 11:41:05 +04:00
Andrey Breslav b72bcfd8ae Type bounds check for class headers moved to DeclarationsChecker 2014-03-17 21:55:15 +04:00
Andrey Breslav 8be40c29cf CYCLIC_INHERITANCE_HIERARCHY reworked
We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
2014-03-17 21:55:15 +04:00
Alexander Udalov 8b18309b01 Don't write "ResolvedCall<? extends CallableDescriptor>"
ResolvedCall has a type parameter D which extends CallableDescriptor.
Hence in Java "ResolvedCall<? extends CallableDescriptor>" = "ResolvedCall<?>"

The same story with these classes:
- ResolutionTask
- CallCandidateResolutionContext
- OverloadResolutionResults
2014-03-17 19:09:09 +04:00
Alexander Udalov 7a2fce4fba Add regression tests for obsolete issues
#KT-2592 Obsolete
 #KT-2768 Obsolete
2014-03-16 03:18:26 +04:00
Svetlana Isakova 604e062f91 Fixed assertion error for incomplete code. 2014-03-13 19:09:01 +04:00
Mikhael Bogdanov 2dcc0bce46 Inline refactoring: more templates for captured fields
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Natalia Ukhorskaya 4a8bcc614a Resolve compileTimeInitializer for variable in lazy resolve 2014-03-13 10:07:18 +04:00
Natalia Ukhorskaya df3ed5059c StorageManager for compile-time initializer 2014-03-13 10:07:12 +04:00
Natalia Ukhorskaya 74c4234c64 Add test for kotlin compiled property as annotation parameter 2014-03-13 10:07:10 +04:00
Natalia Ukhorskaya 9b5050dddd Serialize compile time constant for property initializer 2014-03-13 10:07:08 +04:00
Natalia Ukhorskaya bb7312b47f Render property constant 2014-03-13 10:07:07 +04:00
Natalia Ukhorskaya 6089f5e3ef Remove DescriptorSerializationTest 2014-03-13 10:07:03 +04:00
Natalia Ukhorskaya 9672026a53 Add a superclass for byte, short, int, long compile-time constants 2014-03-13 10:07:01 +04:00
Svetlana Isakova 4771986b32 KT-4656 Wrong capturing a function literal variable.
#KT-4656 Fixed
 Reference for calleeExpression is recorded only in 'doResolveCallOrGetCachedResults'.
2014-03-08 20:55:45 +04:00
Svetlana Isakova 5d77ae075c rename: in -> incoming, out -> outgoing 2014-03-07 21:08:19 +04:00
Svetlana Isakova b7f7063bf4 improved postProcess
collect (and cache) reachable instructions for local declarations
after processing all parent instructions
2014-03-07 21:08:18 +04:00
Svetlana Isakova fbbfb95861 added 'mergeDataWithLocalDeclarations' option
for collecting variable data for pseudocode

  removed using data from outer context
  for local declarations for 'variable initializers' analysis
2014-03-07 21:08:18 +04:00
Svetlana Isakova eed3dec539 rewrote PseudocodeTraverser to kotlin 2014-03-07 21:08:18 +04:00
Svetlana Isakova 18eaf483d3 added test for pseudocode memory overhead 2014-03-07 21:08:18 +04:00
Svetlana Isakova 7d46ff951e Jump after 'for' cycle to loop parameter change.
Not to the cycle body.
2014-03-07 21:08:17 +04:00
Svetlana Isakova e34385bbcf added tests to DataFlowTest
to be able to compare difference in the next commit
2014-03-07 21:08:17 +04:00
Svetlana Isakova 006f3ccbe9 Added/updated tests for LexicalScope. 2014-03-07 21:08:16 +04:00
Svetlana Isakova 6857694d1a added 'getParent' to Pseudocode
fixed DataFlowInfoTest:
variable data shouldn't be built for locals as independent declarations
2014-03-07 21:08:16 +04:00
Svetlana Isakova 88f2c32724 added DataFlowInfoTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova ab9e470ea9 check edges directions only in ControlFlowTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova 547ee304b6 returned AbstractControlFlowTest
as a subclass of AbstractPseudocodeTest
  moved code to it
2014-03-07 21:08:16 +04:00
Svetlana Isakova 9cb8d17be7 rename AbstractControlFlowTest -> AbstractPseudocodeTest
to make later ControlFlowTest a subclass and preserve a history of the file
2014-03-07 21:08:15 +04:00
Svetlana Isakova 8efd31ffe0 refactoring: added 'getInstructionData' parameter
to 'dumInstructions'
 to be able to dump any instruction data later
2014-03-07 21:08:15 +04:00
Svetlana Isakova 04947fa6a9 refactoring: extracted 'checkPseudocode' 2014-03-07 21:08:15 +04:00
Svetlana Isakova 5de4c5965c removed unused methods 2014-03-07 21:08:15 +04:00
Svetlana Isakova b9c7e1e328 refactoring: extracted methods
computeInstructionColumnWidth,
computeNextInstructionsColumnWidth
2014-03-07 21:08:15 +04:00
Svetlana Isakova 010937525b extracted CFGraphToDotFilePrinter 2014-03-07 21:08:15 +04:00
Svetlana Isakova 1fc4573a8c removed duplication of pseudocode in tests
for local functions
2014-03-07 21:08:15 +04:00