##### SUMMARY
An invalid syntax within a jinja2 statement results in the statement being returned instead of an syntax error.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
jinja2

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/user/PycharmProjects/ansible-2/lib/ansible
  executable location = /home/user/PycharmProjects/ansible-2/bin/ansible
  python version = 3.7.3 (default, Mar 26 2019, 21:43:19) [GCC 8.2.1 20181127]
```

##### CONFIGURATION

##### OS / ENVIRONMENT

ArchLinux

##### STEPS TO REPRODUCE

```yaml
- name: Test
  hosts: localhost
  gather_facts: false
  become: false
  strategy: linear
  tasks:
    - debug:
        msg: "{{ foo | ipaddr('address')) }}"
```

##### EXPECTED RESULTS

Syntax error (two closing `)`-characters)

##### ACTUAL RESULTS

```paste below
ok: [localhost] => {
    "msg": "{{ foo | ipaddr('address')) }}"
}
```

@sivel 
raise AnsibleError("not implemented")
    def preprocess_data(self, ds):
        
        
        if isinstance(ds, int):
            ds = "%s" % ds
        if not isinstance(ds, dict) and not isinstance(ds, string_types) and not isinstance(ds, AnsibleBaseYAMLObject):
            raise AnsibleAssertionError()
        if isinstance(ds, dict):
            ds = super(RoleDefinition, self).preprocess_data(ds)
        
        self._ds = ds
        
        
        
        new_ds = AnsibleMapping()
        if isinstance(ds, AnsibleBaseYAMLObject):
            new_ds.ansible_pos = ds.ansible_pos
        
        
        
        role_name = self._load_role_name(ds)
        (role_name, role_path) = self._load_role_path(role_name)