diff --git a/idl_parser/module.py b/idl_parser/module.py index 482dd91..ab3a41b 100644 --- a/idl_parser/module.py +++ b/idl_parser/module.py @@ -91,8 +91,13 @@ def parse_tokens(self, token_buf, filepath=None): else: blocks.append(t) t = typedef.IDLTypedef(self) - self._typedefs.append(t) t.parse_blocks(blocks, filepath=filepath) + t_ = self.typedef_by_name(t.name) + if t_: + if self._verbose: sys.stdout.write('# Error. Same Typedef Defined (%s)\n' % t.name) + else: + self._typedefs.append(t) + elif token == 'struct': ln, fn, name_ = token_buf.pop() s_ = self.struct_by_name(name_)