示例#1
0
        /// <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);
        }
示例#2
0
 /// <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);