.filter(|(name, _)| name.owning_module().as_str() != "builtins")
.map(ModuleExport::PredicateKey)
.collect();
+
+ module.module_decl.exports.extend(
+ indices.op_dir.iter()
+ .map(|((name, _), OpDirValue (shared_op_desc, _))|
+ ModuleExport::OpDecl(OpDecl(
+ shared_op_desc.prec(),
+ shared_op_desc.assoc(),
+ name.clone(),
+ ))
+ )
+ );
}
let mut clause_code_generator =
}
}
}
- }
+ }
_ => {}
};
},
_: &Module,
_: &Vec<ModuleExport>,
) -> Result<(), SessionError>;
-
+
fn use_module(
&mut self,
_: &mut CodeRepo,
if !user.import_decl(name.clone(), arity, submodule) {
let submodule_name = submodule.module_decl.name.clone();
-
+
return Err(SessionError::ModuleDoesNotContainExport(
submodule_name,
(name, arity)
let op_dir = user.op_dir();
let prec = op_decl.0;
-
+
op_decl.insert_into_op_dir(
submodule.module_decl.name.clone(),
op_dir,
prec,
- );
+ );
}
}
}
ModuleExport::OpDecl(op_decl) => {
let op_dir = user.op_dir();
let prec = op_decl.0;
-
+
op_decl.insert_into_op_dir(
submodule.module_decl.name.clone(),
op_dir,
prec,
- );
+ );
}
}
}