protected function isPrimitive(Node $node)
{
switch ($node->getType()) {
case 'Expr_Cast_Array':
case 'Expr_Array':
return 'array';
case 'Expr_Cast_Bool':
//booleans are treated as constants otherwise. . .
return 'bool';
case 'Expr_Cast_String':
case 'Scalar_String':
case 'Scalar_Encapsed':
return 'string';
case 'Expr_Cast_Double':
case 'Scalar_DNumber':
return 'float';
case 'Expr_Cast_Int':
case 'Scalar_LNumber':
return 'int';
case 'Expr_Cast_Object':
return 'object';
}
return null;
}