def validate_external_function(code: ast.FunctionDef, sig: FunctionSignature, global_ctx: GlobalContext) -> None: """ Validate external function definition. """ # __init__ function may not have defaults. if sig.is_initializer() and sig.total_default_args > 0: raise FunctionDeclarationException( "__init__ function may not have default parameters.", code)
def validate_public_function(code: ast.FunctionDef, sig: FunctionSignature, global_ctx: GlobalContext) -> None: """ Validate public function definition. """ # __init__ function may not have defaults. if sig.is_initializer() and sig.total_default_args > 0: raise FunctionDeclarationException( "__init__ function may not have default parameters.", code) # Check for duplicate variables with globals for arg in sig.args: if arg.name in global_ctx._globals: raise FunctionDeclarationException( "Variable name duplicated between " "function arguments and globals: " + arg.name, code)