Compare commits

...

5 Commits

Author SHA1 Message Date
Mark Canlas 860a788b87 avoid deprecated syntax 2023-12-31 19:08:32 -05:00
Mark Canlas 355668b757 convert infix to method 2023-12-31 19:05:35 -05:00
Mark Canlas fba3e7e44b avoid deprecated syntax 2023-12-31 19:03:12 -05:00
Mark Canlas ee87a131ea avoid deprecated syntax 2023-12-31 19:02:40 -05:00
Mark Canlas e8e7ab1413 scala 3.4.0-RC1 2023-12-31 18:30:16 -05:00
6 changed files with 9 additions and 8 deletions

View File

@ -5,7 +5,8 @@ object Move:
def constA[A, X: Encoded.Byte](x: X, dest: WriteLease.ByteAddress[A]): Asm2[Reg.A, A] =
Load
.constA(x)
.widenWith[A] andThen Store.fromA(dest)
.widenWith[A]
.andThen(Store.fromA(dest))
def from[R: Register, A: ReadLease.ByteAddress, B: WriteLease.ByteAddress]: Asm3[R, A, B] =
Asm3Instructions(List(""))

View File

@ -2,7 +2,7 @@ package com.htmlism.firepower.core
import weaver.*
object ComplicatedResourceSuite extends FunSuite:
class Player[A <: Player[_]](address: Int):
class Player[A <: Player[?]](address: Int):
def headAddr: Int =
address

View File

@ -12,7 +12,7 @@ object Scala3Plugin extends AutoPlugin {
override def trigger: PluginTrigger = AllRequirements
override val buildSettings: Seq[Setting[?]] = Seq(
scalaVersion := "3.3.1"
scalaVersion := "3.4.0-RC1"
)
override val projectSettings: Seq[Setting[?]] = Seq(

View File

@ -42,7 +42,7 @@ case class Subroutine(name: String, fragment: AsmFragment, jumpRegistry: ListSet
def toAsm: String =
name + ":" + "\n" + fragment.toAsm
case class DefinitionGroup(comment: String, xs: List[Definition[_]]) extends TopLevelAsmDocumentFragment:
case class DefinitionGroup(comment: String, xs: List[Definition[?]]) extends TopLevelAsmDocumentFragment:
def toAsm: String =
val groupCommentLine =
"; " + comment
@ -62,7 +62,7 @@ case class DefinitionGroup(comment: String, xs: List[Definition[_]]) extends Top
.mkString("\n")
class DefinitionGroupContext:
private val xs: ListBuffer[Definition[_]] =
private val xs: ListBuffer[Definition[?]] =
ListBuffer()
def push[A](x: A)(using ev: NamedResource[A]): Unit =
@ -85,7 +85,7 @@ case class Definition[A](name: String, x: A, comment: Option[String])(using ev:
object Definition:
given namedResourceForDefinition[A]: NamedResource[Definition[A]] =
new NamedResource[Definition[A]]:
def toDefinitions(x: Definition[A]): List[Definition[_]] =
def toDefinitions(x: Definition[A]): List[Definition[?]] =
List(x)
def apply[A: DefinitionValue](name: String, x: A): Definition[A] =

View File

@ -6,4 +6,4 @@ trait NamedResource[A]:
* A `Definable` can emit multiple definitions. Usually in the case of `word`s being split across two
* byte-definitions
*/
def toDefinitions(x: A): List[Definition[_]]
def toDefinitions(x: A): List[Definition[?]]

View File

@ -54,7 +54,7 @@ class Easy6502Spec extends AnyFlatSpec with should.Matchers:
val doc =
asmDoc { implicit ctx =>
asm { implicit a =>
registers.X.loop("incrementing", 2 upTo 5) { implicit a =>
registers.X.loop("incrementing", 2.upTo(5)) { implicit a =>
a.push(INY)
}
}