diff --git a/README.md b/README.md index de771b9..7a20a9a 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ are appreciated. It really is keeping me motivated to continue development. - 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 'Unknown op size' exception when uppercase sizes were used. ### V0.8 (15-Oct-21) diff --git a/build.gradle b/build.gradle index ba788dc..8e6957a 100644 --- a/build.gradle +++ b/build.gradle @@ -62,6 +62,7 @@ patchPluginXml {
Full changelog available at Github project site.
""") diff --git a/src/main/java/de/platon42/intellij/plugins/m68k/psi/M68kPsiImplUtil.kt b/src/main/java/de/platon42/intellij/plugins/m68k/psi/M68kPsiImplUtil.kt index eaa91a7..9658470 100644 --- a/src/main/java/de/platon42/intellij/plugins/m68k/psi/M68kPsiImplUtil.kt +++ b/src/main/java/de/platon42/intellij/plugins/m68k/psi/M68kPsiImplUtil.kt @@ -105,7 +105,7 @@ object M68kPsiImplUtil { // OperandSize @JvmStatic fun getSize(element: M68kOperandSize): Int = - when (element.text) { + when (element.text?.lowercase()) { null -> OP_UNSIZED ".w" -> OP_SIZE_W ".l" -> OP_SIZE_L diff --git a/src/test/java/de/platon42/intellij/plugins/m68k/parser/AddressingModesTest.kt b/src/test/java/de/platon42/intellij/plugins/m68k/parser/AddressingModesTest.kt index 11fec05..c1974a5 100644 --- a/src/test/java/de/platon42/intellij/plugins/m68k/parser/AddressingModesTest.kt +++ b/src/test/java/de/platon42/intellij/plugins/m68k/parser/AddressingModesTest.kt @@ -14,7 +14,7 @@ internal class AddressingModesTest : AbstractParsingTest() { @Test internal fun register_direct(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) { - testGoodSyntax(testCase, " move.l d0,a7\n") + testGoodSyntax(testCase, " MOVE.L d0,a7\n") } @Test diff --git a/src/test/resources/parser/addressingmodes/register_direct.txt b/src/test/resources/parser/addressingmodes/register_direct.txt index 6fb81e9..f5d7610 100644 --- a/src/test/resources/parser/addressingmodes/register_direct.txt +++ b/src/test/resources/parser/addressingmodes/register_direct.txt @@ -3,9 +3,9 @@ Assembly File: a.asm M68kStatementImpl(STATEMENT) M68kAsmInstructionImpl(ASM_INSTRUCTION) M68kAsmOpImpl(ASM_OP) - PsiElement(M68kTokenType.MNEMONIC)('move') + PsiElement(M68kTokenType.MNEMONIC)('MOVE') M68kOperandSizeImpl(OPERAND_SIZE) - PsiElement(M68kTokenType.OPSIZE_L)('.l') + PsiElement(M68kTokenType.OPSIZE_L)('.L') PsiWhiteSpace(' ') M68kDataRegisterDirectAddressingModeImpl(DATA_REGISTER_DIRECT_ADDRESSING_MODE) M68kDataRegisterImpl(DATA_REGISTER)