compiler: determine types of Slice_{value,info} expressions
This fixes an accidental omission in the determine types pass. Test case is https://go.dev/cl/505015. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/504797
This commit is contained in:
parent
80e9ca0e36
commit
cb760f66e0
3 changed files with 13 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
|||
6a1d165c2218cd127ee937a1f45599075762f716
|
||||
195060166e6045408a2cb95e6aa88c6f0b98f20b
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -18307,6 +18307,16 @@ Slice_value_expression::do_traverse(Traverse* traverse)
|
|||
return TRAVERSE_CONTINUE;
|
||||
}
|
||||
|
||||
// Determine type of a slice value.
|
||||
|
||||
void
|
||||
Slice_value_expression::do_determine_type(const Type_context*)
|
||||
{
|
||||
this->valmem_->determine_type_no_context();
|
||||
this->len_->determine_type_no_context();
|
||||
this->cap_->determine_type_no_context();
|
||||
}
|
||||
|
||||
Expression*
|
||||
Slice_value_expression::do_copy()
|
||||
{
|
||||
|
|
|
@ -4364,8 +4364,7 @@ class Slice_value_expression : public Expression
|
|||
{ return this->type_; }
|
||||
|
||||
void
|
||||
do_determine_type(const Type_context*)
|
||||
{ }
|
||||
do_determine_type(const Type_context*);
|
||||
|
||||
Expression*
|
||||
do_copy();
|
||||
|
@ -4419,7 +4418,7 @@ class Slice_info_expression : public Expression
|
|||
|
||||
void
|
||||
do_determine_type(const Type_context*)
|
||||
{ }
|
||||
{ this->slice_->determine_type_no_context(); }
|
||||
|
||||
Expression*
|
||||
do_copy()
|
||||
|
|
Loading…
Add table
Reference in a new issue