Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: pkg/analysis_server/lib/src/context_manager.dart

Issue 2272093003: Use SdkExtensionFinder in the old Analysis Server implementation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/analysis_server.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library context.directory.manager; 5 library context.directory.manager;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:convert'; 9 import 'dart:convert';
10 import 'dart:core' hide Resource; 10 import 'dart:core' hide Resource;
(...skipping 1692 matching lines...) Expand 10 before | Expand all | Expand 10 after
1703 Packages get packages => null; 1703 Packages get packages => null;
1704 1704
1705 @override 1705 @override
1706 Iterable<UriResolver> createPackageUriResolvers( 1706 Iterable<UriResolver> createPackageUriResolvers(
1707 ResourceProvider resourceProvider) => 1707 ResourceProvider resourceProvider) =>
1708 <UriResolver>[resolver]; 1708 <UriResolver>[resolver];
1709 1709
1710 @override 1710 @override
1711 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) => 1711 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) =>
1712 new EmbedderYamlLocator(null); 1712 new EmbedderYamlLocator(null);
1713
1714 @override
1715 SdkExtensionFinder getSdkExtensionFinder(ResourceProvider resourceProvider) =>
1716 new SdkExtensionFinder(null);
1713 } 1717 }
1714 1718
1715 /** 1719 /**
1716 * An instance of the class [FolderDisposition] represents the information 1720 * An instance of the class [FolderDisposition] represents the information
1717 * gathered by the [ContextManagerImpl] to determine how to create an 1721 * gathered by the [ContextManagerImpl] to determine how to create an
1718 * [AnalysisContext] for a given folder. 1722 * [AnalysisContext] for a given folder.
1719 * 1723 *
1720 * Note: [ContextManagerImpl] may use equality testing and hash codes to 1724 * Note: [ContextManagerImpl] may use equality testing and hash codes to
1721 * determine when two folders should share the same context, so derived classes 1725 * determine when two folders should share the same context, so derived classes
1722 * may need to override operator== and hashCode() if object identity is 1726 * may need to override operator== and hashCode() if object identity is
(...skipping 27 matching lines...) Expand all
1750 */ 1754 */
1751 Iterable<UriResolver> createPackageUriResolvers( 1755 Iterable<UriResolver> createPackageUriResolvers(
1752 ResourceProvider resourceProvider); 1756 ResourceProvider resourceProvider);
1753 1757
1754 /** 1758 /**
1755 * Return the locator used to locate the _embedder.yaml file used to configure 1759 * Return the locator used to locate the _embedder.yaml file used to configure
1756 * the SDK. The [resourceProvider] is used to access the file system in cases 1760 * the SDK. The [resourceProvider] is used to access the file system in cases
1757 * where that is necessary. 1761 * where that is necessary.
1758 */ 1762 */
1759 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider); 1763 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider);
1764
1765 /**
1766 * Return the extension finder used to locate the `_sdkext` file used to add
1767 * extensions to the SDK. The [resourceProvider] is used to access the file
1768 * system in cases where that is necessary.
1769 */
1770 SdkExtensionFinder getSdkExtensionFinder(ResourceProvider resourceProvider);
1760 } 1771 }
1761 1772
1762 /** 1773 /**
1763 * Concrete [FolderDisposition] object indicating that the context for a given 1774 * Concrete [FolderDisposition] object indicating that the context for a given
1764 * folder should not resolve "package:" URIs at all. 1775 * folder should not resolve "package:" URIs at all.
1765 */ 1776 */
1766 class NoPackageFolderDisposition extends FolderDisposition { 1777 class NoPackageFolderDisposition extends FolderDisposition {
1767 @override 1778 @override
1768 final String packageRoot; 1779 final String packageRoot;
1769 1780
1770 NoPackageFolderDisposition({this.packageRoot}); 1781 NoPackageFolderDisposition({this.packageRoot});
1771 1782
1772 @override 1783 @override
1773 Packages get packages => null; 1784 Packages get packages => null;
1774 1785
1775 @override 1786 @override
1776 Iterable<UriResolver> createPackageUriResolvers( 1787 Iterable<UriResolver> createPackageUriResolvers(
1777 ResourceProvider resourceProvider) => 1788 ResourceProvider resourceProvider) =>
1778 const <UriResolver>[]; 1789 const <UriResolver>[];
1779 1790
1780 @override 1791 @override
1781 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) => 1792 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) =>
1782 new EmbedderYamlLocator(null); 1793 new EmbedderYamlLocator(null);
1794
1795 @override
1796 SdkExtensionFinder getSdkExtensionFinder(ResourceProvider resourceProvider) =>
1797 new SdkExtensionFinder(null);
1783 } 1798 }
1784 1799
1785 /** 1800 /**
1786 * Concrete [FolderDisposition] object indicating that the context for a given 1801 * Concrete [FolderDisposition] object indicating that the context for a given
1787 * folder should resolve packages using a package map. 1802 * folder should resolve packages using a package map.
1788 */ 1803 */
1789 class PackageMapDisposition extends FolderDisposition { 1804 class PackageMapDisposition extends FolderDisposition {
1790 final Map<String, List<Folder>> packageMap; 1805 final Map<String, List<Folder>> packageMap;
1791 1806
1792 EmbedderYamlLocator _embedderLocator; 1807 EmbedderYamlLocator _embedderLocator;
1808 SdkExtensionFinder _sdkExtensionFinder;
1793 1809
1794 @override 1810 @override
1795 final String packageRoot; 1811 final String packageRoot;
1796 1812
1797 PackageMapDisposition(this.packageMap, {this.packageRoot}); 1813 PackageMapDisposition(this.packageMap, {this.packageRoot});
1798 1814
1799 @override 1815 @override
1800 Packages get packages => null; 1816 Packages get packages => null;
1801 1817
1802 @override 1818 @override
1803 Iterable<UriResolver> createPackageUriResolvers( 1819 Iterable<UriResolver> createPackageUriResolvers(
1804 ResourceProvider resourceProvider) => 1820 ResourceProvider resourceProvider) =>
1805 <UriResolver>[ 1821 <UriResolver>[
1806 new SdkExtUriResolver(packageMap), 1822 new SdkExtUriResolver(packageMap),
1807 new PackageMapUriResolver(resourceProvider, packageMap) 1823 new PackageMapUriResolver(resourceProvider, packageMap)
1808 ]; 1824 ];
1809 1825
1810 @override 1826 @override
1811 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) { 1827 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) {
1812 if (_embedderLocator == null) { 1828 if (_embedderLocator == null) {
1813 _embedderLocator = new EmbedderYamlLocator(packageMap); 1829 _embedderLocator = new EmbedderYamlLocator(packageMap);
1814 } 1830 }
1815 return _embedderLocator; 1831 return _embedderLocator;
1816 } 1832 }
1833
1834 @override
1835 SdkExtensionFinder getSdkExtensionFinder(ResourceProvider resourceProvider) {
1836 return _sdkExtensionFinder ??= new SdkExtensionFinder(packageMap);
1837 }
1817 } 1838 }
1818 1839
1819 /** 1840 /**
1820 * Concrete [FolderDisposition] object indicating that the context for a given 1841 * Concrete [FolderDisposition] object indicating that the context for a given
1821 * folder should resolve packages using a ".packages" file. 1842 * folder should resolve packages using a ".packages" file.
1822 */ 1843 */
1823 class PackagesFileDisposition extends FolderDisposition { 1844 class PackagesFileDisposition extends FolderDisposition {
1824 @override 1845 @override
1825 final Packages packages; 1846 final Packages packages;
1826 1847
1827 Map<String, List<Folder>> packageMap; 1848 Map<String, List<Folder>> packageMap;
1828 1849
1829 EmbedderYamlLocator _embedderLocator; 1850 EmbedderYamlLocator _embedderLocator;
1851 SdkExtensionFinder _sdkExtensionFinder;
1830 1852
1831 PackagesFileDisposition(this.packages); 1853 PackagesFileDisposition(this.packages);
1832 1854
1833 @override 1855 @override
1834 String get packageRoot => null; 1856 String get packageRoot => null;
1835 1857
1836 Map<String, List<Folder>> buildPackageMap(ResourceProvider resourceProvider) { 1858 Map<String, List<Folder>> buildPackageMap(ResourceProvider resourceProvider) {
1837 if (packageMap == null) { 1859 if (packageMap == null) {
1838 packageMap = <String, List<Folder>>{}; 1860 packageMap = <String, List<Folder>>{};
1839 if (packages != null) { 1861 if (packages != null) {
(...skipping 21 matching lines...) Expand all
1861 } 1883 }
1862 1884
1863 @override 1885 @override
1864 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) { 1886 EmbedderYamlLocator getEmbedderLocator(ResourceProvider resourceProvider) {
1865 if (_embedderLocator == null) { 1887 if (_embedderLocator == null) {
1866 _embedderLocator = 1888 _embedderLocator =
1867 new EmbedderYamlLocator(buildPackageMap(resourceProvider)); 1889 new EmbedderYamlLocator(buildPackageMap(resourceProvider));
1868 } 1890 }
1869 return _embedderLocator; 1891 return _embedderLocator;
1870 } 1892 }
1893
1894 @override
1895 SdkExtensionFinder getSdkExtensionFinder(ResourceProvider resourceProvider) {
1896 return _sdkExtensionFinder ??=
1897 new SdkExtensionFinder(buildPackageMap(resourceProvider));
1898 }
1871 } 1899 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/analysis_server.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698