
Fix problem with InitExpr::type field not being analyzed.

Note:

  I think declarations without explicit types of the form:

    var x = f();

  are generating an InitExpr with a NULL "type" field.

  I think that the "type" field should contain a copy of the
  initialization value (e.g. "f()").   The reason being that
  we want the type of x to be whatever the type of f() is.

  If the InitExpr::type field is NULL, I would have to assign
  "nil" to "x" which would mean that code like:

  var x = f();  // where f() returns a float

  ...

  x = 2;

  would fail because the type of "x" before the assignment of the integer
  would be { float | Nil }, and overloaded = of (Nil, integer) is integer
  and overloaded = of (float, integer) is float so the result would be
  that x would be of type { float | integer | Nil } which mixes primitives.

  Conversely if we make InitExpr::type be "f()", then the type of x
  before the assignment would be { float } so that the final type of
  x will be { float }.


git-svn-id: 88467cb1fb04b8a755be7e1ee1026be4190196ef@4567 3a8e244f-b0f2-452b-bcba-4c88e055c3ca

sungeunchoi/chapel,chizarlicious/chapel,CoryMcCartan/chapel,hildeth/chapel,CoryMcCartan/chapel,chizarlicious/chapel,CoryMcCartan/chapel,sungeunchoi/chapel,sungeunchoi/chapel,CoryMcCartan/chapel,hildeth/chapel,hildeth/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel,chizarlicious/chapel,chizarlicious/chapel,chizarlicious/chapel,hildeth/chapel,chizarlicious/chapel,sungeunchoi/chapel,sungeunchoi/chapel,hildeth/chapel,sungeunchoi/chapel,sungeunchoi/chapel,sungeunchoi/chapel,hildeth/chapel,chizarlicious/chapel,CoryMcCartan/chapel,hildeth/chapel