Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.idea/
.bsp/
*.iml
project/project
project/target
Expand Down
6 changes: 3 additions & 3 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ lazy val metasJS = metas.js.settings(name := "metas")
val buildMacrosSettings = globalSettings ++ Seq(
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value,
resolvers += Resolver.sonatypeRepo("releases"),
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
)

val macroSettings = buildMacrosSettings ++ publishSettings
Expand All @@ -97,9 +97,9 @@ lazy val hamsters = CrossPlugin.autoImport.crossProject(JSPlatform, JVMPlatform)
.dependsOn(metas)
.dependsOn(macros)
.settings(libraryDependencies ++= Seq(
"org.scalatest" %%% "scalatest" % "3.1.0" % "test",
"org.scalatest" %%% "scalatest" % "3.2.2" % "test",
"org.scalamock" %%% "scalamock-scalatest-support" % "3.6.0" % "test",
"org.scalacheck" %%% "scalacheck" % "1.14.1" % "test"
"org.scalacheck" %%% "scalacheck" % "1.15.1" % "test"
))
.settings(hamstersSettings)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import scala.meta._

class CartesianMacro extends StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {

val MAX_ARITY = 23

Expand Down
3 changes: 2 additions & 1 deletion metas/shared/src/main/scala/io/github/hamsters/GenLens.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import scala.collection.immutable.Seq
import scala.meta._
class GenLens extends StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {
defn match {
case q"""case class $tName(..$params)""" => {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import scala.meta._

class HListMacro extends scala.annotation.StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {

defn match {
case q"..$mods class $tName(..$params)" =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import scala.meta._

class ShowMacro extends scala.annotation.StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {
defn match {
// TODO handle object with existing companion
// case Seq(cls @ Defn.Class(_, name, _, ctor, template), companion: Defn.Object)=> q""""""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import scala.meta.{Term, _}

class UnionMacro extends scala.annotation.StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {

def argByXY(idx: Int, i: Int): Term =
if (idx == i) q"""Some(t)"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import scala.meta._

class ValidationMacro extends scala.annotation.StaticAnnotation {

inline def apply(defn: Any): Any = meta {
@inline
def apply(defn: Any): Any = {

val arityRange = Range(1, 23)

Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.2.8
sbt.version=1.4.5
4 changes: 2 additions & 2 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.32")
addSbtPlugin("org.portable-scala" % "sbt-crossproject" % "0.6.1")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.6.1")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.8.1")
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.5")
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1")
2 changes: 1 addition & 1 deletion scripts/try-hamsters.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ COURSIER_URL=https://git.io/vgvpD
test -e ~/.coursier/coursier || \
(mkdir -p ~/.coursier && curl -L -s --output ~/.coursier/coursier $COURSIER_URL && chmod +x ~/.coursier/coursier)
~/.coursier/coursier launch -q -P \
com.lihaoyi:ammonite_2.12.3:1.0.1 \
com.lihaoyi:ammonite_2.12.8:2.3.8 \
io.github.scala-hamsters:hamsters_2.12:3.0.0 \
-- --predef-code 'import io.github.hamsters._;
import HList._;
Expand Down