Error BCE0044: expecting (, found 'OnCollisionEnter'

I ran across a scripting error to do with nested brackets, but I really can’t find the problem. Does anyone know whats going on? The error is apparently at 16,16

#pragma strict

var plasterWall : GameObject;
var wallObjectTag : String = "Wall";

function OnMouseDown () {
	Debug.Log("Tile clicked");
	
	if (gameObject.tag == "placement_plane_open"){
		Instantiate(plasterWall, gameObject.transform.position, gameObject.transform.rotation);
		gameObject.tag="placement_plane_closed";
	}
}

    function OnMouseOver () {
        if(Input.GetMouseButtonDown(1)){
            if OnCollisionEnter (Collision col){
            	if (col.gameObject.tag == "Wall") {
            		Destroy(col.gameObject);
            	}
            }
        }
    }

The compiler describes the problem quite well. It found a function when it expected a (. You always have to wrap if statement conditions in a () pair. OnCollisionEnter is also a function definition. You need to move that down to its own function body and restructure your code. If you simply want to know what object you are clicking on, you can use override the OnMouseDown() function, add a ray cast, then check if the first hit object tag is “Wall”. Search the forum for code to do that. In that case, make the wall a Trigger type in the Collider and you don’t need the OnCollsionEnter method at all.

Missing some brackets in your if statement.

if OnCollisionEnter (Collision col)

Also, OnCollisionEnter is a function

function OnCollisionEnter (col : Collision)
{
     //etc
}