def getmembers(self):
names = set()<EOL>for scope in self.scopes:<EOL><INDENT>if isinstance(scope, type):<EOL><INDENT>names.update(structured.getmembers_static(scope))<EOL><DEDENT>else:<EOL><INDENT>names.update(structured.getmembers_runtime(scope))<EOL><DEDENT><DEDENT>return names<EOL>
Gets members (vars) from all scopes, using both runtime and static.

        This method will attempt both static and runtime getmembers. This is the
        recommended way of getting available members.

        Returns:
            Set of available vars.

        Raises:
            NotImplementedError if any scope fails to implement 'getmembers'.