现代化的JVM语言 Kotli v1.0.2发布

jopen 8年前
   <p><img alt="" src="https://simg.open-open.com/show/433cc3c79f034137a93c6e635baa7772.png" /></p>    <p> 2010年,长达是十年之久的Java开发让JetBrains的工程师认为老旧的Java语言已经严重阻碍了生产力。他们认为是时候开发一款现代化的JVM语言了,这也是因为他们有足够的资源和专家。本身做各种IDEs起家的JetBrains就开始着手新工具的开发——一个编程语言。</p>    <p> Kotlin可以通过versa调用Java方法,源码可在同一项目中混合使用,甚至生成的.class文件完全兼容Java工具。JetBrains内部现在已经有一个超过20个开发人员的团队使用Kotlin开发。 目前已经有大量的开发人员使用Kotlin开发web服务后端和Android应用。</p>    <h2>更新日志</h2>    <p>Analysis & diagnostics</p>    <ul>     <li><a href="/misc/goto?guid=4958990342360295505">KT-7437</a>, <a href="/misc/goto?guid=4958990342466744796">KT-7971</a>, <a href="/misc/goto?guid=4958990342565741936">KT-7051</a>, <a href="/misc/goto?guid=4958990342663126732">KT-6125</a>, <a href="/misc/goto?guid=4958990342767840288">KT-6186</a>, <a href="/misc/goto?guid=4958990342888457595">KT-11649</a> Implement missing checks for protected visibility</li>     <li><a href="/misc/goto?guid=4958990342984814202">KT-11666</a> Report "Implicit nothing return type" on non-override member functions</li>     <li><a href="/misc/goto?guid=4958990343084113664">KT-4328</a>, <a href="/misc/goto?guid=4958990343193815444">KT-11497</a>, <a href="/misc/goto?guid=4958990343297183400">KT-10493</a>, <a href="/misc/goto?guid=4958990343396783744">KT-10820</a>, <a href="/misc/goto?guid=4958990343495564153">KT-11368</a> Report error if some classes were not found due to missing or conflicting dependencies</li>     <li><a href="/misc/goto?guid=4958990343606907419">KT-11280</a> Do not perform smart casts for values with custom <code>equals</code> compared with <code>==</code></li>     <li><a href="/misc/goto?guid=4958990343709135475">KT-3856</a> Fix wrong "inner class inaccessible" diagnostic for extension to outer class</li>     <li><a href="/misc/goto?guid=4958990343807497074">KT-3896</a>, <a href="/misc/goto?guid=4958990343910311558">KT-3883</a>, <a href="/misc/goto?guid=4958990344010006151">KT-4986</a> <code>do...while (true)</code> is now considered an infinite loop</li>     <li><a href="/misc/goto?guid=4958990344117678581">KT-10445</a> Prohibit initialization of captured <code>val</code> in lambda or in local function</li>     <li><a href="/misc/goto?guid=4958990344223942099">KT-10042</a> Correctly handle local classes and anonymous objects in control flow analysis</li>     <li><a href="/misc/goto?guid=4958990344362374992">KT-11043</a> Prohibit complex expressions with class literals in annotation arguments</li>     <li><a href="/misc/goto?guid=4958990344497231095">KT-10992</a>, <a href="/misc/goto?guid=4958990344633788680">KT-11007</a> Fix multiple problems related to smart casts</li>     <li><a href="/misc/goto?guid=4958990344774470061">KT-11490</a> Prohibit nested intersection types in return position</li>     <li><a href="/misc/goto?guid=4958990344909585900">KT-11411</a> Report "illegal noinline/crossinline" on parameter of subtype of function type</li>     <li><a href="/misc/goto?guid=4958990345052652748">KT-3083</a> Report "conflicting overloads" for functions with parameter of type parameter type</li>     <li><a href="/misc/goto?guid=4958990345175538918">KT-7265</a> Parse anonymous functions in blocks as expressions</li>     <li><a href="/misc/goto?guid=4958990345312731694">KT-8246</a> Handle break/continue for outer loop correctly in case of try/finally in between</li>     <li><a href="/misc/goto?guid=4958990345431184095">KT-11300</a> Report error on increment or augmented assignment when <code>get</code> is an operator but <code>set</code> is not</li>     <li>Report warning about unused anonymous functions</li>     <li>Improve callable reference type in some ambiguous cases</li>     <li>Improve multiple diagnostic messages: <a href="/misc/goto?guid=4958990345564812081">KT-10761</a>, <a href="/misc/goto?guid=4958990345694960990">KT-9760</a>, <a href="/misc/goto?guid=4958990345831703108">KT-10949</a>, <a href="/misc/goto?guid=4958990345946640655">KT-9887</a>, <a href="/misc/goto?guid=4958990346066576116">KT-9550</a>, <a href="/misc/goto?guid=4958990346180561696">KT-11239</a>, <a href="/misc/goto?guid=4958990346298081659">KT-11819</a></li>     <li>Fix several compiler bugs leading to exceptions: <a href="/misc/goto?guid=4958990346427435770">KT-9820</a>, <a href="/misc/goto?guid=4958990346544529861">KT-11597</a>, <a href="/misc/goto?guid=4958990346664566495">KT-10983</a>, <a href="/misc/goto?guid=4958990346789259777">KT-10972</a>, <a href="/misc/goto?guid=4958990346891984385">KT-11287</a>, <a href="/misc/goto?guid=4958990347020961964">KT-11492</a>, <a href="/misc/goto?guid=4958990347125925665">KT-11765</a>, <a href="/misc/goto?guid=4958990347251955782">KT-11869</a></li>    </ul>    <p>JVM code generation</p>    <ul>     <li><a href="/misc/goto?guid=4958990347374651406">KT-8269</a>, <a href="/misc/goto?guid=4958990347497124963">KT-9246</a>, <a href="/misc/goto?guid=4958990347627561991">KT-10143</a> Fix visibility of protected classes in bytecode</li>     <li><a href="/misc/goto?guid=4958990347738482443">KT-11363</a> Fix potential binary compatibility breakage on using <code>when</code> over enums in inline functions</li>     <li><a href="/misc/goto?guid=4958990347848718562">KT-11762</a> Fix VerifyError caused by explicit loop variable type</li>     <li><a href="/misc/goto?guid=4958990347963759311">KT-11645</a> Fix NoSuchFieldError on private const property in multi-file class</li>     <li><a href="/misc/goto?guid=4958990348062617153">KT-9670</a> Optimize Class <-> KClass wrapping/unwrapping when getting values from annotation</li>     <li><a href="/misc/goto?guid=4958990348167039157">KT-6842</a> Optimize unnecessary boxing and interface calls on iterating over ranges</li>     <li><a href="/misc/goto?guid=4958990348255777457">KT-11025</a> Don't inline const val properties in non-annotation contexts</li>     <li><a href="/misc/goto?guid=4958990348349235283">KT-5429</a> Write nullability annotations on extension receiver parameters</li>     <li><a href="/misc/goto?guid=4958990348434436673">KT-11347</a> Preserve source file and line number of call site when inlining certain standard library functions</li>     <li><a href="/misc/goto?guid=4958990348548810035">KT-11677</a> Write correct generic signatures for local classes in inlined lambdas</li>     <li><a href="/misc/goto?guid=4958990348667694481">KT-12127</a> Do not write unnecessary generic signature for property delegate backing field</li>     <li>Fix multiple issues leading to exceptions or bad bytecode being generated: <a href="/misc/goto?guid=4958990348780391331">KT-11034</a>, <a href="/misc/goto?guid=4958990348898102338">KT-11519</a>,<a href="/misc/goto?guid=4958990349018084835">KT-11117</a>, <a href="/misc/goto?guid=4958990349116836111">KT-11479</a></li>    </ul>    <p>Java interoperability</p>    <ul>     <li><a href="/misc/goto?guid=4958990349216591988">KT-3068</a> Load contravariantly projected collections in Java (<code>List<? super T></code>) as mutable collections in Kotlin (<code>MutableList<in T></code>)</li>     <li><a href="/misc/goto?guid=4958990349325393028">KT-11322</a> Do not lose type nullability information in SAM constructors</li>     <li><a href="/misc/goto?guid=4958990349425919756">KT-11721</a> Fix wrong "Typechecker has run into recursive problem" error on calling Kotlin get function as synthetic Java property</li>     <li><a href="/misc/goto?guid=4958990349527148025">KT-10691</a> Fix wrong "Inherited platform declarations clash" error on inheritance from generic Java class with overloaded methods</li>    </ul>    <p>Command line compiler</p>    <ul>     <li><a href="/misc/goto?guid=4958990349633334988">KT-9546</a> Flush stdout and stderr before shutdown when executing scripts</li>     <li><a href="/misc/goto?guid=4958990349724234229">KT-10605</a> Disable colored output on certain platforms to prevent crashes</li>     <li>Report warning instead of error on unknown "-X" flags</li>     <li>Remove the compiler option "Xmultifile-facades-open"</li>    </ul>    <p>Compiler daemon</p>    <ul>     <li>Reduce read disk activity</li>     <li>Fix compiler daemon JAR cache clearing on IDEA Ultimate</li>    </ul>    <h3>Standard library</h3>    <ul>     <li><a href="/misc/goto?guid=4958990349818200772">KT-11410</a> Reduce method count of the standard library by ~2k</li>     <li><a href="/misc/goto?guid=4958990349915337308">KT-9990</a> Optimize snapshot operations to return special collection implementations when result is empty or has single element</li>     <li><a href="/misc/goto?guid=4958990350006965173">KT-10794</a> EmptyList now implements RandomAccess</li>     <li><a href="/misc/goto?guid=4958990350095365978">KT-10821</a> Create at most one wrapper sequence for adjacent drop/take operations on sequences</li>     <li><a href="/misc/goto?guid=4958990350182120526">KT-11301</a> Make Map.plus accept Map out-projected by key type as either operand (receiver or parameter)</li>     <li><a href="/misc/goto?guid=4958990350278404088">KT-11485</a> Remove implementations of some internal intrinsic functions</li>     <li><a href="/misc/goto?guid=4958990350358882809">KT-11648</a> Add deprecated extension MutableList.remove to redirect to valid function removeAt</li>     <li><a href="/misc/goto?guid=4958990350434267354">KT-11348</a> kotlin.test: Make inline methods <code>todo</code> and <code>currentStackTrace</code> <code>@InlineOnly</code> not to lose stack trace</li>     <li><a href="/misc/goto?guid=4958990350515236057">KT-11745</a> Rename parameters of <code>String.subSequence</code> to match those of <code>CharSequence.subSequence</code></li>     <li><a href="/misc/goto?guid=4958990350616549419">KT-10953</a> Clarify parameter order of lambda function parameter of <code>*Indexed</code> functions</li>     <li><a href="/misc/goto?guid=4958990350700380148">KT-10198</a> Improve docs for <code>binarySearch</code> functions</li>     <li><a href="/misc/goto?guid=4958990350797042452">KT-9786</a> Improve docs for <code>trimIndent</code>/<code>trimMargin</code></li>    </ul>    <h3>Reflection</h3>    <ul>     <li><a href="/misc/goto?guid=4958990350881670515">KT-9952</a> Improve <code>toString()</code> for lambdas and function expressions when kotlin-reflect.jar is available</li>     <li><a href="/misc/goto?guid=4958990350963023020">KT-11433</a> Fix multiple resource leaks by closing InputStream instances</li>     <li><a href="/misc/goto?guid=4958990351054720221">KT-8131</a> Fix exception from calling <code>KProperty.javaField</code> on a subclass</li>     <li><a href="/misc/goto?guid=4958990351140610733">KT-10690</a> Support <code>javaMethod</code> and <code>kotlinFunction</code> for top level functions in a different file</li>     <li><a href="/misc/goto?guid=4958990351231708326">KT-11447</a> Support reflection calls to multifile class members</li>     <li><a href="/misc/goto?guid=4958990351311409985">KT-10892</a> Load annotations of const properties from multifile classes</li>     <li><a href="/misc/goto?guid=4958990351410566601">KT-11258</a> Don't crash on requesting members of Java collection classes</li>     <li><a href="/misc/goto?guid=4958990351492010129">KT-11502</a> Clarify KClass equality</li>    </ul>    <h3>JS</h3>    <ul>     <li><a href="/misc/goto?guid=4958990351574008999">KT-4124</a> Support nested classes</li>     <li><a href="/misc/goto?guid=4958990351660477052">KT-11030</a> Support local classes</li>     <li><a href="/misc/goto?guid=4958990351749270379">KT-7819</a> Support non-local returns in local lambdas</li>     <li><a href="/misc/goto?guid=4958990351836411398">KT-6912</a> Safe calls (<code>x?.let { it }</code>) are now inlined</li>     <li><a href="/misc/goto?guid=4958990351928913320">KT-2670</a> Support unsafe casts (<code>as</code>)</li>     <li><a href="/misc/goto?guid=4958990352014560710">KT-7016</a>, <a href="/misc/goto?guid=4958990352101770562">KT-8012</a> Fix <code>is</code>-checks for reified type parameters</li>     <li><a href="/misc/goto?guid=4958990352191084142">KT-7038</a> Avoid unwanted side effects on <code>is</code>-checks for nullable types</li>     <li><a href="/misc/goto?guid=4958990352273960265">KT-10614</a> Copy array on vararg call with spread operator</li>     <li><a href="/misc/goto?guid=4958990352365990433">KT-10785</a> Correctly translate property names and receiver instances in assignment operations</li>     <li><a href="/misc/goto?guid=4958990352600640770">KT-11611</a> Fix translation of default value of secondary constructor's functional parameter</li>     <li><a href="/misc/goto?guid=4958990352691040977">KT-11100</a> Fix generation of <code>invoke</code> on objects and companion objects</li>     <li><a href="/misc/goto?guid=4958990352779245168">KT-11823</a> Fix capturing of outer class' <code>this</code> in inner's lambdas</li>     <li><a href="/misc/goto?guid=4958990352860314131">KT-11996</a> Fix translation of a call to a private member of an outer class from an inner class which is a subtype of the outer class</li>     <li><a href="/misc/goto?guid=4958990352952840410">KT-10667</a> Support inheritance from nested built-in types such as Map.Entry</li>     <li><a href="/misc/goto?guid=4958990353040433169">KT-7480</a> Remove declarations of LinkedList, SortedSet, TreeSet, Enumeration</li>     <li><a href="/misc/goto?guid=4958990353128946482">KT-3064</a> Implement <code>CharSequence.repeat</code></li>    </ul>    <h3>IDE</h3>    <p>New features:</p>    <ul>     <li>Spring Support      <ul>       <li><a href="/misc/goto?guid=4958990353209002919">KT-11098</a> Inspection on final classes/functions annotated with Spring<code>@Configuration</code>/<code>@Component</code>/<code>@Bean</code></li>       <li><a href="/misc/goto?guid=4958990353306852452">KT-11405</a> Navigation and Find Usages for Spring beans referenced in annotation arguments and BeanFactory method calls</li>       <li><a href="/misc/goto?guid=4958990353382271658">KT-3741</a> Show Spring-specific line markers on Kotlin classes</li>       <li><a href="/misc/goto?guid=4958990353468351048">KT-11406</a> Support Spring EL injections inside of Kotlin string literals</li>       <li><a href="/misc/goto?guid=4958990353564370330">KT-11604</a> Support "Configure Spring facet" inspection on Kotlin classes</li>       <li><a href="/misc/goto?guid=4958990353649418995">KT-11407</a> Implement "Generate Spring Dependency..." actions</li>       <li><a href="/misc/goto?guid=4958990353726567299">KT-11408</a> Implement "Generate <code>@Autowired</code> Dependency..." action</li>       <li><a href="/misc/goto?guid=4958990353805247637">KT-11652</a> Rename bean attributes mentioned in Spring XML config together with corresponding Kotlin declarations</li>      </ul> </li>     <li>Enable precise incremental compilation by default in non-Maven/Gradle projects</li>     <li><a href="/misc/goto?guid=4958990353887627424">KT-11612</a> Highlight named arguments</li>     <li><a href="/misc/goto?guid=4958990353977392575">KT-7715</a> Highlight <code>var</code>s that can be replaced by <code>val</code>s</li>     <li><a href="/misc/goto?guid=4958990354056097921">KT-5208</a> Intention action to convert string to raw string and back</li>     <li><a href="/misc/goto?guid=4958990354134445773">KT-11078</a> Quick fix to remove <code>.java</code> when KClass is expected</li>     <li><a href="/misc/goto?guid=4958990354250823122">KT-1494</a> Inspection to highlight public members with no documentation</li>     <li><a href="/misc/goto?guid=4958990354367817700">KT-8473</a> Intention action to implement interface or abstract class</li>     <li><a href="/misc/goto?guid=4958990354492857244">KT-10299</a> Inspection to warn on array properties in data classes</li>     <li><a href="/misc/goto?guid=4958990354609177990">KT-6674</a> Inspection to warn on protected symbols in effectively final classes</li>     <li><a href="/misc/goto?guid=4958990354748256643">KT-11576</a> Quick fix to suppress "Unused symbol" warning based on annotations on the declaration</li>     <li><a href="/misc/goto?guid=4958990354872284948">KT-10063</a> Quick fix for adding <code>arrayOf</code> wrapper for annotation parameters</li>     <li><a href="/misc/goto?guid=4958990354980058350">KT-10476</a> Quick fix for converting primitive types</li>     <li><a href="/misc/goto?guid=4958990355097180537">KT-10859</a> Quick fix to make <code>var</code> with private setter final</li>     <li><a href="/misc/goto?guid=4958990355212885668">KT-9498</a> Quick fix to specify property type</li>     <li><a href="/misc/goto?guid=4958990355328801679">KT-10509</a> Quick fix to simplify condition with senseless comparison</li>     <li><a href="/misc/goto?guid=4958990355429546899">KT-11404</a> Quick fix to let type implement missing interface</li>     <li><a href="/misc/goto?guid=4958990355531110398">KT-6785</a>, <a href="/misc/goto?guid=4958990355649067223">KT-10013</a>, <a href="/misc/goto?guid=4958990355782184288">KT-9996</a>, <a href="/misc/goto?guid=4958990355915032656">KT-11675</a> Support Smart Enter for trailing lambda argument, try/catch/finally, property setter, init block</li>     <li>Add <code>kotlinClassName()</code> and <code>kotlinFunctionName()</code> macros for use in live templates</li>     <li>Auto-configure EAP-repository during Kotlin Maven and Gradle project set up</li>    </ul>    <p>Issues fixed:</p>    <ul>     <li><a href="/misc/goto?guid=4958990356032065513">KT-11678</a>, <a href="/misc/goto?guid=4958990356136101141">KT-4768</a> Support navigation to Kotlin libraries from Java sources</li>     <li><a href="/misc/goto?guid=4958990356263715267">KT-9401</a> Support Change Signature quick fix for Java -> Kotlin case</li>     <li><a href="/misc/goto?guid=4958990356380338872">KT-8592</a> Fix "Choose sources" for Kotlin files</li>     <li><a href="/misc/goto?guid=4958990356496318388">KT-11256</a> Fix Navigate to declaration for Java constructor with <code>@NotNull</code> parameter</li>     <li><a href="/misc/goto?guid=4958990356616356547">KT-11018</a> Fix <code>var</code>s shown in Ctrl + Mouse Hover as <code>val</code>s</li>     <li><a href="/misc/goto?guid=4958990356745310425">KT-5105</a>, <a href="/misc/goto?guid=4958990356864615008">KT-11024</a> Improve incompatible ABI versions editor strap, show the hint on how to resolve the problem</li>     <li><a href="/misc/goto?guid=4958990356999049108">KT-11638</a> Fixed <code>hashCode()</code> implementation in "Generate equals/hashCode" action</li>     <li><a href="/misc/goto?guid=4958990357120778988">KT-10971</a> Pull Members Up: Always insert spaces between keywords</li>     <li><a href="/misc/goto?guid=4958990357248891098">KT-11476</a>, <a href="/misc/goto?guid=4958990357365666391">KT-4175</a>, <a href="/misc/goto?guid=4958990357485368584">KT-10965</a>, <a href="/misc/goto?guid=4958990357617324711">KT-11076</a> Formatter: fix multiple issues regarding space handling</li>     <li><a href="/misc/goto?guid=4958990357740318158">KT-9025</a> Improve "Create Kotlin Java runtime library" dialog usability</li>     <li><a href="/misc/goto?guid=4958990357872430477">KT-11481</a> Fix "Add import" intention not being available for <code>is</code> branches in when</li>     <li><a href="/misc/goto?guid=4958990358011516004">KT-10619</a> Fix completion after package name in annotation</li>     <li><a href="/misc/goto?guid=4958990358146157254">KT-10621</a> Do not show non-top level packages after <code>@</code> in completion</li>     <li><a href="/misc/goto?guid=4958990358280151790">KT-11295</a> "Convert string to template" intention: fix exception on certain code</li>     <li><a href="/misc/goto?guid=4958990358400247255">KT-10750</a>, <a href="/misc/goto?guid=4958990358526628582">KT-11424</a> "Convert if to when" intention now detects effectively else branches in subsequent code and performs more accurate comment handling</li>     <li>Configure Kotlin: show only changed files in the notification "Kotlin not configured", restore all changed files in undo action</li>     <li><a href="/misc/goto?guid=4958990358683494904">KT-11556</a> Do not show "Kotlin not configured" for Kotlin JS projects</li>     <li><a href="/misc/goto?guid=4958990358808836752">KT-11593</a> Fix "Configure Kotlin" action for Gradle projects in IDEA 2016</li>     <li><a href="/misc/goto?guid=4958990358932053513">KT-11077</a> Use new built-in definition file format (<code>.kotlin_builtins</code> files)</li>     <li><a href="/misc/goto?guid=4958990359067915503">KT-5728</a> Remove closing curly brace in a string template when opening one is deleted</li>     <li><a href="/misc/goto?guid=4958990359198881772">KT-10883</a> "Explicit get or set call" quick fix: do not move caret too far away</li>     <li><a href="/misc/goto?guid=4958990359322492128">KT-5717</a> "Replace 'when' with 'if'": do not lose comments</li>     <li><a href="/misc/goto?guid=4958990359464803063">KT-10797</a> "Replace with operator" intention is not available anymore for non-<code>operator</code> functions</li>     <li><a href="/misc/goto?guid=4958990359606148676">KT-11529</a> Highlighting range for unresolved annotation name does not include <code>@</code> now</li>     <li><a href="/misc/goto?guid=4958990359733108878">KT-11178</a> Don't show "Change type arguments" fix when there's nothing to change</li>     <li><a href="/misc/goto?guid=4958990359855318404">KT-11789</a> Don't interpret annotations inside Markdown code blocks as KDoc tags</li>     <li><a href="/misc/goto?guid=4958990359991520567">KT-11702</a> Fixed resolution of Kotlin beans with custom name</li>     <li><a href="/misc/goto?guid=4958990360119078205">KT-11689</a> Fixed exception on attempt to navigate to Kotlin file from Spring notification balloon</li>     <li><a href="/misc/goto?guid=4958990360259474749">KT-11725</a> Fixed renaming of injected SpEL references</li>     <li><a href="/misc/goto?guid=4958990360384043934">KT-11720</a> Fixed renaming of Kotlin beans through SpEL references</li>     <li><a href="/misc/goto?guid=4958990360509024339">KT-11719</a> Fixed renaming of Kotlin parameters references in XML files</li>     <li><a href="/misc/goto?guid=4958990360643899056">KT-11736</a> Fixed searching of Java usages for @JvmStatic properties and @JvmStatic @JvmOverloads functions</li>     <li><a href="/misc/goto?guid=4958990360780614109">KT-11862</a> Fixed bogus warnings about unresolved types in the Change Signature dialog</li>     <li>Fix several issues leading to exceptions: <a href="/misc/goto?guid=4958990360905142617">KT-11579</a>, <a href="/misc/goto?guid=4958990361032956069">KT-11580</a>, <a href="/misc/goto?guid=4958990361171091748">KT-11777</a>, <a href="/misc/goto?guid=4958990361293175898">KT-11868</a>, <a href="/misc/goto?guid=4958990361424115636">KT-11845</a>, <a href="/misc/goto?guid=4958990361561746654">KT-11486</a></li>     <li>Fixed NoSuchFieldException in Kotlin module settings on IDEA Ultimate</li>    </ul>    <p>Debugger</p>    <ul>     <li><a href="/misc/goto?guid=4958990361672654196">KT-11705</a> "Smart step into" no longer skips methods from subclasses</li>     <li>Debugger can now distinguish nested inline arguments</li>     <li><a href="/misc/goto?guid=4958990361837210201">KT-11326</a> Support private classes in Evaluate Expression</li>     <li><a href="/misc/goto?guid=4958990361999760641">KT-11455</a> Fix Evaluate Expression behavior for files with errors in sources</li>     <li><a href="/misc/goto?guid=4958990362147149699">KT-10670</a> Fix Evaluate Expression behavior for inline functions with default parameters</li>     <li><a href="/misc/goto?guid=4958990362291708335">KT-11380</a> Evaluate Expression now handles smart casts correctly</li>     <li><a href="/misc/goto?guid=4958990362413952742">KT-10148</a> Do not suggest methods from outer context in "Smart step into"</li>     <li>Fix Evaluate Expression for expression created for array element</li>     <li>Complete private members from libraries in Evaluate Expression</li>     <li><a href="/misc/goto?guid=4958990362537871122">KT-11578</a> Evaluate Expression: do not highlight completion variants from nullable receiver with grey</li>     <li><a href="/misc/goto?guid=4958990362651580748">KT-6805</a> Convert Java expression to Kotlin when opening Evaluate Expression from Variables view</li>     <li><a href="/misc/goto?guid=4958990362773747345">KT-11927</a> Fix "ambiguous import" error when invoking Evaluate Expression from Variables view for some field</li>     <li><a href="/misc/goto?guid=4958990362881838317">KT-11831</a> Fix Evaluate Expression for values of raw types</li>     <li>Show error message when debug info for some local variable is corrupted</li>     <li>Avoid 1s delay in completion in debugger fields if session is not stopped on a breakpoint</li>     <li>Avoid cast to runtime type unavailable in current scope</li>     <li>Fix text with line breaks in popup with line breakpoint variants</li>     <li>Fix breakpoints inside inline functions in libraries sources</li>     <li>Allow breakpoints at catch clause declaration</li>     <li><a href="/misc/goto?guid=4958990362989033025">KT-11848</a> Fix breakpoints inside generic crossinline lambda argument body</li>     <li><a href="/misc/goto?guid=4958990363097907304">KT-11932</a> Fix Step Over for <code>while</code> loop condition</li>    </ul>    <h3>Java to Kotlin converter</h3>    <ul>     <li>Protected members used outside of inheritors are converted as public</li>     <li>Support conversion for annotation constructor calls</li>     <li>Place comments from the middle of the call to the end</li>     <li>Drop line breaks between operator arguments (except <code>+</code>, <code>-</code>, <code>&&</code> and <code>||</code>)</li>     <li>Add non-null assertions on call site for non-null parameters</li>     <li>Specify type for variables with anonymous type if they have write accesses</li>     <li><a href="/misc/goto?guid=4958990363221997122">KT-11587</a> Fix conversion of static field accesses from other Java class</li>     <li><a href="/misc/goto?guid=4958990363324198589">KT-6800</a> Quote <code>$</code> symbols in converted strings</li>     <li><a href="/misc/goto?guid=4958990363434863068">KT-11126</a> Convert annotations in annotations parameters correctly</li>     <li><a href="/misc/goto?guid=4958990363551024609">KT-11600</a> Do not produce unresolved <code>toArray</code> calls for Java <code>Collection#toArray(T[])</code></li>     <li><a href="/misc/goto?guid=4958990363660249103">KT-11544</a> Fix conversion of uninitialized non-final field</li>     <li><a href="/misc/goto?guid=4958990363771016106">KT-10604</a> Fix conversion of scratch files</li>     <li><a href="/misc/goto?guid=4958990363892196144">KT-11543</a> Do not produce unnecessary casts of non-nullable expression to nullable type</li>     <li><a href="/misc/goto?guid=4958990364001936059">KT-11160</a> Fix IDE freeze</li>    </ul>    <h3>Android</h3>    <ul>     <li><a href="/misc/goto?guid=4958990364108482400">KT-7729</a> Add Android Lint checks for Kotlin (from Android Studio 1.5)</li>     <li><a href="/misc/goto?guid=4958990364226199484">KT-11487</a> Fixed sequential build with kapt and stubs enabled when Kotlin source file was modified and no Java source files were modified</li>     <li><a href="/misc/goto?guid=4958990364331284771">KT-11264</a> Action to create new activity in Kotlin</li>     <li><a href="/misc/goto?guid=4958990364443532900">KT-11201</a> Do not ignore items with similar names in kapt</li>     <li><a href="/misc/goto?guid=4958990364556363308">KT-11944</a> Rename Android Extensions imports when the layout file is renamed/deleted/added</li>     <li><a href="/misc/goto?guid=4958990364661092513">KT-10321</a> Do not upcast ViewStub to View</li>     <li><a href="/misc/goto?guid=4958990364779456387">KT-10841</a> Support <code>@android:id/*</code> IDs in Android Extensions</li>    </ul>    <h3>Maven</h3>    <ul>     <li><a href="/misc/goto?guid=4958990364888785215">KT-2917</a>, <a href="/misc/goto?guid=4958990365009895846">KT-11261</a> Maven archetype for new Kotlin projects</li>    </ul>    <h3>Gradle</h3>    <ul>     <li><a href="/misc/goto?guid=4958990365113237024">KT-8487</a> Experimental support for incremental compilation with project property <code>kotlin.incremental</code></li>     <li><a href="/misc/goto?guid=4958990365228753605">KT-11350</a> Fixed a bug causing Java rebuild when both Java and Kotlin are up-to-date</li>     <li><a href="/misc/goto?guid=4958990365339926131">KT-10507</a> Fix IllegalArgumentException "Missing extension point" on parallel builds</li>     <li><a href="/misc/goto?guid=4958990365454191896">KT-10932</a> Prevent compile tasks from running when nothing changes</li>     <li><a href="/misc/goto?guid=4958990365561165360">KT-11993</a> Fix NoSuchMethodError on access to internal members in production from tests (IDEA 2016+)</li>    </ul>    <h2>下载地址</h2>    <ul>     <li><a href="/misc/goto?guid=4958990365674397007" rel="nofollow">20.1 MB<strong>kotlin-compiler-1.0.2.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958990365784621254" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958990365893839599" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p> </p>