/// <summary> /// Handles an assembly directive. /// </summary> /// <param name="directive">The directive containing a potential assembly reference.</param> private void HandleAssemblyDirective([NotNull] IT4Directive directive) { string assemblyNameOrFile = directive.GetAttributeValue(_directiveInfoManager.Assembly.NameAttribute.Name); if (assemblyNameOrFile == null || (assemblyNameOrFile = assemblyNameOrFile.Trim()).Length == 0) { // Handle <#@ assembly name="" completion="someassembly" #>, which is a ForTea-specific way // to get completion for an implicit assembly (for example, added by a custom directive). assemblyNameOrFile = directive.GetAttributeValue("completion"); if (assemblyNameOrFile == null || (assemblyNameOrFile = assemblyNameOrFile.Trim()).Length == 0) { return; } } VsBuildMacroHelper.GetMacros(assemblyNameOrFile, _macros); _referencedAssemblies.Add(assemblyNameOrFile); }
/// <summary>Handles an include directive.</summary> /// <param name="directive">The directive containing a potential macro.</param> private void HandleIncludeDirective([NotNull] IT4Directive directive) => VsBuildMacroHelper.GetMacros(directive.GetAttributeValue(_directiveInfoManager.Include.FileAttribute.Name), _macros);