Although we want has_stdarg in the underlying bytecode instruction, in in std.Instruction() it shouldn't be passed as a parameter but computed based on the opc, e.g. has_arg = opname >= opc.HAVE_ARGUMENT.
In an ideal world, fields argrepr and opname wouldn't need to be passed in std.Instruction(). We could either create another function or have setting these to be None to mean that they get filled in. And opname probably should be checked against opcode.
Although we want
has_stdargin the underlying bytecode instruction, in instd.Instruction()it shouldn't be passed as a parameter but computed based on the opc, e.g.has_arg = opname >= opc.HAVE_ARGUMENT.In an ideal world, fields
argreprandopnamewouldn't need to be passed instd.Instruction(). We could either create another function or have setting these to beNoneto mean that they get filled in. Andopnameprobably should be checked againstopcode.