Last active
December 20, 2015 00:49
-
-
Save pedrofurla/6044137 to your computer and use it in GitHub Desktop.
This error occurs when trying to compile my source code with -Yrangepos. My source depends on Slick macro I will post the usage site below, links for the Slick source and the error.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| My Source: | |
| override def expr(n: Node, skipParens: Boolean = false) = | |
| n match { | |
| case Extract(n @ _*) => | |
| val datePart = n(1).asInstanceOf[LiteralNode].value.asInstanceOf[String] | |
| b"""extract('${datePart}' from ${n(0)})""" | |
| case _ => super.expr(n, skipParens) | |
| } | |
| The macro in question is "b". | |
| StringContext and `macro`: https://github.com/slick/slick/blob/1.0/src/main/scala/scala/slick/util/MacroSupport.scala | |
| The implementations: | |
| https://github.com/slick/slick/blob/1.0/src/macro/scala/scala/slick/util/MacroSupportInterpolationImpl.scala. | |
| The exception thrown during compilation: | |
| [debug] | |
| [debug] Initial source changes: | |
| [debug] removed:Set() | |
| [debug] added: Set(/Users/pedrofurla/dev/projects/slick-demo/experiments/src/main/scala/slickdemo/experiments/SlickSupport2.scala) | |
| [debug] modified: Set() | |
| [debug] Removed products: Set() | |
| [debug] Modified external sources: Set() | |
| [debug] Modified binary dependencies: Set() | |
| [debug] Initial directly invalidated sources: Set(/Users/pedrofurla/dev/projects/slick-demo/experiments/src/main/scala/slickdemo/experiments/SlickSupport2.scala) | |
| [debug] | |
| [debug] Sources indirectly invalidated by: | |
| [debug] product: Set() | |
| [debug] binary dep: Set() | |
| [debug] external source: Set() | |
| [debug] Initially invalidated: Set(/Users/pedrofurla/dev/projects/slick-demo/experiments/src/main/scala/slickdemo/experiments/SlickSupport2.scala) | |
| [debug] Recompiling all 1 sources: invalidated sources (1) exceeded 50.0% of all sources | |
| [info] Compiling 1 Scala source to /Users/pedrofurla/dev/projects/slick-demo/experiments/target/scala-2.10/classes... | |
| [debug] Running cached compiler 4e0175be, interfacing (CompilerInterface) with Scala compiler version 2.10.2 | |
| [debug] Calling Scala compiler with arguments (CompilerInterface): | |
| [debug] -deprecation | |
| [debug] -feature | |
| [debug] -Yrangepos | |
| [debug] -d | |
| [debug] /Users/pedrofurla/dev/projects/slick-demo/experiments/target/scala-2.10/classes | |
| [debug] -bootclasspath | |
| [debug] /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/JObjC.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/classes:/Users/pedrofurla/.sbt/boot/scala-2.10.2/lib/scala-library.jar | |
| [debug] -classpath | |
| [debug] /Users/pedrofurla/dev/projects/slick-demo/experiments/target/scala-2.10/classes:/Users/pedrofurla/dev/projects/slick-demo/target/scala-2.10/classes:/Users/pedrofurla/dev/projects/slick-demo/macros/target/scala-2.10/classes:/Users/pedrofurla/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.2.jar:/Users/pedrofurla/.ivy2/cache/com.typesafe.slick/slick_2.10/jars/slick_2.10-1.0.1.jar:/Users/pedrofurla/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.6.4.jar:/Users/pedrofurla/.ivy2/cache/org.slf4j/slf4j-nop/jars/slf4j-nop-1.6.4.jar:/Users/pedrofurla/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.2.jar:/Users/pedrofurla/.ivy2/cache/org.joda/joda-convert/jars/joda-convert-1.3.1.jar:/Users/pedrofurla/.ivy2/cache/com.h2database/h2/jars/h2-1.3.172.jar:/Users/pedrofurla/.ivy2/cache/mysql/mysql-connector-java/jars/mysql-connector-java-5.1.12.jar:/Users/pedrofurla/.ivy2/cache/org.xerial/sqlite-jdbc/jars/sqlite-jdbc-3.7.2.jar | |
| [info] ======= Position error | |
| [info] Synthetic tree [937] contains nonsynthetic tree [134] | |
| [info] == Enclosing tree [937] of type Apply at [2183]SlickSupport2.scala | |
| [info] | |
| [info] [L 62 ] #937 [2183] Apply // Apply(method +=) | |
| [info] | |
| [info] == Enclosed tree [134] of type Ident at [2198:2206]SlickSupport2.scala | |
| [info] | |
| [info] [L 62 ] #134 [2198:2206] Ident // datePart} | |
| [info] | |
| [info] | |
| [info] While validating #1563 | |
| [info] [L 1 ] #1563 [0:3341] PackageDef // experiments | |
| [info] | |
| [info] Children: | |
| [info] [L 1 P# 1563] #44 [8:29] Select // experiments | |
| [info] [L 3 P# 1563] #47 [31:53] Import // slickdemo.dal._ | |
| [info] [L 4 P# 1563] #51 [54:151] Import // scala.slick.driver.{BasicDriver, BasicStatementBuilderComponent, ExtendedDriver, H2Driver} | |
| [info] [L 5 P# 1563] #54 [152:193] Import // scala.language.implicitConversions | |
| [info] [L 6 P# 1563] #57 [194:219] Import // scala.slick.driver | |
| [info] [L 14 P# 1563] #1562 [313:3341] ModuleDef // SlickSupport2 extends SlickSupport { | |
| [info] ======= | |
| [error] | |
| [error] while compiling: /Users/pedrofurla/dev/projects/slick-demo/experiments/src/main/scala/slickdemo/experiments/SlickSupport2.scala | |
| [error] during phase: typer | |
| [error] library version: version 2.10.2 | |
| [error] compiler version: version 2.10.2 | |
| [error] reconstructed args: -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib/JObjC.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/classes:/Users/pedrofurla/.sbt/boot/scala-2.10.2/lib/scala-library.jar -deprecation -Yrangepos -feature -d /Users/pedrofurla/dev/projects/slick-demo/experiments/target/scala-2.10/classes -classpath /Users/pedrofurla/dev/projects/slick-demo/experiments/target/scala-2.10/classes:/Users/pedrofurla/dev/projects/slick-demo/target/scala-2.10/classes:/Users/pedrofurla/dev/projects/slick-demo/macros/target/scala-2.10/classes:/Users/pedrofurla/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.2.jar:/Users/pedrofurla/.ivy2/cache/com.typesafe.slick/slick_2.10/jars/slick_2.10-1.0.1.jar:/Users/pedrofurla/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.6.4.jar:/Users/pedrofurla/.ivy2/cache/org.slf4j/slf4j-nop/jars/slf4j-nop-1.6.4.jar:/Users/pedrofurla/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.2.jar:/Users/pedrofurla/.ivy2/cache/org.joda/joda-convert/jars/joda-convert-1.3.1.jar:/Users/pedrofurla/.ivy2/cache/com.h2database/h2/jars/h2-1.3.172.jar:/Users/pedrofurla/.ivy2/cache/mysql/mysql-connector-java/jars/mysql-connector-java-5.1.12.jar:/Users/pedrofurla/.ivy2/cache/org.xerial/sqlite-jdbc/jars/sqlite-jdbc-3.7.2.jar | |
| [error] | |
| [error] last tree to typer: Literal(Constant(())) | |
| [error] symbol: null | |
| [error] symbol definition: null | |
| [error] tpe: Unit | |
| [error] symbol owners: | |
| [error] context owners: constructor DateColumnExtensionMethods -> object DateColumnExtensionMethods -> object SlickSupport2 -> package experiments | |
| [error] | |
| [error] == Enclosing template or block == | |
| [error] | |
| [error] Apply( // def <init>(): Object in class Object, tree.tpe=Object | |
| [error] DateColumnExtensionMethods.super."<init>" // def <init>(): Object in class Object, tree.tpe=()Object | |
| [error] Nil | |
| [error] ) | |
| [error] | |
| [error] == Expanded type of tree == | |
| [error] | |
| [error] TypeRef(TypeSymbol(final abstract class Unit extends AnyVal)) | |
| [error] | |
| [error] uncaught exception during compilation: scala.tools.nsc.interactive.RangePositions$ValidateException | |
| scala.tools.nsc.interactive.RangePositions$ValidateException: Synthetic tree [937] contains nonsynthetic tree [134] | |
| at scala.tools.nsc.interactive.RangePositions$class.positionError$1(RangePositions.scala:201) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:218) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validate$1(RangePositions.scala:241) | |
| at scala.tools.nsc.interactive.RangePositions$class.validatePositions(RangePositions.scala:246) | |
| at xsbt.CachedCompiler0$$anon$1.validatePositions(CompilerInterface.scala:118) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:100) | |
| at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91) | |
| at scala.collection.Iterator$class.foreach(Iterator.scala:727) | |
| at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:91) | |
| at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583) | |
| at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557) | |
| at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553) | |
| at scala.tools.nsc.Global$Run.compile(Global.scala:1662) | |
| at xsbt.CachedCompiler0.run(CompilerInterface.scala:90) | |
| at xsbt.CachedCompiler0.run(CompilerInterface.scala:72) | |
| at xsbt.CompilerInterface.run(CompilerInterface.scala:27) | |
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) | |
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
| at java.lang.reflect.Method.invoke(Method.java:601) | |
| at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:73) | |
| at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:35) | |
| at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:29) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4$$anonfun$compileScala$1$1.apply$mcV$sp(AggressiveCompile.scala:71) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:71) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:71) | |
| at sbt.compiler.AggressiveCompile.sbt$compiler$AggressiveCompile$$timed(AggressiveCompile.scala:101) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4.compileScala$1(AggressiveCompile.scala:70) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4.apply(AggressiveCompile.scala:88) | |
| at sbt.compiler.AggressiveCompile$$anonfun$4.apply(AggressiveCompile.scala:60) | |
| at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:24) | |
| at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:22) | |
| at sbt.inc.Incremental$.cycle(Incremental.scala:45) | |
| at sbt.inc.Incremental$.compile(Incremental.scala:29) | |
| at sbt.inc.IncrementalCompile$.apply(Compile.scala:20) | |
| at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:96) | |
| at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:44) | |
| at sbt.compiler.AggressiveCompile.apply(AggressiveCompile.scala:31) | |
| at sbt.Compiler$.apply(Compiler.scala:79) | |
| at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:572) | |
| at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:572) | |
| at sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:578) | |
| at sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:578) | |
| at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49) | |
| at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311) | |
| at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311) | |
| at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41) | |
| at sbt.std.Transform$$anon$5.work(System.scala:71) | |
| at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232) | |
| at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232) | |
| at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) | |
| at sbt.Execute.work(Execute.scala:238) | |
| at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232) | |
| at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232) | |
| at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) | |
| at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment