protected override void ResolveEmbeddedFilesFromExternalSourceDirectives( SyntaxTree tree, SourceReferenceResolver resolver, OrderedSet <string> embeddedFiles, DiagnosticBag diagnostics ) { foreach ( LineDirectiveTriviaSyntax directive in tree.GetRoot() .GetDirectives( d => d.IsActive && !d.HasErrors && d.Kind() == SyntaxKind.LineDirectiveTrivia ) ) { var path = (string?)directive.File.Value; if (path == null) { continue; } string?resolvedPath = resolver.ResolveReference(path, tree.FilePath); if (resolvedPath == null) { diagnostics.Add( MessageProvider.CreateDiagnostic( (int)ErrorCode.ERR_NoSourceFile, directive.File.GetLocation(), path, CSharpResources.CouldNotFindFile ) ); continue; } embeddedFiles.Add(resolvedPath); } }