@@ -117,36 +117,29 @@ class TestCompiler {
117117}
118118
119119
120- private val dummypos = Position (" test" , 0 , 0 , 0 )
121-
122-
123120@TestInstance(TestInstance .Lifecycle .PER_CLASS )
124121class TestZeropage {
125122 @Test
126123 fun testNames () {
127124 val zp = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .BASICSAFE , emptyList(), false ))
128125
126+ zp.allocate(" " , DataType .UBYTE , null )
127+ zp.allocate(" " , DataType .UBYTE , null )
128+ zp.allocate(" varname" , DataType .UBYTE , null )
129129 assertFailsWith<AssertionError > {
130- zp.allocate(VarDecl (VarDeclType .MEMORY , DataType .UBYTE , false , null , " " , null , dummypos))
131- }
132-
133- zp.allocate(VarDecl (VarDeclType .VAR , DataType .UBYTE , false , null , " " , null , dummypos))
134- zp.allocate(VarDecl (VarDeclType .VAR , DataType .UBYTE , false , null , " " , null , dummypos))
135- zp.allocate(VarDecl (VarDeclType .VAR , DataType .UBYTE , false , null , " varname" , null , dummypos))
136- assertFailsWith<AssertionError > {
137- zp.allocate(VarDecl (VarDeclType .VAR , DataType .UBYTE , false , null , " varname" , null , dummypos))
130+ zp.allocate(" varname" , DataType .UBYTE , null )
138131 }
139- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " varname2 " , null , dummypos) )
132+ zp.allocate(" varname2 " , DataType .UBYTE , null )
140133 }
141134
142135 @Test
143136 fun testZpFloatEnable () {
144137 val zp = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .FULL , emptyList(), false ))
145138 assertFailsWith<CompilerException > {
146- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
139+ zp.allocate(" " , DataType .FLOAT , null )
147140 }
148141 val zp2 = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .FULL , emptyList(), true ))
149- zp2.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
142+ zp2.allocate(" " , DataType .FLOAT , null )
150143 }
151144
152145 @Test
@@ -187,72 +180,72 @@ class TestZeropage {
187180 val zp = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .BASICSAFE , emptyList(), true ))
188181 assertEquals(19 , zp.available())
189182
190- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
183+ zp.allocate(" " , DataType .FLOAT , null )
191184 assertFailsWith<ZeropageDepletedError > {
192185 // in regular zp there aren't 5 sequential bytes free after we take the first sequence
193- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
186+ zp.allocate(" " , DataType .FLOAT , null )
194187 }
195188
196189 for (i in 0 until zp.available()) {
197- val loc = zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
190+ val loc = zp.allocate(" " , DataType .UBYTE , null )
198191 assertTrue(loc > 0 )
199192 }
200193 assertEquals(0 , zp.available())
201194 assertFailsWith<ZeropageDepletedError > {
202- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
195+ zp.allocate(" " , DataType .UBYTE , null )
203196 }
204197 assertFailsWith<ZeropageDepletedError > {
205- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) )
198+ zp.allocate(" " , DataType .UWORD , null )
206199 }
207200 }
208201
209202 @Test
210203 fun testFullAllocation () {
211204 val zp = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .FULL , emptyList(), true ))
212205 assertEquals(238 , zp.available())
213- val loc = zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
206+ val loc = zp.allocate(" " , DataType .FLOAT , null )
214207 assertTrue(loc > 3 )
215208 assertFalse(loc in zp.free)
216209 val num = zp.available() / 5
217210 val rest = zp.available() % 5
218211
219212 for (i in 0 .. num- 4 ) {
220- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
213+ zp.allocate(" " , DataType .FLOAT , null )
221214 }
222215 assertEquals(18 ,zp.available())
223216
224217 assertFailsWith<ZeropageDepletedError > {
225218 // can't allocate because no more sequential bytes, only fragmented
226- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) )
219+ zp.allocate(" " , DataType .FLOAT , null )
227220 }
228221
229222 for (i in 0 .. 13 ) {
230- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
223+ zp.allocate(" " , DataType .UBYTE , null )
231224 }
232- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) )
225+ zp.allocate(" " , DataType .UWORD , null )
233226
234227 assertEquals(2 , zp.available())
235- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
236- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
228+ zp.allocate(" " , DataType .UBYTE , null )
229+ zp.allocate(" " , DataType .UBYTE , null )
237230 assertFailsWith<ZeropageDepletedError > {
238231 // no more space
239- zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) )
232+ zp.allocate(" " , DataType .UBYTE , null )
240233 }
241234 }
242235
243236 @Test
244237 fun testEfficientAllocation () {
245238 val zp = C64Zeropage (CompilationOptions (OutputType .RAW , LauncherType .NONE , ZeropageType .BASICSAFE , emptyList(), true ))
246239 assertEquals(19 , zp.available())
247- assertEquals(0x04 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .FLOAT , false , null , " " , null , dummypos) ))
248- assertEquals(0x09 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) ))
249- assertEquals(0x0d , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
250- assertEquals(0x94 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
251- assertEquals(0xa7 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
252- assertEquals(0xa9 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
253- assertEquals(0xb5 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
254- assertEquals(0xf7 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UWORD , false , null , " " , null , dummypos) ))
255- assertEquals(0xf9 , zp.allocate(VarDecl ( VarDeclType . VAR , DataType .UBYTE , false , null , " " , null , dummypos) ))
240+ assertEquals(0x04 , zp.allocate(" " , DataType .FLOAT , null ))
241+ assertEquals(0x09 , zp.allocate(" " , DataType .UBYTE , null ))
242+ assertEquals(0x0d , zp.allocate(" " , DataType .UWORD , null ))
243+ assertEquals(0x94 , zp.allocate(" " , DataType .UWORD , null ))
244+ assertEquals(0xa7 , zp.allocate(" " , DataType .UWORD , null ))
245+ assertEquals(0xa9 , zp.allocate(" " , DataType .UWORD , null ))
246+ assertEquals(0xb5 , zp.allocate(" " , DataType .UWORD , null ))
247+ assertEquals(0xf7 , zp.allocate(" " , DataType .UWORD , null ))
248+ assertEquals(0xf9 , zp.allocate(" " , DataType .UBYTE , null ))
256249 assertEquals(0 , zp.available())
257250 }
258251}
0 commit comments