/// <summary>check the dependencies for not mapped types. Store the found deps</summary> /// <param name="depInfo"></param> public void RegisterNotMapped(DependencyInformation depInfo) { StoreToMapNext(depInfo.DependenciesContent); StoreToMapNext(depInfo.DependenciesInheritance); }
/// <summary> /// begin a type definition for the Type dotnetType; This type is mapped to an idl type with name unqualName in the modules modules /// </summary> private void BeginTypeWithName(Type dotNetType, AttributeExtCollection attributes, AttributeExtCollection attributesAfterMap, string[] modules, string unqualName) { // determine the dependencies for the type m_depInfo = m_depManager.GetDependencyInformation(dotNetType, attributesAfterMap); m_openModules = modules; // write it // create output-stream m_toIDLFile = CreateIdlFullName(modules, unqualName); m_currentOutputStream = OpenFile(m_toIDLFile); WriteFileHeader(m_toIDLFile); // register this type as mapped m_depManager.RegisterMappedType(dotNetType, attributes, m_toIDLFile); // map types needed, write fwd references BeforeTypeDefinition(); // protect against redefinition: m_currentOutputStream.Write("#ifndef "); string def = "__"; foreach (string mod in m_openModules) { def = def + mod + "_"; } def = def + unqualName + "__"; m_currentOutputStream.WriteLine(def); m_currentOutputStream.WriteLine("#define " + def); }