Fixed 'Unknown op size' exception when uppercase sizes were used.

This commit is contained in:
Chris Hodges 2022-04-26 10:43:07 +02:00
parent ae92da7878
commit 5e2099f019
5 changed files with 6 additions and 4 deletions

View File

@ -168,6 +168,7 @@ are appreciated. It really is keeping me motivated to continue development.
- Maintenance. Updated all dependencies to the latest versions. - Maintenance. Updated all dependencies to the latest versions.
- Bugfix: Fixed condition code for `asr/lsr/lsl`, which is has a different behaviour for V flag than `asl`. - Bugfix: Fixed condition code for `asr/lsr/lsl`, which is has a different behaviour for V flag than `asl`.
- Bugfix: Fixed 'Unknown op size' exception when uppercase sizes were used.
### V0.8 (15-Oct-21) ### V0.8 (15-Oct-21)

View File

@ -62,6 +62,7 @@ patchPluginXml {
<ul> <ul>
<li>Maintenance. Updated all dependencies to the latest versions. <li>Maintenance. Updated all dependencies to the latest versions.
<li>Bugfix: Fixed condition code for asr/lsr/lsl, which is has a different behaviour for V flag than asl. <li>Bugfix: Fixed condition code for asr/lsr/lsl, which is has a different behaviour for V flag than asl.
<li>Bugfix: Fixed 'Unknown op size' exception when uppercase sizes were used.
</ul> </ul>
<p>Full changelog available at <a href="https://github.com/chrisly42/mc68000-asm-plugin#changelog">Github project site</a>.</p> <p>Full changelog available at <a href="https://github.com/chrisly42/mc68000-asm-plugin#changelog">Github project site</a>.</p>
""") """)

View File

@ -105,7 +105,7 @@ object M68kPsiImplUtil {
// OperandSize // OperandSize
@JvmStatic @JvmStatic
fun getSize(element: M68kOperandSize): Int = fun getSize(element: M68kOperandSize): Int =
when (element.text) { when (element.text?.lowercase()) {
null -> OP_UNSIZED null -> OP_UNSIZED
".w" -> OP_SIZE_W ".w" -> OP_SIZE_W
".l" -> OP_SIZE_L ".l" -> OP_SIZE_L

View File

@ -14,7 +14,7 @@ internal class AddressingModesTest : AbstractParsingTest() {
@Test @Test
internal fun register_direct(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) { internal fun register_direct(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
testGoodSyntax(testCase, " move.l d0,a7\n") testGoodSyntax(testCase, " MOVE.L d0,a7\n")
} }
@Test @Test

View File

@ -3,9 +3,9 @@ Assembly File: a.asm
M68kStatementImpl(STATEMENT) M68kStatementImpl(STATEMENT)
M68kAsmInstructionImpl(ASM_INSTRUCTION) M68kAsmInstructionImpl(ASM_INSTRUCTION)
M68kAsmOpImpl(ASM_OP) M68kAsmOpImpl(ASM_OP)
PsiElement(M68kTokenType.MNEMONIC)('move') PsiElement(M68kTokenType.MNEMONIC)('MOVE')
M68kOperandSizeImpl(OPERAND_SIZE) M68kOperandSizeImpl(OPERAND_SIZE)
PsiElement(M68kTokenType.OPSIZE_L)('.l') PsiElement(M68kTokenType.OPSIZE_L)('.L')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE)
M68kDataRegisterImpl(DATA_REGISTER) M68kDataRegisterImpl(DATA_REGISTER)