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.
- 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)

View File

@ -62,6 +62,7 @@ patchPluginXml {
<ul>
<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 'Unknown op size' exception when uppercase sizes were used.
</ul>
<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
@JvmStatic
fun getSize(element: M68kOperandSize): Int =
when (element.text) {
when (element.text?.lowercase()) {
null -> OP_UNSIZED
".w" -> OP_SIZE_W
".l" -> OP_SIZE_L

View File

@ -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

View File

@ -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)