//
// Tipos de datos nativos
//

hidden native object::object{
	self: native
	copy: native
	deepCopy: native
	lexicalParent: native
	lexicalSons: native
	operatorEqual(x): native
	operatorNotEqual(x): native
	toString: native
}

hidden native null::object{
	operatorEqual(x): native
	operatorNotEqual(x): native
	toString: native
}

hidden native boolean::object{
	operatorEqual(x): native
	operatorNotEqual(x): native	
	toString: native
}

hidden native integer::object{
	operatorPlus: native
	operatorMinus: native
	operatorPlus(x): native
	operatorMinus(x): native
	operatorMultiplication(x): native
	operatorDivision(x): native
	operatorModulus(x): native
	operatorEqual(x): native
	operatorNotEqual(x): native
	operatorGreater(x): native
	operatorLess(x): native
	operatorGreaterOrEqual(x): native
	operatorLessOrEqual(x): native
	toFloat: native
	toString: native
}

hidden native float::object{
	operatorPlus: native
	operatorMinus: native
	operatorPlus(x): native
	operatorMinus(x): native
	operatorMultiplication(x): native
	operatorDivision(x): native
	operatorModulus(x): native
	operatorEqual(x): native
	operatorNotEqual(x): native
	operatorGreater(x): native
	operatorLess(x): native
	operatorGreaterOrEqual(x): native
	operatorLessOrEqual(x): native
	toInteger: native
	toString: native
}

hidden native string::object{
	length: native
	operatorEqual(x): native
	operatorNotEqual(x): native
	operatorGet(indice): native
	operatorConcat(x): native
	tokens: native
	tokens(x): native
	tolower: native
	toupper: native
	toString: native
}

hidden native array::object{
	length: native
	operatorEqual(x): native
	operatorNotEqual(x): native
	operatorGet(indice): native
	operatorSet(indice,x): native
	operatorUnion(x): native
	toString: native
}