mirror of
https://github.com/mcanlas/6502-opcodes.git
synced 2025-02-06 16:29:55 +00:00
make defines slightly more convenient
This commit is contained in:
parent
ed3b8a308d
commit
77785bef50
@ -10,3 +10,7 @@ trait Definable[A]:
|
||||
extension (x: A) def toValue: Int
|
||||
|
||||
extension (x: A) def toDefine: String
|
||||
|
||||
object Definable:
|
||||
def apply[A](using ev: Definable[A]): Definable[A] =
|
||||
ev
|
||||
|
@ -9,9 +9,14 @@ import com.htmlism.firepower.core.AsmBlock._
|
||||
import com.htmlism.firepower.core._
|
||||
|
||||
object PrintThree:
|
||||
case class Move[A: Definable, B: Definable](src: A, dest: B):
|
||||
def defines: List[ListMap[String, String]] =
|
||||
List(implicitly[Definable[A]].table, implicitly[Definable[B]].table)
|
||||
trait DefinesHelper(xs: Definable[_]*):
|
||||
def defines: Seq[ListMap[String, String]] =
|
||||
xs
|
||||
.iterator
|
||||
.map(_.table)
|
||||
.toList
|
||||
|
||||
case class Move[A: Definable, B: Definable](src: A, dest: B) extends DefinesHelper(Definable[A], Definable[B])
|
||||
|
||||
def build(screen: Easy6502.Screen): List[Move[Easy6502.Color, Easy6502.Screen.Pixel]] =
|
||||
List(
|
||||
|
Loading…
x
Reference in New Issue
Block a user