Skip to content

Instantly share code, notes, and snippets.

View abreslav's full-sized avatar

Andrey Breslav abreslav

View GitHub Profile
Ref should exist for this node. Hash: 603812
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113)
at com.intellij.vcs.log.graph.mutable.GraphBuilder.createBranch(GraphBuilder.java:123)
at com.intellij.vcs.log.graph.mutable.GraphBuilder.addCurrentCommitAndFinishRow(GraphBuilder.java:107)
at com.intellij.vcs.log.graph.mutable.GraphBuilder.append(GraphBuilder.java:165)
at com.intellij.vcs.log.graph.mutable.GraphBuilder.runBuild(GraphBuilder.java:198)
at com.intellij.vcs.log.graph.mutable.GraphBuilder.build(GraphBuilder.java:29)
at com.intellij.vcs.log.data.DataPack.build(DataPack.java:43)
at com.intellij.vcs.log.data.VcsLogDataHolder.smartRefresh(VcsLogDataHolder.java:404)
Red node isn't marked as red: Red node isn't marked as red
java.lang.AssertionError: Red node isn't marked as red
at com.intellij.vcs.log.data.VcsLogJoiner$RedGreenSorter.markRealRedNode(VcsLogJoiner.java:175)
at com.intellij.vcs.log.data.VcsLogJoiner$RedGreenSorter.getFirstSaveIndex(VcsLogJoiner.java:191)
at com.intellij.vcs.log.data.VcsLogJoiner$RedGreenSorter.access$300(VcsLogJoiner.java:161)
at com.intellij.vcs.log.data.VcsLogJoiner.getRedCommitsAndSavedRedIndex(VcsLogJoiner.java:154)
at com.intellij.vcs.log.data.VcsLogJoiner.addCommits(VcsLogJoiner.java:53)
at com.intellij.vcs.log.data.VcsLogDataHolder.smartRefresh(VcsLogDataHolder.java:385)
at com.intellij.vcs.log.data.VcsLogDataHolder.access$2400(VcsLogDataHolder.java:88)
at com.intellij.vcs.log.data.VcsLogDataHolder$12.consume(VcsLogDataHolder.java:668)
// Why do we need variance
// Invariant class List, just like in Java
class List<T> { /* normal list */ }
fun printContents(list: List<Any>) {
for (item in list) {
println(item)
}
}
@abreslav
abreslav / kotlin2014-15.md
Last active August 29, 2015 14:08
Kotlin Project Theme(s) for Open Academy - 2014/15

Kotlin (Programming Language)

Kotlin is a modern statically typed programming language targeting the Java and JavaScript platforms. It is conceived as a "modern language for industry", keeping a balance between flexibility and readability, expressiveness and safety.

Project Overview

A modern programming language is much more than a grammar. Principal susystems of Kotlin include

  • Compiler front-end
  • Lexer/Parser translates text into a syntax tree, reports syntax errors

Calling a class object member from Java:

public class Engine private() {
    class object {
        public fun getInstance(): Engine = Engine()
    }
}
class Ratio(num : Int, denom : Int) {
val numerator: Int
val denominator: Int
{
val theGcd = gcd(num, denom)
numerator = num / theGcd
denominator = denom / theGcd
}
}
public class SomeAdapter(val friends: SomeAdapterProvider, val listener: OnItemClickedListener) : RecyclerView.Adapter<SomeAdapter.ViewHolder>() {
trait OnItemClickedListener {
fun onItemClicked(f: Friendship)
}
private inner class ViewHolder(v: View) : RecyclerView.ViewHolder(v), View.OnClickListener {
override fun onClick(v: View) {
listener.onItemClicked(somethings[getPosition()])
}
@abreslav
abreslav / JavaKeywords.kt
Created March 27, 2012 07:45
Running functions named as Java keywords (in Kotlin)
fun assert(i : Int) = println(i)
fun abstract(i : Int) = println(i)
fun boolean(i : Int) = println(i)
fun `break`(i : Int) = println(i)
fun byte(i : Int) = println(i)
fun case(i : Int) = println(i)
fun catch(i : Int) = println(i)
fun char(i : Int) = println(i)
fun `class`(i : Int) = println(i)
fun const(i : Int) = println(i)
@abreslav
abreslav / hello.kt
Created March 29, 2012 07:53
Hello, world!
fun main(args : Array<String>) {
println("Hello, GitHub!")
}