feat(frontends/lean): remove unnecessary flag
This commit is contained in:
parent
ce8f2a1674
commit
2109dff46a
3 changed files with 6 additions and 11 deletions
|
@ -20,9 +20,8 @@ Author: Leonardo de Moura
|
||||||
#include "frontends/lean/util.h"
|
#include "frontends/lean/util.h"
|
||||||
|
|
||||||
namespace lean {
|
namespace lean {
|
||||||
decl_attributes::decl_attributes(bool def_only, bool is_abbrev, bool persistent):
|
decl_attributes::decl_attributes(bool is_abbrev, bool persistent):
|
||||||
m_priority() {
|
m_priority() {
|
||||||
m_def_only = def_only;
|
|
||||||
m_is_abbrev = is_abbrev;
|
m_is_abbrev = is_abbrev;
|
||||||
m_persistent = persistent;
|
m_persistent = persistent;
|
||||||
m_is_instance = false;
|
m_is_instance = false;
|
||||||
|
@ -117,8 +116,6 @@ void decl_attributes::parse(buffer<name> const & ns, parser & p) {
|
||||||
m_is_class = true;
|
m_is_class = true;
|
||||||
p.next();
|
p.next();
|
||||||
} else if (p.curr_is_token(get_multiple_instances_tk())) {
|
} else if (p.curr_is_token(get_multiple_instances_tk())) {
|
||||||
if (m_def_only)
|
|
||||||
throw parser_error("invalid '[multiple-instances]' attribute, only classes can have this attribute", pos);
|
|
||||||
m_has_multiple_instances = true;
|
m_has_multiple_instances = true;
|
||||||
p.next();
|
p.next();
|
||||||
} else if (auto it = parse_instance_priority(p)) {
|
} else if (auto it = parse_instance_priority(p)) {
|
||||||
|
@ -246,7 +243,7 @@ environment decl_attributes::apply(environment env, io_state const & ios, name c
|
||||||
}
|
}
|
||||||
|
|
||||||
void decl_attributes::write(serializer & s) const {
|
void decl_attributes::write(serializer & s) const {
|
||||||
s << m_def_only << m_is_abbrev << m_persistent << m_is_instance << m_is_coercion
|
s << m_is_abbrev << m_persistent << m_is_instance << m_is_coercion
|
||||||
<< m_is_reducible << m_is_irreducible << m_is_semireducible << m_is_quasireducible
|
<< m_is_reducible << m_is_irreducible << m_is_semireducible << m_is_quasireducible
|
||||||
<< m_is_class << m_is_parsing_only << m_has_multiple_instances << m_unfold_f_hint
|
<< m_is_class << m_is_parsing_only << m_has_multiple_instances << m_unfold_f_hint
|
||||||
<< m_constructor_hint << m_symm << m_trans << m_refl << m_subst << m_recursor
|
<< m_constructor_hint << m_symm << m_trans << m_refl << m_subst << m_recursor
|
||||||
|
@ -254,7 +251,7 @@ void decl_attributes::write(serializer & s) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void decl_attributes::read(deserializer & d) {
|
void decl_attributes::read(deserializer & d) {
|
||||||
d >> m_def_only >> m_is_abbrev >> m_persistent >> m_is_instance >> m_is_coercion
|
d >> m_is_abbrev >> m_persistent >> m_is_instance >> m_is_coercion
|
||||||
>> m_is_reducible >> m_is_irreducible >> m_is_semireducible >> m_is_quasireducible
|
>> m_is_reducible >> m_is_irreducible >> m_is_semireducible >> m_is_quasireducible
|
||||||
>> m_is_class >> m_is_parsing_only >> m_has_multiple_instances >> m_unfold_f_hint
|
>> m_is_class >> m_is_parsing_only >> m_has_multiple_instances >> m_unfold_f_hint
|
||||||
>> m_constructor_hint >> m_symm >> m_trans >> m_refl >> m_subst >> m_recursor
|
>> m_constructor_hint >> m_symm >> m_trans >> m_refl >> m_subst >> m_recursor
|
||||||
|
|
|
@ -10,7 +10,6 @@ Author: Leonardo de Moura
|
||||||
namespace lean {
|
namespace lean {
|
||||||
class parser;
|
class parser;
|
||||||
class decl_attributes {
|
class decl_attributes {
|
||||||
bool m_def_only; // if true only definition attributes are allowed
|
|
||||||
bool m_is_abbrev; // if true only abbreviation attributes are allowed
|
bool m_is_abbrev; // if true only abbreviation attributes are allowed
|
||||||
bool m_persistent;
|
bool m_persistent;
|
||||||
bool m_is_instance;
|
bool m_is_instance;
|
||||||
|
@ -38,7 +37,7 @@ class decl_attributes {
|
||||||
void parse(name const & n, parser & p);
|
void parse(name const & n, parser & p);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
decl_attributes(bool def_only = true, bool is_abbrev = false, bool persistent = true);
|
decl_attributes(bool is_abbrev = false, bool persistent = true);
|
||||||
void parse(buffer<name> const & ns, parser & p);
|
void parse(buffer<name> const & ns, parser & p);
|
||||||
void parse(parser & p);
|
void parse(parser & p);
|
||||||
environment apply(environment env, io_state const & ios, name const & d) const;
|
environment apply(environment env, io_state const & ios, name const & d) const;
|
||||||
|
|
|
@ -1056,7 +1056,7 @@ public:
|
||||||
definition_cmd_fn(parser & p, def_cmd_kind kind, bool is_private, bool is_protected):
|
definition_cmd_fn(parser & p, def_cmd_kind kind, bool is_private, bool is_protected):
|
||||||
m_p(p), m_env(m_p.env()), m_kind(kind),
|
m_p(p), m_env(m_p.env()), m_kind(kind),
|
||||||
m_is_private(is_private), m_is_protected(is_protected),
|
m_is_private(is_private), m_is_protected(is_protected),
|
||||||
m_pos(p.pos()), m_attributes(true, kind == Abbreviation || kind == LocalAbbreviation) {
|
m_pos(p.pos()), m_attributes(kind == Abbreviation || kind == LocalAbbreviation) {
|
||||||
lean_assert(!(m_is_private && m_is_protected));
|
lean_assert(!(m_is_private && m_is_protected));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1183,9 +1183,8 @@ static environment attribute_cmd_core(parser & p, bool persistent) {
|
||||||
while (p.curr_is_identifier()) {
|
while (p.curr_is_identifier()) {
|
||||||
ds.push_back(p.check_constant_next("invalid 'attribute' command, constant expected"));
|
ds.push_back(p.check_constant_next("invalid 'attribute' command, constant expected"));
|
||||||
}
|
}
|
||||||
bool decl_only = false;
|
|
||||||
bool abbrev = false;
|
bool abbrev = false;
|
||||||
decl_attributes attributes(decl_only, abbrev, persistent);
|
decl_attributes attributes(abbrev, persistent);
|
||||||
attributes.parse(ds, p);
|
attributes.parse(ds, p);
|
||||||
environment env = p.env();
|
environment env = p.env();
|
||||||
for (name const & d : ds)
|
for (name const & d : ds)
|
||||||
|
|
Loading…
Reference in a new issue