Skip to content

Instantly share code, notes, and snippets.

def fun(a: Int): Int = if (a % 2 == 0) Map.empty() else a*2
scala> classOf[String]
res0: Class[String] = class java.lang.String
scala> class Foo[T : reflect.ClassTag] { def foo = classOf[T] }; new Foo[String].foo
defined class Foo
res1: Class[_] = class java.lang.String
scala> class Foo[T] { def foo = classOf[T] }; new Foo[String].foo
<console>:8: error: No ClassTag available for T
class Foo[T] { def foo = classOf[T] };;
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.jcompiler.BuildManagerAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.launching.JavaLaunchableTesterAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.search.SearchAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.ui.ScalaOverrideLabelAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.ui.actions.OpenActionProviderAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.ui.javaeditor.ClassFileEditorIdAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.ui.javaeditor.HoversAspect
[org.scala-ide.sdt.aspects] info register aspect scala.tools.eclipse.contribution.weaving.jdt.ui.javaeditor.ScalaCloseStringsAspect
[org.scala-ide.sdt.
% sbt
[info] Loading global plugins from /home/soc/.sbt/0.13/plugins
[info] Loading project definition from /home/soc/Entwicklung/scala-virtual-classes-annotation-macros/project
[info] Set current project to root (in build file:/home/soc/Entwicklung/scala-virtual-classes-annotation-macros/)
> clean
[success] Total time: 0 s, completed Feb 12, 2014 10:27:17 PM
> test
[info] Updating {file:/home/soc/Entwicklung/scala-virtual-classes-annotation-macros/}virtual-classes-macros...
[info] Updating {file:/home/soc/Entwicklung/scala-virtual-classes-annotation-macros/}root...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
% wireshark
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
ALSA lib pcm_dmix.c:961:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
inserting new method getClass: ()Ljava/lang/Class; into java/lang/Object
inserting new method hashCode: ()I into java/lang/Object
inserting new method equals: (Ljava/lang/Object;)Z into java/lang/Object
inserting new method clone: ()Ljava/lang/Object; into java/lang/Object
inserting new method toString: ()Ljava/lang/String; into java/lang/Object
inserting new method notify: ()V into java/lang/Object
inserting new method notifyAll: ()V into java/lang/Object
inserting new method wait: (J)V into java/lang/Object
inserting new method wait: (JI)V into java/lang/Object
inserting new method wait: ()V into java/lang/Object
package event
import java.util.concurrent.ExecutionException
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
import java.util.concurrent.Callable
import scala.util.Success
import scala.util.Failure
quick.reflect:
[mkdir] Created dir: /home/soc/Entwicklung/scala/build/quick/classes/reflect
[quick.reflect] Compiling 156 files to /home/soc/Entwicklung/scala/build/quick/classes/reflect
[quick.reflect] error: scala.reflect.internal.FatalError: object Predef does not have a member classOf
[quick.reflect] at scala.reflect.internal.Definitions$DefinitionsClass.scala$reflect$internal$Definitions$DefinitionsClass$$fatalMissingSymbol(Definitions.scala:1151)
[quick.reflect] at scala.reflect.internal.Definitions$DefinitionsClass$$anonfun$getMember$1.apply(Definitions.scala:1174)
[quick.reflect] at scala.reflect.internal.Definitions$DefinitionsClass$$anonfun$getMember$1.apply(Definitions.scala:1169)
[quick.reflect] at scala.reflect.internal.Symbols$Symbol.orElse(Symbols.scala:2368)
[quick.reflect] at scala.reflect.internal.Definitions$DefinitionsClass.getMember(Definitions.scala:1168)
[quick.reflect] at scala.reflect.internal.Definitions$DefinitionsClass.getMemberMethod(Definitions.scala:1203)
1/31/2014 2:09:22 AM - starting server
1/31/2014 2:09:22 AM - server is running on port: 50123
1/31/2014 2:09:24 AM - CFCS an client verschickt
1/31/2014 2:09:24 AM - received: JOIN CFCS 1 "MyName1"
1/31/2014 2:09:24 AM - decoding: JOIN CFCS 1 "MyName1"
1/31/2014 2:09:24 AM - decoded Join msg
1/31/2014 2:09:24 AM - MyName1 has succesfully joined with version 1 to this server. hist extensions are:
1/31/2014 2:09:24 AM - respond to: MyName1 with Ok Welcome
1/31/2014 2:09:24 AM - send LobbyUpdate for every client in lobby to: MyName1
1/31/2014 2:09:24 AM - send lobbyUpdate to MyName1 for player MyName1 in lobby
val alphaDigits = """[A-Za-z0-9-_]*"""
val digits = """\d+"""
case gr"""WELCOME ${Int(version)}($digits) $serverName($alphaDigit) $commonExtensions(.*)""" =>
new Welcome(serverName, version, commonExtensions)