CodeGenFile generateInterface(ComponentData data) { var componentName = data.GetFullTypeName().ToComponentName(_ignoreNamespacesConfig.ignoreNamespaces); var memberData = data.GetMemberData(); var interfaceName = "I" + componentName.RemoveComponentSuffix(); var template = memberData.Length == 0 ? FLAG_INTERFACE_TEMPLATE : STANDARD_INTERFACE_TEMPLATE; var fileContent = template .Replace("${InterfaceName}", interfaceName) .Replace("${ComponentType}", data.GetFullTypeName()) .Replace("${ComponentName}", componentName) .Replace("${componentName}", componentName.LowercaseFirst()) .Replace("${prefixedName}", data.GetCustomComponentPrefix().LowercaseFirst() + componentName) .Replace("${memberArgs}", getMemberArgs(memberData)); return(new CodeGenFile( "Components" + Path.DirectorySeparatorChar + "Interfaces" + Path.DirectorySeparatorChar + interfaceName + ".cs", fileContent, GetType().FullName )); }
CodeGenFile generateExtension(string contextName, ComponentData data) { var memberData = data.GetMemberData(); var componentName = data.GetFullTypeName().ToComponentName(_ignoreNamespacesConfig.ignoreNamespaces); var template = memberData.Length == 0 ? FLAG_COMPONENT_TEMPLATE : SA_COMPONENT_TEMPLATE; var fileContent = template .Replace("${ContextName}", contextName) .Replace("${ComponentType}", data.GetFullTypeName()) .Replace("${ComponentName}", componentName) .Replace("${componentName}", componentName.LowercaseFirst()) .Replace("${prefixedComponentName}", data.GetCustomComponentPrefix().LowercaseFirst() + componentName) .Replace("${memberArgs}", getMemberArgs(memberData)) .Replace("${methodArgs}", getMethodArgs(memberData)); return(new CodeGenFile( contextName + Path.DirectorySeparatorChar + "Components" + Path.DirectorySeparatorChar + contextName + componentName.AddComponentSuffix() + ".cs", fileContent, GetType().FullName )); }