Skip to content

Instantly share code, notes, and snippets.

View xeno-by's full-sized avatar

Eugene Burmako xeno-by

View GitHub Profile
@xeno-by
xeno-by / gist:3483234
Created August 26, 2012 20:08
compile ensime with sbt 0.12.0
C:\Projects\SublimeScala>git clone git://github.com/aemoncannon/ensime.git EnsimeTest
Cloning into 'EnsimeTest'...
remote: Counting objects: 10589, done.
remote: Compressing objects: 100% (3620/3620), done.
remote: Total 10589 (delta 5528), reused 10415 (delta 5376)
Receiving objects: 100% (10589/10589), 44.61 MiB | 572 KiB/s, done.
Resolving deltas: 100% (5528/5528), done.
C:\Projects\SublimeScala\EnsimeTest @ master>sbt compile
Getting net.java.dev.jna jna 3.2.3 ...
[scalacfork] parser: 2357
==================================typechecking==================================
[scalacfork] namer: 380
[scalacfork] packageobjects: 30
[scalacfork] typer: 24654
[scalacfork] patmat: 5581
[scalacfork] superaccessors: 1380
[scalacfork] extmethods: 190
[scalacfork] pickler: 1208
[scalacfork] refchecks: 8366
@xeno-by
xeno-by / gist:3658994
Created September 6, 2012 17:57
bug with ctrie-new and ctrie-old
object Test extends App {
class Modifier extends Thread {
setName("Modifier %d".format(0))
}
val ct = new scala.collection.concurrent.TrieMap[Int, Int]
new Modifier
}
import sys, re, json
from restkit import Resource
if len(sys.argv) != 2:
print "usage: " + sys.argv[0] + " <label>"
print "where label is something like \"scalamacros:ticket/6323\""
print "(note that the label shouldn't include the name of the repository!"
sys.exit(-1)
label = sys.argv[1]
C:\Projects\Kepler @ ticket/6277_baseline>ant all.clean build-opt
Buildfile: C:\Projects\Kepler\build.xml
strap.clean:
pack.clean:
[delete] Deleting directory C:\Projects\Kepler\build\pack
init.jars.check:
> reboot full
[info] Loading project definition from C:\Projects\sbt\project
[info] Set current project to xsbt (in build file:/C:/Projects/sbt/)
> set every scalaVersion := "2.10.0-SNAPSHOT"
[info] Reapplying settings...
Getting Scala 2.10.0-SNAPSHOT ...
downloading https://oss.sonatype.org/content/repositories/snapshots/org/scala-lang/scala-compiler/2.10.0-SNAPSHOT/scala-compiler-2.10.0-20120920.011034-459.jar ...
[SUCCESSFUL ] org.scala-lang#scala-compiler;2.10.0-SNAPSHOT!scala-compiler.jar (10129ms)
downloading https://oss.sonatype.org/content/repositories/snapshots/org/scala-lang/scala-library/2.10.0-SNAPSHOT/scala-library-2.10.0-20120920.011034-463.jar ...
[SUCCESSFUL ] org.scala-lang#scala-library;2.10.0-SNAPSHOT!scala-library.jar (8896ms)
C:\Projects\sbt @ 0.13>sbt sbt-version
[info] Loading project definition from C:\Projects\sbt\project
[info] Set current project to xsbt (in build file:/C:/Projects/sbt/)
[info] control/*:sbt-version
[info] 0.12.0
[info] launch-test/*:sbt-version
[info] 0.12.0
[info] api/*:sbt-version
[info] 0.12.0
[info] incremental-compiler/*:sbt-version
As we discussed with Iulian, to reproduce:
1) git clone git://github.com/harrah/xsbt.git
2) cd xsbt
3) git checkout 0.13
4) sbt
5) > reboot full
6) > set every scalaVersion := "2.10.0-SNAPSHOT"
7) > set every resolvers := Seq("Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
8) > compile
@xeno-by
xeno-by / Test.scala
Created September 21, 2012 10:09
Mines static state declared in reflective universes
import scala.reflect.runtime.universe._
object Test extends App {
def investigate(pkg: String) = {
def basesOf(sym: ClassSymbol): List[ClassSymbol] = { val bases = sym.baseClasses.map(_.asClass).filter(_.fullName.toString startsWith pkg); bases.head +: bases.tail.map(basesOf).flatten }
val bases = basesOf(typeOf[scala.reflect.runtime.SymbolTable].typeSymbol.asClass)
val decls = bases.map(_.typeSignature).flatMap(_.declarations.toList)
val state = decls.collect{case ts: TermSymbol => ts}.filter(sym => sym.isVal || sym.isVar || sym.isModule)
def suffix(sym: TermSymbol, name: String) = sym.name.toString.trim.endsWith(name)
def isa(sym: TermSymbol, name: String) = Some(sym).collect{case ms: ModuleSymbol if ms.companionSymbol != NoSymbol => ms.companionSymbol.asClass}.map(sym => basesOf(sym).exists(_.name.toString == name)).getOrElse(false)
@xeno-by
xeno-by / 2012-09-21-12-12-56-kep-run.log
Created September 21, 2012 10:14
Static state declared in reflective universes
myke run C:\Projects\Kepler\sandbox\Test.scala
git: branch = ticket/6412, commit = c065bde5f5 Merge remote-tracking branch 'paulp/treecheckers' into 2.10.x (Paul Phillips, 20.09.2012 14:08:03 -07:00)
psi: filename = cmd.exe, arguments = /C c:\PROGRA~1\Java\JDK\bin\java.exe -cp "C:\Projects\Kepler\test\files\codelib\code.jar;C:\Projects\Kepler\lib\jline.jar;C:\Projects\Kepler\build\locker\lib\scala-partest.jar;C:\Projects\Kepler\lib\fjbg.jar;C:\Projects\Kepler\build\locker\classes\compiler;C:\Projects\Kepler\build\asm\classes;C:\Projects\Kepler\build\libs\forkjoin.jar;C:\Projects\Kepler\build\locker\classes\reflect;C:\Projects\Kepler\build\locker\classes\library" -Dscala.usejavacp=true -Dscala.repl.vids=1 -Dscala.repl.autoruncode=C:\Users\xeno.by/.scala_autorun -Dscala.repl.maxprintstring=0 scala.tools.nsc.Main -language:experimental.macros Test.scala, home = C:\Projects\Kepler\sandbox
psi: filename = cmd.exe, arguments = /C c:\PROGRA~1\Java\JDK\bin\java.exe -cp "C:\Projects\Kepler\test\files\codelib\code.jar;