compiler: disallow named types redeclaration via contract config
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
865bd6c9cc
commit
44dfe8342d
4 changed files with 34 additions and 1 deletions
|
@ -340,7 +340,9 @@ func CompileAndSave(src string, o *Options) ([]byte, error) {
|
|||
cfg.NamedTypes = di.NamedTypes
|
||||
}
|
||||
for name, et := range o.DeclaredNamedTypes {
|
||||
// TODO: handle name conflict (it can happen due to invalid user input e.g.)
|
||||
if _, ok := cfg.NamedTypes[name]; ok {
|
||||
return nil, fmt.Errorf("configured declared named type intersects with the contract's one: `%s`", name)
|
||||
}
|
||||
cfg.NamedTypes[name] = et
|
||||
}
|
||||
for _, e := range o.ContractEvents {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue