--- layout: fc_discuss_archives title: Message 14 from Frama-C-discuss on March 2012 ---
Hello, On 03/19/2012 01:36 PM, Pierre Karpman wrote: > I'm using your script as a basis for the instrumentation code in my > plugin but it appears that it's not possible to call any functions of > the "File" module from inside a dynamic plugin (although there's no > problems opening the module itself)?! > I found no reference to such a restriction in the module documentation > or in the plugin development guide, so is it possible that the issue > comes from some misconfiguration of mine? There is no such restriction and there are actually several plug-ins which refer to module File. Are you sure that you have no other module File somewhere in your linked code which hides the kernel one? > Anyway, I replaced the call to "File.create_project_from_visitor" by one > to "Project.create_by_copy" and it seems to work all right, but I'm not > quite sure there's no difference between the two? File.create_project_from_visitor internally uses Project.create_by_copy. The latter only creates a new project which is a copy of its argument. The former performs the same operation, but (1) it also applies the provided visitor in order to modify the AST and (2) it reset some Frama-C states to keep Frama-C consistent as a whole. Hope this helps, Julien