def argument_types(self):
class ArgumentsIterator(collections.Sequence):<EOL><INDENT>def __init__(self, parent):<EOL><INDENT>self.parent = parent<EOL>self.length = None<EOL><DEDENT>def __len__(self):<EOL><INDENT>if self.length is None:<EOL><INDENT>self.length = conf.lib.clang_getNumArgTypes(self.parent)<EOL><DEDENT>return self.length<EOL><DEDENT>def __getitem__(self, key):<EOL><INDENT>if not isinstance(key, int):<EOL><INDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT>if key < <NUM_LIT:0>:<EOL><INDENT>raise IndexError("<STR_LIT>")<EOL><DEDENT>if key >= len(self):<EOL><INDENT>raise IndexError("<STR_LIT>"<EOL>"<STR_LIT>" % ( key, len(self) ))<EOL><DEDENT>result = conf.lib.clang_getArgType(self.parent, key)<EOL>if result.kind == TypeKind.INVALID:<EOL><INDENT>raise IndexError("<STR_LIT>")<EOL><DEDENT>return result<EOL><DEDENT><DEDENT>assert self.kind == TypeKind.FUNCTIONPROTO<EOL>return ArgumentsIterator(self)<EOL>
Retrieve a container for the non-variadic arguments for this type.

        The returned object is iterable and indexable. Each item in the
        container is a Type instance.