ExpressionPtr AssignmentExpression::makeIdCall(AnalysisResultPtr ar) { ExpressionListPtr arg = ExpressionListPtr(new ExpressionList(getLocation(), Expression::KindOfExpressionList)); arg->insertElement(m_value); SimpleFunctionCallPtr result = SimpleFunctionCallPtr( new SimpleFunctionCall(getLocation(), Expression::KindOfSimpleFunctionCall, "id", arg, NULL)); result->setFunctionAndClassScope(ar->findHelperFunction("id"), ClassScopePtr()); result->setValid(); result->setNoPrefix(); result->setActualType(m_value->getActualType()); result->setExpectedType(m_expectedType); return result; }