Type could not be resolved because of cycle

I made a simple Javascript flamethrower but I get this error:

Assets/FlameThrower.js(30,9): BCE0070: Definition of 'FlameThrower.ShootShort()' depends on 'FlameThrower.ShootLong()' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.

Does anyone know how to solve it?
Below here is my code:

var longShot : boolean = false;
var shortShot : boolean = false;
var particleLong : GameObject;
var particleShort : GameObject;
var damageBoxLong : GameObject;
var damageBoxShort : GameObject;

function Start () 
{
	ShootLong();
}

function ShootLong ()
{
	particleLong.gameObject.SetActive (true);
	damageBoxLong.gameObject.SetActive (true);
	particleShort.gameObject.SetActive (false);
	damageBoxShort.gameObject.SetActive (false);
	yield WaitForSeconds (3);
	ShootShort ();
	return;
}

function ShootShort(){
	particleLong.gameObject.SetActive (false);
	damageBoxLong.gameObject.SetActive (false);
	particleShort.gameObject.SetActive (true);
	damageBoxShort.gameObject.SetActive (true);
	yield WaitForSeconds (1);
	ShootLong ();
	return;
}

I don’t know UnityScript but you are recursively calling these two.