import inspect
import sys

def print_methods_with_parameters(target_type):
    methods = dir(target_type)

    # 各メソッドの引数を表示
    for method_name in methods:
        method = getattr(target_type, method_name)
        if callable(method):
            try:
                signature = inspect.signature(method)
                # メソッド名と引数を整形して表示
                formatted_signature = f"\t{method_name}(self"
                for param in signature.parameters.values():
                    if param.name != 'self':  # 'self'を除外
                        formatted_signature += f", {param.name}"
                formatted_signature += ")"
                print(formatted_signature)
            except:
                pass

if __name__ == "__main__":
    for type_string in sys.argv[1:]:
        print(f"Type: {type_string}")
        print_methods_with_parameters(eval(type_string))
