feat: add restricted visibility syntax

This commit is contained in:
Shunsuke Shibayama 2023-03-05 02:19:18 +09:00
parent 309bb06db8
commit d92f5284c8
44 changed files with 3803 additions and 2358 deletions

View file

@ -520,7 +520,7 @@ mod test {
varinfo::{AbsLocation, VarInfo},
};
use erg_common::{config::Input, error::Location};
use erg_parser::ast::VarName;
use erg_parser::ast::{VarName, VisModifierSpec};
// These Erg codes are not correct grammar.
// This test make sure sub_msg and hint are displayed correctly.
@ -704,19 +704,17 @@ mod test {
errors.push(err);
let input = Input::pipe("ambiguous type error".to_string());
let expr = Identifier::new(
Some(erg_parser::token::Token {
kind: erg_parser::token::TokenKind::EOF,
content: "expr_content".into(),
lineno: 1,
col_begin: 1,
}),
let raw = erg_parser::ast::Identifier::new(
VisModifierSpec::Private,
VarName::from_str("variable_name".into()),
);
let expr = Identifier::new(
raw,
None,
VarInfo::new(
Type::Nat,
crate::varinfo::Mutability::Const,
erg_common::vis::Visibility::Private,
crate::ty::Visibility::DUMMY_PRIVATE,
crate::varinfo::VarKind::Builtin,
None,
None,
@ -759,7 +757,7 @@ mod test {
let input = Input::pipe("visibility error".to_string());
let loc = Location::Line(1);
let vis = erg_common::vis::Visibility::Private;
let vis = crate::ty::Visibility::DUMMY_PRIVATE;
let err =
TyCheckError::visibility_error(input, errno, loc, caused_by.to_string(), name, vis);
errors.push(err);