This commit is contained in:
ProgramSnail 2023-05-09 17:42:46 +03:00
parent fcff4f9103
commit d2140af3b4
2 changed files with 3 additions and 2 deletions

Binary file not shown.

View file

@ -1159,13 +1159,14 @@ void TypeCheckVisitor::Visit(AnnotatedName* node) {
utils::IdType type = current_type_; utils::IdType type = current_type_;
if (!is_const_definition_.has_value()) { if (!is_const_definition_.has_value()) {
error_handling::HandleInternalError("No value in is_const_definition_", "TypeCheckVisitor.AnnotatedName"); error_handling::HandleInternalError("No value in is_const_definition_",
"TypeCheckVisitor.AnnotatedName");
} }
utils::ValueType value_type = context_manager_.GetValueType(type); utils::ValueType value_type = context_manager_.GetValueType(type);
if (value_type == utils::ValueType::Const if (value_type == utils::ValueType::Const
&& is_const_definition_.value() == utils::IsConstModifier::Var) { && is_const_definition_.value() == utils::IsConstModifier::Var) {
error_handling::HandleTypecheckError("TupleName: value type expression not match variable definition modifier", node->base); error_handling::HandleTypecheckError("AnnotatedName: value type expression not match variable definition modifier", node->base);
} }
type = context_manager_.ToModifiedValue(type, utils::IsConstModifierToValueType(is_const_definition_.value())); type = context_manager_.ToModifiedValue(type, utils::IsConstModifierToValueType(is_const_definition_.value()));