Commit 588aa979 by Ian Lance Taylor

compiler: better error messages for slicing invalid types

    
    Reviewed-on: https://go-review.googlesource.com/43457

From-SVN: r248082
parent d73b8f84
d3997526dc0710e6b9b727a41184ce1770805794 924a1fcc5658a5d66f5015921d7258e3a77519bc
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -10610,10 +10610,24 @@ Index_expression::do_lower(Gogo*, Named_object*, Statement_inserter*, int) ...@@ -10610,10 +10610,24 @@ Index_expression::do_lower(Gogo*, Named_object*, Statement_inserter*, int)
} }
return Expression::make_map_index(left, start, location); return Expression::make_map_index(left, start, location);
} }
else if (cap != NULL)
{
go_error_at(location,
"invalid 3-index slice of object that is not a slice");
return Expression::make_error(location);
}
else if (end != NULL)
{
go_error_at(location,
("attempt to slice object that is not "
"array, slice, or string"));
return Expression::make_error(location);
}
else else
{ {
go_error_at(location, go_error_at(location,
"attempt to index object which is not array, string, or map"); ("attempt to index object that is not "
"array, slice, string, or map"));
return Expression::make_error(location); return Expression::make_error(location);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment