Page MenuHomePhabricator

D19694.id47068.diff
No OneTemporary

D19694.id47068.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -45,450 +45,6 @@
'AphrontSchemaQueryException' => 'aphront/storage/exception/AphrontSchemaQueryException.php',
'AphrontScopedUnguardedWriteCapability' => 'aphront/writeguard/AphrontScopedUnguardedWriteCapability.php',
'AphrontWriteGuard' => 'aphront/writeguard/AphrontWriteGuard.php',
- 'BaseHTTPFuture' => 'future/http/BaseHTTPFuture.php',
- 'CaseInsensitiveArray' => 'utils/CaseInsensitiveArray.php',
- 'CaseInsensitiveArrayTestCase' => 'utils/__tests__/CaseInsensitiveArrayTestCase.php',
- 'CommandException' => 'future/exec/CommandException.php',
- 'ConduitClient' => 'conduit/ConduitClient.php',
- 'ConduitClientException' => 'conduit/ConduitClientException.php',
- 'ConduitClientTestCase' => 'conduit/__tests__/ConduitClientTestCase.php',
- 'ConduitFuture' => 'conduit/ConduitFuture.php',
- 'ExecFuture' => 'future/exec/ExecFuture.php',
- 'ExecFutureTestCase' => 'future/exec/__tests__/ExecFutureTestCase.php',
- 'ExecPassthruTestCase' => 'future/exec/__tests__/ExecPassthruTestCase.php',
- 'FileFinder' => 'filesystem/FileFinder.php',
- 'FileFinderTestCase' => 'filesystem/__tests__/FileFinderTestCase.php',
- 'FileList' => 'filesystem/FileList.php',
- 'Filesystem' => 'filesystem/Filesystem.php',
- 'FilesystemException' => 'filesystem/FilesystemException.php',
- 'FilesystemTestCase' => 'filesystem/__tests__/FilesystemTestCase.php',
- 'Future' => 'future/Future.php',
- 'FutureIterator' => 'future/FutureIterator.php',
- 'FutureIteratorTestCase' => 'future/__tests__/FutureIteratorTestCase.php',
- 'FutureProxy' => 'future/FutureProxy.php',
- 'HTTPFuture' => 'future/http/HTTPFuture.php',
- 'HTTPFutureCURLResponseStatus' => 'future/http/status/HTTPFutureCURLResponseStatus.php',
- 'HTTPFutureCertificateResponseStatus' => 'future/http/status/HTTPFutureCertificateResponseStatus.php',
- 'HTTPFutureHTTPResponseStatus' => 'future/http/status/HTTPFutureHTTPResponseStatus.php',
- 'HTTPFutureParseResponseStatus' => 'future/http/status/HTTPFutureParseResponseStatus.php',
- 'HTTPFutureResponseStatus' => 'future/http/status/HTTPFutureResponseStatus.php',
- 'HTTPFutureTransportResponseStatus' => 'future/http/status/HTTPFutureTransportResponseStatus.php',
- 'HTTPSFuture' => 'future/http/HTTPSFuture.php',
- 'ImmediateFuture' => 'future/ImmediateFuture.php',
- 'LibphutilUSEnglishTranslation' => 'internationalization/translation/LibphutilUSEnglishTranslation.php',
- 'LinesOfALarge' => 'filesystem/linesofalarge/LinesOfALarge.php',
- 'LinesOfALargeExecFuture' => 'filesystem/linesofalarge/LinesOfALargeExecFuture.php',
- 'LinesOfALargeExecFutureTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeExecFutureTestCase.php',
- 'LinesOfALargeFile' => 'filesystem/linesofalarge/LinesOfALargeFile.php',
- 'LinesOfALargeFileTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeFileTestCase.php',
- 'MFilterTestHelper' => 'utils/__tests__/MFilterTestHelper.php',
- 'PHPASTParserTestCase' => 'parser/xhpast/__tests__/PHPASTParserTestCase.php',
- 'PhageAction' => 'phage/action/PhageAction.php',
- 'PhageAgentAction' => 'phage/action/PhageAgentAction.php',
- 'PhageAgentBootloader' => 'phage/bootloader/PhageAgentBootloader.php',
- 'PhageAgentTestCase' => 'phage/__tests__/PhageAgentTestCase.php',
- 'PhageExecuteAction' => 'phage/action/PhageExecuteAction.php',
- 'PhageLocalAction' => 'phage/action/PhageLocalAction.php',
- 'PhagePHPAgent' => 'phage/agent/PhagePHPAgent.php',
- 'PhagePHPAgentBootloader' => 'phage/bootloader/PhagePHPAgentBootloader.php',
- 'PhagePlanAction' => 'phage/action/PhagePlanAction.php',
- 'Phobject' => 'object/Phobject.php',
- 'PhobjectTestCase' => 'object/__tests__/PhobjectTestCase.php',
- 'PhutilAPCKeyValueCache' => 'cache/PhutilAPCKeyValueCache.php',
- 'PhutilAWSCloudFormationFuture' => 'future/aws/PhutilAWSCloudFormationFuture.php',
- 'PhutilAWSCloudWatchFuture' => 'future/aws/PhutilAWSCloudWatchFuture.php',
- 'PhutilAWSEC2Future' => 'future/aws/PhutilAWSEC2Future.php',
- 'PhutilAWSException' => 'future/aws/PhutilAWSException.php',
- 'PhutilAWSFuture' => 'future/aws/PhutilAWSFuture.php',
- 'PhutilAWSManagementWorkflow' => 'future/aws/management/PhutilAWSManagementWorkflow.php',
- 'PhutilAWSS3DeleteManagementWorkflow' => 'future/aws/management/PhutilAWSS3DeleteManagementWorkflow.php',
- 'PhutilAWSS3Future' => 'future/aws/PhutilAWSS3Future.php',
- 'PhutilAWSS3GetManagementWorkflow' => 'future/aws/management/PhutilAWSS3GetManagementWorkflow.php',
- 'PhutilAWSS3ManagementWorkflow' => 'future/aws/management/PhutilAWSS3ManagementWorkflow.php',
- 'PhutilAWSS3PutManagementWorkflow' => 'future/aws/management/PhutilAWSS3PutManagementWorkflow.php',
- 'PhutilAWSv4Signature' => 'future/aws/PhutilAWSv4Signature.php',
- 'PhutilAWSv4SignatureTestCase' => 'future/aws/__tests__/PhutilAWSv4SignatureTestCase.php',
- 'PhutilAggregateException' => 'error/PhutilAggregateException.php',
- 'PhutilAllCapsEnglishLocale' => 'internationalization/locales/PhutilAllCapsEnglishLocale.php',
- 'PhutilAmazonAuthAdapter' => 'auth/PhutilAmazonAuthAdapter.php',
- 'PhutilArgumentParser' => 'parser/argument/PhutilArgumentParser.php',
- 'PhutilArgumentParserException' => 'parser/argument/exception/PhutilArgumentParserException.php',
- 'PhutilArgumentParserTestCase' => 'parser/argument/__tests__/PhutilArgumentParserTestCase.php',
- 'PhutilArgumentSpecification' => 'parser/argument/PhutilArgumentSpecification.php',
- 'PhutilArgumentSpecificationException' => 'parser/argument/exception/PhutilArgumentSpecificationException.php',
- 'PhutilArgumentSpecificationTestCase' => 'parser/argument/__tests__/PhutilArgumentSpecificationTestCase.php',
- 'PhutilArgumentSpellingCorrector' => 'parser/argument/PhutilArgumentSpellingCorrector.php',
- 'PhutilArgumentSpellingCorrectorTestCase' => 'parser/argument/__tests__/PhutilArgumentSpellingCorrectorTestCase.php',
- 'PhutilArgumentUsageException' => 'parser/argument/exception/PhutilArgumentUsageException.php',
- 'PhutilArgumentWorkflow' => 'parser/argument/workflow/PhutilArgumentWorkflow.php',
- 'PhutilArray' => 'utils/PhutilArray.php',
- 'PhutilArrayTestCase' => 'utils/__tests__/PhutilArrayTestCase.php',
- 'PhutilArrayWithDefaultValue' => 'utils/PhutilArrayWithDefaultValue.php',
- 'PhutilAsanaAuthAdapter' => 'auth/PhutilAsanaAuthAdapter.php',
- 'PhutilAsanaFuture' => 'future/asana/PhutilAsanaFuture.php',
- 'PhutilAuthAdapter' => 'auth/PhutilAuthAdapter.php',
- 'PhutilAuthConfigurationException' => 'auth/exception/PhutilAuthConfigurationException.php',
- 'PhutilAuthCredentialException' => 'auth/exception/PhutilAuthCredentialException.php',
- 'PhutilAuthException' => 'auth/exception/PhutilAuthException.php',
- 'PhutilAuthUserAbortedException' => 'auth/exception/PhutilAuthUserAbortedException.php',
- 'PhutilBacktraceSignalHandler' => 'future/exec/PhutilBacktraceSignalHandler.php',
- 'PhutilBallOfPHP' => 'phage/util/PhutilBallOfPHP.php',
- 'PhutilBinaryAnalyzer' => 'filesystem/binary/PhutilBinaryAnalyzer.php',
- 'PhutilBinaryAnalyzerTestCase' => 'filesystem/binary/__tests__/PhutilBinaryAnalyzerTestCase.php',
- 'PhutilBitbucketAuthAdapter' => 'auth/PhutilBitbucketAuthAdapter.php',
- 'PhutilBootloader' => 'moduleutils/PhutilBootloader.php',
- 'PhutilBootloaderException' => 'moduleutils/PhutilBootloaderException.php',
- 'PhutilBritishEnglishLocale' => 'internationalization/locales/PhutilBritishEnglishLocale.php',
- 'PhutilBufferedIterator' => 'utils/PhutilBufferedIterator.php',
- 'PhutilBufferedIteratorTestCase' => 'utils/__tests__/PhutilBufferedIteratorTestCase.php',
- 'PhutilBugtraqParser' => 'parser/PhutilBugtraqParser.php',
- 'PhutilBugtraqParserTestCase' => 'parser/__tests__/PhutilBugtraqParserTestCase.php',
- 'PhutilCIDRBlock' => 'ip/PhutilCIDRBlock.php',
- 'PhutilCIDRList' => 'ip/PhutilCIDRList.php',
- 'PhutilCLikeCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilCLikeCodeSnippetContextFreeGrammar.php',
- 'PhutilCalendarAbsoluteDateTime' => 'parser/calendar/data/PhutilCalendarAbsoluteDateTime.php',
- 'PhutilCalendarContainerNode' => 'parser/calendar/data/PhutilCalendarContainerNode.php',
- 'PhutilCalendarDateTime' => 'parser/calendar/data/PhutilCalendarDateTime.php',
- 'PhutilCalendarDateTimeTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarDateTimeTestCase.php',
- 'PhutilCalendarDocumentNode' => 'parser/calendar/data/PhutilCalendarDocumentNode.php',
- 'PhutilCalendarDuration' => 'parser/calendar/data/PhutilCalendarDuration.php',
- 'PhutilCalendarEventNode' => 'parser/calendar/data/PhutilCalendarEventNode.php',
- 'PhutilCalendarNode' => 'parser/calendar/data/PhutilCalendarNode.php',
- 'PhutilCalendarProxyDateTime' => 'parser/calendar/data/PhutilCalendarProxyDateTime.php',
- 'PhutilCalendarRawNode' => 'parser/calendar/data/PhutilCalendarRawNode.php',
- 'PhutilCalendarRecurrenceList' => 'parser/calendar/data/PhutilCalendarRecurrenceList.php',
- 'PhutilCalendarRecurrenceRule' => 'parser/calendar/data/PhutilCalendarRecurrenceRule.php',
- 'PhutilCalendarRecurrenceRuleTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php',
- 'PhutilCalendarRecurrenceSet' => 'parser/calendar/data/PhutilCalendarRecurrenceSet.php',
- 'PhutilCalendarRecurrenceSource' => 'parser/calendar/data/PhutilCalendarRecurrenceSource.php',
- 'PhutilCalendarRecurrenceTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarRecurrenceTestCase.php',
- 'PhutilCalendarRelativeDateTime' => 'parser/calendar/data/PhutilCalendarRelativeDateTime.php',
- 'PhutilCalendarRootNode' => 'parser/calendar/data/PhutilCalendarRootNode.php',
- 'PhutilCalendarUserNode' => 'parser/calendar/data/PhutilCalendarUserNode.php',
- 'PhutilCallbackFilterIterator' => 'utils/PhutilCallbackFilterIterator.php',
- 'PhutilCallbackSignalHandler' => 'future/exec/PhutilCallbackSignalHandler.php',
- 'PhutilChannel' => 'channel/PhutilChannel.php',
- 'PhutilChannelChannel' => 'channel/PhutilChannelChannel.php',
- 'PhutilChannelTestCase' => 'channel/__tests__/PhutilChannelTestCase.php',
- 'PhutilChunkedIterator' => 'utils/PhutilChunkedIterator.php',
- 'PhutilChunkedIteratorTestCase' => 'utils/__tests__/PhutilChunkedIteratorTestCase.php',
- 'PhutilClassMapQuery' => 'symbols/PhutilClassMapQuery.php',
- 'PhutilCloudWatchMetric' => 'future/aws/PhutilCloudWatchMetric.php',
- 'PhutilCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilCodeSnippetContextFreeGrammar.php',
- 'PhutilCommandString' => 'xsprintf/PhutilCommandString.php',
- 'PhutilConsole' => 'console/PhutilConsole.php',
- 'PhutilConsoleBlock' => 'console/view/PhutilConsoleBlock.php',
- 'PhutilConsoleError' => 'console/view/PhutilConsoleError.php',
- 'PhutilConsoleFormatter' => 'console/PhutilConsoleFormatter.php',
- 'PhutilConsoleInfo' => 'console/view/PhutilConsoleInfo.php',
- 'PhutilConsoleList' => 'console/view/PhutilConsoleList.php',
- 'PhutilConsoleLogLine' => 'console/view/PhutilConsoleLogLine.php',
- 'PhutilConsoleMessage' => 'console/PhutilConsoleMessage.php',
- 'PhutilConsoleMetrics' => 'console/PhutilConsoleMetrics.php',
- 'PhutilConsoleMetricsSignalHandler' => 'future/exec/PhutilConsoleMetricsSignalHandler.php',
- 'PhutilConsoleProgressBar' => 'console/PhutilConsoleProgressBar.php',
- 'PhutilConsoleServer' => 'console/PhutilConsoleServer.php',
- 'PhutilConsoleServerChannel' => 'console/PhutilConsoleServerChannel.php',
- 'PhutilConsoleSkip' => 'console/view/PhutilConsoleSkip.php',
- 'PhutilConsoleStdinNotInteractiveException' => 'console/PhutilConsoleStdinNotInteractiveException.php',
- 'PhutilConsoleSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilConsoleSyntaxHighlighter.php',
- 'PhutilConsoleTable' => 'console/view/PhutilConsoleTable.php',
- 'PhutilConsoleView' => 'console/view/PhutilConsoleView.php',
- 'PhutilConsoleWarning' => 'console/view/PhutilConsoleWarning.php',
- 'PhutilConsoleWrapTestCase' => 'console/__tests__/PhutilConsoleWrapTestCase.php',
- 'PhutilContextFreeGrammar' => 'grammar/PhutilContextFreeGrammar.php',
- 'PhutilCowsay' => 'utils/PhutilCowsay.php',
- 'PhutilCowsayTestCase' => 'utils/__tests__/PhutilCowsayTestCase.php',
- 'PhutilCsprintfTestCase' => 'xsprintf/__tests__/PhutilCsprintfTestCase.php',
- 'PhutilCzechLocale' => 'internationalization/locales/PhutilCzechLocale.php',
- 'PhutilDaemon' => 'daemon/PhutilDaemon.php',
- 'PhutilDaemonHandle' => 'daemon/PhutilDaemonHandle.php',
- 'PhutilDaemonOverseer' => 'daemon/PhutilDaemonOverseer.php',
- 'PhutilDaemonOverseerModule' => 'daemon/PhutilDaemonOverseerModule.php',
- 'PhutilDaemonPool' => 'daemon/PhutilDaemonPool.php',
- 'PhutilDefaultSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilDefaultSyntaxHighlighter.php',
- 'PhutilDefaultSyntaxHighlighterEngine' => 'markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php',
- 'PhutilDefaultSyntaxHighlighterEnginePygmentsFuture' => 'markup/syntax/highlighter/pygments/PhutilDefaultSyntaxHighlighterEnginePygmentsFuture.php',
- 'PhutilDefaultSyntaxHighlighterEngineTestCase' => 'markup/syntax/engine/__tests__/PhutilDefaultSyntaxHighlighterEngineTestCase.php',
- 'PhutilDeferredLog' => 'filesystem/PhutilDeferredLog.php',
- 'PhutilDeferredLogTestCase' => 'filesystem/__tests__/PhutilDeferredLogTestCase.php',
- 'PhutilDiffBinaryAnalyzer' => 'filesystem/binary/PhutilDiffBinaryAnalyzer.php',
- 'PhutilDirectedScalarGraph' => 'utils/PhutilDirectedScalarGraph.php',
- 'PhutilDirectoryFixture' => 'filesystem/PhutilDirectoryFixture.php',
- 'PhutilDirectoryKeyValueCache' => 'cache/PhutilDirectoryKeyValueCache.php',
- 'PhutilDisqusAuthAdapter' => 'auth/PhutilDisqusAuthAdapter.php',
- 'PhutilDivinerSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilDivinerSyntaxHighlighter.php',
- 'PhutilDocblockParser' => 'parser/PhutilDocblockParser.php',
- 'PhutilDocblockParserTestCase' => 'parser/__tests__/PhutilDocblockParserTestCase.php',
- 'PhutilEditDistanceMatrix' => 'utils/PhutilEditDistanceMatrix.php',
- 'PhutilEditDistanceMatrixTestCase' => 'utils/__tests__/PhutilEditDistanceMatrixTestCase.php',
- 'PhutilEditorConfig' => 'parser/PhutilEditorConfig.php',
- 'PhutilEditorConfigTestCase' => 'parser/__tests__/PhutilEditorConfigTestCase.php',
- 'PhutilEmailAddress' => 'parser/PhutilEmailAddress.php',
- 'PhutilEmailAddressTestCase' => 'parser/__tests__/PhutilEmailAddressTestCase.php',
- 'PhutilEmojiLocale' => 'internationalization/locales/PhutilEmojiLocale.php',
- 'PhutilEmptyAuthAdapter' => 'auth/PhutilEmptyAuthAdapter.php',
- 'PhutilEnglishCanadaLocale' => 'internationalization/locales/PhutilEnglishCanadaLocale.php',
- 'PhutilErrorHandler' => 'error/PhutilErrorHandler.php',
- 'PhutilErrorHandlerTestCase' => 'error/__tests__/PhutilErrorHandlerTestCase.php',
- 'PhutilErrorTrap' => 'error/PhutilErrorTrap.php',
- 'PhutilEvent' => 'events/PhutilEvent.php',
- 'PhutilEventConstants' => 'events/constant/PhutilEventConstants.php',
- 'PhutilEventEngine' => 'events/PhutilEventEngine.php',
- 'PhutilEventListener' => 'events/PhutilEventListener.php',
- 'PhutilEventType' => 'events/constant/PhutilEventType.php',
- 'PhutilExampleBufferedIterator' => 'utils/PhutilExampleBufferedIterator.php',
- 'PhutilExcessiveServiceCallsDaemon' => 'daemon/torture/PhutilExcessiveServiceCallsDaemon.php',
- 'PhutilExecChannel' => 'channel/PhutilExecChannel.php',
- 'PhutilExecPassthru' => 'future/exec/PhutilExecPassthru.php',
- 'PhutilExecutableFuture' => 'future/exec/PhutilExecutableFuture.php',
- 'PhutilExecutionEnvironment' => 'utils/PhutilExecutionEnvironment.php',
- 'PhutilExtensionsTestCase' => 'moduleutils/__tests__/PhutilExtensionsTestCase.php',
- 'PhutilFacebookAuthAdapter' => 'auth/PhutilFacebookAuthAdapter.php',
- 'PhutilFatalDaemon' => 'daemon/torture/PhutilFatalDaemon.php',
- 'PhutilFileLock' => 'filesystem/PhutilFileLock.php',
- 'PhutilFileLockTestCase' => 'filesystem/__tests__/PhutilFileLockTestCase.php',
- 'PhutilFileTree' => 'filesystem/PhutilFileTree.php',
- 'PhutilFrenchLocale' => 'internationalization/locales/PhutilFrenchLocale.php',
- 'PhutilGermanLocale' => 'internationalization/locales/PhutilGermanLocale.php',
- 'PhutilGitBinaryAnalyzer' => 'filesystem/binary/PhutilGitBinaryAnalyzer.php',
- 'PhutilGitHubAuthAdapter' => 'auth/PhutilGitHubAuthAdapter.php',
- 'PhutilGitHubFuture' => 'future/github/PhutilGitHubFuture.php',
- 'PhutilGitHubResponse' => 'future/github/PhutilGitHubResponse.php',
- 'PhutilGitURI' => 'parser/PhutilGitURI.php',
- 'PhutilGitURITestCase' => 'parser/__tests__/PhutilGitURITestCase.php',
- 'PhutilGoogleAuthAdapter' => 'auth/PhutilGoogleAuthAdapter.php',
- 'PhutilHTTPEngineExtension' => 'future/http/PhutilHTTPEngineExtension.php',
- 'PhutilHTTPResponse' => 'parser/http/PhutilHTTPResponse.php',
- 'PhutilHTTPResponseParser' => 'parser/http/PhutilHTTPResponseParser.php',
- 'PhutilHTTPResponseParserTestCase' => 'parser/http/__tests__/PhutilHTTPResponseParserTestCase.php',
- 'PhutilHangForeverDaemon' => 'daemon/torture/PhutilHangForeverDaemon.php',
- 'PhutilHashingIterator' => 'utils/PhutilHashingIterator.php',
- 'PhutilHashingIteratorTestCase' => 'utils/__tests__/PhutilHashingIteratorTestCase.php',
- 'PhutilHelpArgumentWorkflow' => 'parser/argument/workflow/PhutilHelpArgumentWorkflow.php',
- 'PhutilHgsprintfTestCase' => 'xsprintf/__tests__/PhutilHgsprintfTestCase.php',
- 'PhutilHighIntensityIntervalDaemon' => 'daemon/torture/PhutilHighIntensityIntervalDaemon.php',
- 'PhutilICSParser' => 'parser/calendar/ics/PhutilICSParser.php',
- 'PhutilICSParserException' => 'parser/calendar/ics/PhutilICSParserException.php',
- 'PhutilICSParserTestCase' => 'parser/calendar/ics/__tests__/PhutilICSParserTestCase.php',
- 'PhutilICSWriter' => 'parser/calendar/ics/PhutilICSWriter.php',
- 'PhutilICSWriterTestCase' => 'parser/calendar/ics/__tests__/PhutilICSWriterTestCase.php',
- 'PhutilINIParserException' => 'parser/exception/PhutilINIParserException.php',
- 'PhutilIPAddress' => 'ip/PhutilIPAddress.php',
- 'PhutilIPAddressTestCase' => 'ip/__tests__/PhutilIPAddressTestCase.php',
- 'PhutilIPv4Address' => 'ip/PhutilIPv4Address.php',
- 'PhutilIPv6Address' => 'ip/PhutilIPv6Address.php',
- 'PhutilInRequestKeyValueCache' => 'cache/PhutilInRequestKeyValueCache.php',
- 'PhutilInteractiveEditor' => 'console/PhutilInteractiveEditor.php',
- 'PhutilInvalidRuleParserGeneratorException' => 'parser/generator/exception/PhutilInvalidRuleParserGeneratorException.php',
- 'PhutilInvalidStateException' => 'exception/PhutilInvalidStateException.php',
- 'PhutilInvalidStateExceptionTestCase' => 'exception/__tests__/PhutilInvalidStateExceptionTestCase.php',
- 'PhutilInvisibleSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilInvisibleSyntaxHighlighter.php',
- 'PhutilIrreducibleRuleParserGeneratorException' => 'parser/generator/exception/PhutilIrreducibleRuleParserGeneratorException.php',
- 'PhutilJIRAAuthAdapter' => 'auth/PhutilJIRAAuthAdapter.php',
- 'PhutilJSON' => 'parser/PhutilJSON.php',
- 'PhutilJSONFragmentLexer' => 'lexer/PhutilJSONFragmentLexer.php',
- 'PhutilJSONFragmentLexerHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilJSONFragmentLexerHighlighterTestCase.php',
- 'PhutilJSONParser' => 'parser/PhutilJSONParser.php',
- 'PhutilJSONParserException' => 'parser/exception/PhutilJSONParserException.php',
- 'PhutilJSONParserTestCase' => 'parser/__tests__/PhutilJSONParserTestCase.php',
- 'PhutilJSONProtocolChannel' => 'channel/PhutilJSONProtocolChannel.php',
- 'PhutilJSONProtocolChannelTestCase' => 'channel/__tests__/PhutilJSONProtocolChannelTestCase.php',
- 'PhutilJSONTestCase' => 'parser/__tests__/PhutilJSONTestCase.php',
- 'PhutilJavaCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilJavaCodeSnippetContextFreeGrammar.php',
- 'PhutilJavaFragmentLexer' => 'lexer/PhutilJavaFragmentLexer.php',
- 'PhutilKeyValueCache' => 'cache/PhutilKeyValueCache.php',
- 'PhutilKeyValueCacheNamespace' => 'cache/PhutilKeyValueCacheNamespace.php',
- 'PhutilKeyValueCacheProfiler' => 'cache/PhutilKeyValueCacheProfiler.php',
- 'PhutilKeyValueCacheProxy' => 'cache/PhutilKeyValueCacheProxy.php',
- 'PhutilKeyValueCacheStack' => 'cache/PhutilKeyValueCacheStack.php',
- 'PhutilKeyValueCacheTestCase' => 'cache/__tests__/PhutilKeyValueCacheTestCase.php',
- 'PhutilKoreanLocale' => 'internationalization/locales/PhutilKoreanLocale.php',
- 'PhutilLDAPAuthAdapter' => 'auth/PhutilLDAPAuthAdapter.php',
- 'PhutilLanguageGuesser' => 'parser/PhutilLanguageGuesser.php',
- 'PhutilLanguageGuesserTestCase' => 'parser/__tests__/PhutilLanguageGuesserTestCase.php',
- 'PhutilLexer' => 'lexer/PhutilLexer.php',
- 'PhutilLexerSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilLexerSyntaxHighlighter.php',
- 'PhutilLibraryConflictException' => 'moduleutils/PhutilLibraryConflictException.php',
- 'PhutilLibraryMapBuilder' => 'moduleutils/PhutilLibraryMapBuilder.php',
- 'PhutilLibraryTestCase' => '__tests__/PhutilLibraryTestCase.php',
- 'PhutilLipsumContextFreeGrammar' => 'grammar/PhutilLipsumContextFreeGrammar.php',
- 'PhutilLocale' => 'internationalization/PhutilLocale.php',
- 'PhutilLocaleTestCase' => 'internationalization/__tests__/PhutilLocaleTestCase.php',
- 'PhutilLock' => 'filesystem/PhutilLock.php',
- 'PhutilLockException' => 'filesystem/PhutilLockException.php',
- 'PhutilLogFileChannel' => 'channel/PhutilLogFileChannel.php',
- 'PhutilLunarPhase' => 'utils/PhutilLunarPhase.php',
- 'PhutilLunarPhaseTestCase' => 'utils/__tests__/PhutilLunarPhaseTestCase.php',
- 'PhutilMarkupEngine' => 'markup/PhutilMarkupEngine.php',
- 'PhutilMarkupTestCase' => 'markup/__tests__/PhutilMarkupTestCase.php',
- 'PhutilMemcacheKeyValueCache' => 'cache/PhutilMemcacheKeyValueCache.php',
- 'PhutilMercurialBinaryAnalyzer' => 'filesystem/binary/PhutilMercurialBinaryAnalyzer.php',
- 'PhutilMethodNotImplementedException' => 'error/PhutilMethodNotImplementedException.php',
- 'PhutilMetricsChannel' => 'channel/PhutilMetricsChannel.php',
- 'PhutilMissingSymbolException' => 'symbols/exception/PhutilMissingSymbolException.php',
- 'PhutilModuleUtilsTestCase' => 'moduleutils/__tests__/PhutilModuleUtilsTestCase.php',
- 'PhutilNiceDaemon' => 'daemon/torture/PhutilNiceDaemon.php',
- 'PhutilNumber' => 'internationalization/PhutilNumber.php',
- 'PhutilOAuth1AuthAdapter' => 'auth/PhutilOAuth1AuthAdapter.php',
- 'PhutilOAuth1Future' => 'future/oauth/PhutilOAuth1Future.php',
- 'PhutilOAuth1FutureTestCase' => 'future/oauth/__tests__/PhutilOAuth1FutureTestCase.php',
- 'PhutilOAuthAuthAdapter' => 'auth/PhutilOAuthAuthAdapter.php',
- 'PhutilOnDiskKeyValueCache' => 'cache/PhutilOnDiskKeyValueCache.php',
- 'PhutilOpaqueEnvelope' => 'error/PhutilOpaqueEnvelope.php',
- 'PhutilOpaqueEnvelopeKey' => 'error/PhutilOpaqueEnvelopeKey.php',
- 'PhutilOpaqueEnvelopeTestCase' => 'error/__tests__/PhutilOpaqueEnvelopeTestCase.php',
- 'PhutilPHPCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilPHPCodeSnippetContextFreeGrammar.php',
- 'PhutilPHPFragmentLexer' => 'lexer/PhutilPHPFragmentLexer.php',
- 'PhutilPHPFragmentLexerHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilPHPFragmentLexerHighlighterTestCase.php',
- 'PhutilPHPFragmentLexerTestCase' => 'lexer/__tests__/PhutilPHPFragmentLexerTestCase.php',
- 'PhutilPHPObjectProtocolChannel' => 'channel/PhutilPHPObjectProtocolChannel.php',
- 'PhutilPHPObjectProtocolChannelTestCase' => 'channel/__tests__/PhutilPHPObjectProtocolChannelTestCase.php',
- 'PhutilParserGenerator' => 'parser/PhutilParserGenerator.php',
- 'PhutilParserGeneratorException' => 'parser/generator/exception/PhutilParserGeneratorException.php',
- 'PhutilParserGeneratorTestCase' => 'parser/__tests__/PhutilParserGeneratorTestCase.php',
- 'PhutilPayPalAPIFuture' => 'future/paypal/PhutilPayPalAPIFuture.php',
- 'PhutilPerson' => 'internationalization/PhutilPerson.php',
- 'PhutilPersonTest' => 'internationalization/__tests__/PhutilPersonTest.php',
- 'PhutilPhabricatorAuthAdapter' => 'auth/PhutilPhabricatorAuthAdapter.php',
- 'PhutilPhtTestCase' => 'internationalization/__tests__/PhutilPhtTestCase.php',
- 'PhutilPirateEnglishLocale' => 'internationalization/locales/PhutilPirateEnglishLocale.php',
- 'PhutilPortugueseBrazilLocale' => 'internationalization/locales/PhutilPortugueseBrazilLocale.php',
- 'PhutilPortuguesePortugalLocale' => 'internationalization/locales/PhutilPortuguesePortugalLocale.php',
- 'PhutilPostmarkFuture' => 'future/postmark/PhutilPostmarkFuture.php',
- 'PhutilPregsprintfTestCase' => 'xsprintf/__tests__/PhutilPregsprintfTestCase.php',
- 'PhutilProcessGroupDaemon' => 'daemon/torture/PhutilProcessGroupDaemon.php',
- 'PhutilProseDiff' => 'utils/PhutilProseDiff.php',
- 'PhutilProseDiffTestCase' => 'utils/__tests__/PhutilProseDiffTestCase.php',
- 'PhutilProseDifferenceEngine' => 'utils/PhutilProseDifferenceEngine.php',
- 'PhutilProtocolChannel' => 'channel/PhutilProtocolChannel.php',
- 'PhutilProxyException' => 'error/PhutilProxyException.php',
- 'PhutilProxyIterator' => 'utils/PhutilProxyIterator.php',
- 'PhutilPygmentizeBinaryAnalyzer' => 'filesystem/binary/PhutilPygmentizeBinaryAnalyzer.php',
- 'PhutilPygmentizeParser' => 'parser/PhutilPygmentizeParser.php',
- 'PhutilPygmentizeParserTestCase' => 'parser/__tests__/PhutilPygmentizeParserTestCase.php',
- 'PhutilPygmentsSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilPygmentsSyntaxHighlighter.php',
- 'PhutilPythonFragmentLexer' => 'lexer/PhutilPythonFragmentLexer.php',
- 'PhutilQsprintfInterface' => 'xsprintf/PhutilQsprintfInterface.php',
- 'PhutilQueryStringParser' => 'parser/PhutilQueryStringParser.php',
- 'PhutilQueryStringParserTestCase' => 'parser/__tests__/PhutilQueryStringParserTestCase.php',
- 'PhutilRainbowSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilRainbowSyntaxHighlighter.php',
- 'PhutilRawEnglishLocale' => 'internationalization/locales/PhutilRawEnglishLocale.php',
- 'PhutilReadableSerializer' => 'readableserializer/PhutilReadableSerializer.php',
- 'PhutilReadableSerializerTestCase' => 'readableserializer/__tests__/PhutilReadableSerializerTestCase.php',
- 'PhutilRealNameContextFreeGrammar' => 'grammar/PhutilRealNameContextFreeGrammar.php',
- 'PhutilRemarkupBlockInterpreter' => 'markup/engine/remarkup/blockrule/PhutilRemarkupBlockInterpreter.php',
- 'PhutilRemarkupBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php',
- 'PhutilRemarkupBlockStorage' => 'markup/engine/remarkup/PhutilRemarkupBlockStorage.php',
- 'PhutilRemarkupBoldRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupBoldRule.php',
- 'PhutilRemarkupCodeBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupCodeBlockRule.php',
- 'PhutilRemarkupDefaultBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupDefaultBlockRule.php',
- 'PhutilRemarkupDelRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupDelRule.php',
- 'PhutilRemarkupDocumentLinkRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupDocumentLinkRule.php',
- 'PhutilRemarkupEngine' => 'markup/engine/PhutilRemarkupEngine.php',
- 'PhutilRemarkupEngineTestCase' => 'markup/engine/__tests__/PhutilRemarkupEngineTestCase.php',
- 'PhutilRemarkupEscapeRemarkupRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupEscapeRemarkupRule.php',
- 'PhutilRemarkupHeaderBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupHeaderBlockRule.php',
- 'PhutilRemarkupHighlightRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php',
- 'PhutilRemarkupHorizontalRuleBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupHorizontalRuleBlockRule.php',
- 'PhutilRemarkupHyperlinkRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupHyperlinkRule.php',
- 'PhutilRemarkupInlineBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupInlineBlockRule.php',
- 'PhutilRemarkupInterpreterBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupInterpreterBlockRule.php',
- 'PhutilRemarkupItalicRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupItalicRule.php',
- 'PhutilRemarkupLinebreaksRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupLinebreaksRule.php',
- 'PhutilRemarkupListBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupListBlockRule.php',
- 'PhutilRemarkupLiteralBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php',
- 'PhutilRemarkupMonospaceRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupMonospaceRule.php',
- 'PhutilRemarkupNoteBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupNoteBlockRule.php',
- 'PhutilRemarkupQuotesBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupQuotesBlockRule.php',
- 'PhutilRemarkupReplyBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php',
- 'PhutilRemarkupRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupRule.php',
- 'PhutilRemarkupSimpleTableBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php',
- 'PhutilRemarkupTableBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php',
- 'PhutilRemarkupTestInterpreterRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupTestInterpreterRule.php',
- 'PhutilRemarkupUnderlineRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupUnderlineRule.php',
- 'PhutilRope' => 'utils/PhutilRope.php',
- 'PhutilRopeTestCase' => 'utils/__tests__/PhutilRopeTestCase.php',
- 'PhutilSafeHTML' => 'markup/PhutilSafeHTML.php',
- 'PhutilSafeHTMLProducerInterface' => 'markup/PhutilSafeHTMLProducerInterface.php',
- 'PhutilSafeHTMLTestCase' => 'markup/__tests__/PhutilSafeHTMLTestCase.php',
- 'PhutilSaturateStdoutDaemon' => 'daemon/torture/PhutilSaturateStdoutDaemon.php',
- 'PhutilSearchQueryCompiler' => 'search/PhutilSearchQueryCompiler.php',
- 'PhutilSearchQueryCompilerSyntaxException' => 'search/PhutilSearchQueryCompilerSyntaxException.php',
- 'PhutilSearchQueryCompilerTestCase' => 'search/__tests__/PhutilSearchQueryCompilerTestCase.php',
- 'PhutilSearchQueryToken' => 'search/PhutilSearchQueryToken.php',
- 'PhutilSearchStemmer' => 'search/PhutilSearchStemmer.php',
- 'PhutilSearchStemmerTestCase' => 'search/__tests__/PhutilSearchStemmerTestCase.php',
- 'PhutilServiceProfiler' => 'serviceprofiler/PhutilServiceProfiler.php',
- 'PhutilShellLexer' => 'lexer/PhutilShellLexer.php',
- 'PhutilShellLexerTestCase' => 'lexer/__tests__/PhutilShellLexerTestCase.php',
- 'PhutilSignalHandler' => 'future/exec/PhutilSignalHandler.php',
- 'PhutilSignalRouter' => 'future/exec/PhutilSignalRouter.php',
- 'PhutilSimpleOptions' => 'parser/PhutilSimpleOptions.php',
- 'PhutilSimpleOptionsLexer' => 'lexer/PhutilSimpleOptionsLexer.php',
- 'PhutilSimpleOptionsLexerTestCase' => 'lexer/__tests__/PhutilSimpleOptionsLexerTestCase.php',
- 'PhutilSimpleOptionsTestCase' => 'parser/__tests__/PhutilSimpleOptionsTestCase.php',
- 'PhutilSimplifiedChineseLocale' => 'internationalization/locales/PhutilSimplifiedChineseLocale.php',
- 'PhutilSlackAuthAdapter' => 'auth/PhutilSlackAuthAdapter.php',
- 'PhutilSlackFuture' => 'future/slack/PhutilSlackFuture.php',
- 'PhutilSocketChannel' => 'channel/PhutilSocketChannel.php',
- 'PhutilSortVector' => 'utils/PhutilSortVector.php',
- 'PhutilSpanishSpainLocale' => 'internationalization/locales/PhutilSpanishSpainLocale.php',
- 'PhutilSprite' => 'sprites/PhutilSprite.php',
- 'PhutilSpriteSheet' => 'sprites/PhutilSpriteSheet.php',
- 'PhutilStreamIterator' => 'utils/PhutilStreamIterator.php',
- 'PhutilSubversionBinaryAnalyzer' => 'filesystem/binary/PhutilSubversionBinaryAnalyzer.php',
- 'PhutilSymbolLoader' => 'symbols/PhutilSymbolLoader.php',
- 'PhutilSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilSyntaxHighlighter.php',
- 'PhutilSyntaxHighlighterEngine' => 'markup/syntax/engine/PhutilSyntaxHighlighterEngine.php',
- 'PhutilSyntaxHighlighterException' => 'markup/syntax/highlighter/PhutilSyntaxHighlighterException.php',
- 'PhutilSystem' => 'utils/PhutilSystem.php',
- 'PhutilSystemTestCase' => 'utils/__tests__/PhutilSystemTestCase.php',
- 'PhutilTerminalString' => 'xsprintf/PhutilTerminalString.php',
- 'PhutilTestPhobject' => 'object/__tests__/PhutilTestPhobject.php',
- 'PhutilTortureTestDaemon' => 'daemon/torture/PhutilTortureTestDaemon.php',
- 'PhutilTraditionalChineseLocale' => 'internationalization/locales/PhutilTraditionalChineseLocale.php',
- 'PhutilTranslation' => 'internationalization/PhutilTranslation.php',
- 'PhutilTranslationTestCase' => 'internationalization/__tests__/PhutilTranslationTestCase.php',
- 'PhutilTranslator' => 'internationalization/PhutilTranslator.php',
- 'PhutilTranslatorTestCase' => 'internationalization/__tests__/PhutilTranslatorTestCase.php',
- 'PhutilTsprintfTestCase' => 'xsprintf/__tests__/PhutilTsprintfTestCase.php',
- 'PhutilTwitchAuthAdapter' => 'auth/PhutilTwitchAuthAdapter.php',
- 'PhutilTwitchFuture' => 'future/twitch/PhutilTwitchFuture.php',
- 'PhutilTwitterAuthAdapter' => 'auth/PhutilTwitterAuthAdapter.php',
- 'PhutilTypeCheckException' => 'parser/exception/PhutilTypeCheckException.php',
- 'PhutilTypeExtraParametersException' => 'parser/exception/PhutilTypeExtraParametersException.php',
- 'PhutilTypeLexer' => 'lexer/PhutilTypeLexer.php',
- 'PhutilTypeMissingParametersException' => 'parser/exception/PhutilTypeMissingParametersException.php',
- 'PhutilTypeSpec' => 'parser/PhutilTypeSpec.php',
- 'PhutilTypeSpecTestCase' => 'parser/__tests__/PhutilTypeSpecTestCase.php',
- 'PhutilURI' => 'parser/PhutilURI.php',
- 'PhutilURITestCase' => 'parser/__tests__/PhutilURITestCase.php',
- 'PhutilUSEnglishLocale' => 'internationalization/locales/PhutilUSEnglishLocale.php',
- 'PhutilUTF8StringTruncator' => 'utils/PhutilUTF8StringTruncator.php',
- 'PhutilUTF8TestCase' => 'utils/__tests__/PhutilUTF8TestCase.php',
- 'PhutilUnknownSymbolParserGeneratorException' => 'parser/generator/exception/PhutilUnknownSymbolParserGeneratorException.php',
- 'PhutilUnreachableRuleParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableRuleParserGeneratorException.php',
- 'PhutilUnreachableTerminalParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableTerminalParserGeneratorException.php',
- 'PhutilUrisprintfTestCase' => 'xsprintf/__tests__/PhutilUrisprintfTestCase.php',
- 'PhutilUtilsTestCase' => 'utils/__tests__/PhutilUtilsTestCase.php',
- 'PhutilVeryWowEnglishLocale' => 'internationalization/locales/PhutilVeryWowEnglishLocale.php',
- 'PhutilWordPressAuthAdapter' => 'auth/PhutilWordPressAuthAdapter.php',
- 'PhutilWordPressFuture' => 'future/wordpress/PhutilWordPressFuture.php',
- 'PhutilXHPASTBinary' => 'parser/xhpast/bin/PhutilXHPASTBinary.php',
- 'PhutilXHPASTSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilXHPASTSyntaxHighlighter.php',
- 'PhutilXHPASTSyntaxHighlighterFuture' => 'markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php',
- 'PhutilXHPASTSyntaxHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilXHPASTSyntaxHighlighterTestCase.php',
- 'QueryFuture' => 'future/query/QueryFuture.php',
- 'TempFile' => 'filesystem/TempFile.php',
- 'TestAbstractDirectedGraph' => 'utils/__tests__/TestAbstractDirectedGraph.php',
- 'XHPASTNode' => 'parser/xhpast/api/XHPASTNode.php',
- 'XHPASTNodeTestCase' => 'parser/xhpast/api/__tests__/XHPASTNodeTestCase.php',
- 'XHPASTSyntaxErrorException' => 'parser/xhpast/api/XHPASTSyntaxErrorException.php',
- 'XHPASTToken' => 'parser/xhpast/api/XHPASTToken.php',
- 'XHPASTTree' => 'parser/xhpast/api/XHPASTTree.php',
- 'XHPASTTreeTestCase' => 'parser/xhpast/api/__tests__/XHPASTTreeTestCase.php',
- 'XsprintfUnknownConversionException' => 'xsprintf/exception/XsprintfUnknownConversionException.php',
'ArcanistAbstractMethodBodyXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistAbstractMethodBodyXHPASTLinterRule.php',
'ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase.php',
'ArcanistAbstractPrivateMethodXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistAbstractPrivateMethodXHPASTLinterRule.php',
@@ -498,6 +54,7 @@
'ArcanistAliasWorkflow' => 'toolset/ArcanistAliasWorkflow.php',
'ArcanistAmendWorkflow' => 'workflow/ArcanistAmendWorkflow.php',
'ArcanistAnoidWorkflow' => 'workflow/ArcanistAnoidWorkflow.php',
+ 'ArcanistArcConfigurationEngineExtension' => 'config/ArcanistArcConfigurationEngineExtension.php',
'ArcanistArcToolset' => 'toolset/ArcanistArcToolset.php',
'ArcanistArcWorkflow' => 'workflow/ArcanistArcWorkflow.php',
'ArcanistArrayCombineXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistArrayCombineXHPASTLinterRule.php',
@@ -577,10 +134,16 @@
'ArcanistConcatenationOperatorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistConcatenationOperatorXHPASTLinterRule.php',
'ArcanistConcatenationOperatorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistConcatenationOperatorXHPASTLinterRuleTestCase.php',
'ArcanistConduitCall' => 'conduit/ArcanistConduitCall.php',
+ 'ArcanistConduitConfigurationEngineExtension' => 'config/ArcanistConduitConfigurationEngineExtension.php',
'ArcanistConduitEngine' => 'conduit/ArcanistConduitEngine.php',
+ 'ArcanistConfigOption' => 'config/ArcanistConfigOption.php',
'ArcanistConfigurationDrivenLintEngine' => 'lint/engine/ArcanistConfigurationDrivenLintEngine.php',
'ArcanistConfigurationDrivenUnitTestEngine' => 'unit/engine/ArcanistConfigurationDrivenUnitTestEngine.php',
+ 'ArcanistConfigurationEngine' => 'config/ArcanistConfigurationEngine.php',
+ 'ArcanistConfigurationEngineExtension' => 'config/ArcanistConfigurationEngineExtension.php',
'ArcanistConfigurationManager' => 'configuration/ArcanistConfigurationManager.php',
+ 'ArcanistConfigurationSource' => 'config/source/ArcanistConfigurationSource.php',
+ 'ArcanistConfigurationSourceList' => 'config/ArcanistConfigurationSourceList.php',
'ArcanistConsoleLintRenderer' => 'lint/renderer/ArcanistConsoleLintRenderer.php',
'ArcanistConsoleLintRendererTestCase' => 'lint/renderer/__tests__/ArcanistConsoleLintRendererTestCase.php',
'ArcanistConstructorParenthesesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistConstructorParenthesesXHPASTLinterRule.php',
@@ -598,6 +161,7 @@
'ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase.php',
'ArcanistDefaultParametersXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDefaultParametersXHPASTLinterRule.php',
'ArcanistDefaultParametersXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDefaultParametersXHPASTLinterRuleTestCase.php',
+ 'ArcanistDefaultsConfigurationSource' => 'config/source/ArcanistDefaultsConfigurationSource.php',
'ArcanistDeprecationXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDeprecationXHPASTLinterRule.php',
'ArcanistDeprecationXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDeprecationXHPASTLinterRuleTestCase.php',
'ArcanistDiffByteSizeException' => 'exception/ArcanistDiffByteSizeException.php',
@@ -637,10 +201,12 @@
'ArcanistExtractUseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistExtractUseXHPASTLinterRule.php',
'ArcanistExtractUseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistExtractUseXHPASTLinterRuleTestCase.php',
'ArcanistFeatureWorkflow' => 'workflow/ArcanistFeatureWorkflow.php',
+ 'ArcanistFileConfigurationSource' => 'config/source/ArcanistFileConfigurationSource.php',
'ArcanistFileDataRef' => 'upload/ArcanistFileDataRef.php',
'ArcanistFileUploader' => 'upload/ArcanistFileUploader.php',
'ArcanistFilenameLinter' => 'lint/linter/ArcanistFilenameLinter.php',
'ArcanistFilenameLinterTestCase' => 'lint/linter/__tests__/ArcanistFilenameLinterTestCase.php',
+ 'ArcanistFilesystemConfigurationSource' => 'config/source/ArcanistFilesystemConfigurationSource.php',
'ArcanistFlagWorkflow' => 'workflow/ArcanistFlagWorkflow.php',
'ArcanistFlake8Linter' => 'lint/linter/ArcanistFlake8Linter.php',
'ArcanistFlake8LinterTestCase' => 'lint/linter/__tests__/ArcanistFlake8LinterTestCase.php',
@@ -658,6 +224,7 @@
'ArcanistGitLandEngine' => 'land/ArcanistGitLandEngine.php',
'ArcanistGitRevisionHardpointLoader' => 'loader/ArcanistGitRevisionHardpointLoader.php',
'ArcanistGitUpstreamPath' => 'repository/api/ArcanistGitUpstreamPath.php',
+ 'ArcanistGitWorkingCopy' => 'workingcopy/ArcanistGitWorkingCopy.php',
'ArcanistGlobalVariableXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistGlobalVariableXHPASTLinterRule.php',
'ArcanistGlobalVariableXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistGlobalVariableXHPASTLinterRuleTestCase.php',
'ArcanistGoLintLinter' => 'lint/linter/ArcanistGoLintLinter.php',
@@ -736,6 +303,7 @@
'ArcanistListAssignmentXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistListAssignmentXHPASTLinterRule.php',
'ArcanistListAssignmentXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistListAssignmentXHPASTLinterRuleTestCase.php',
'ArcanistListWorkflow' => 'workflow/ArcanistListWorkflow.php',
+ 'ArcanistLocalConfigurationSource' => 'config/source/ArcanistLocalConfigurationSource.php',
'ArcanistLogicalOperatorsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLogicalOperatorsXHPASTLinterRule.php',
'ArcanistLogicalOperatorsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistLogicalOperatorsXHPASTLinterRuleTestCase.php',
'ArcanistLowercaseFunctionsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLowercaseFunctionsXHPASTLinterRule.php',
@@ -745,6 +313,7 @@
'ArcanistMercurialHardpointLoader' => 'loader/ArcanistMercurialHardpointLoader.php',
'ArcanistMercurialParser' => 'repository/parser/ArcanistMercurialParser.php',
'ArcanistMercurialParserTestCase' => 'repository/parser/__tests__/ArcanistMercurialParserTestCase.php',
+ 'ArcanistMercurialWorkingCopy' => 'workingcopy/ArcanistMercurialWorkingCopy.php',
'ArcanistMercurialWorkingCopyCommitHardpointLoader' => 'loader/ArcanistMercurialWorkingCopyCommitHardpointLoader.php',
'ArcanistMergeConflictLinter' => 'lint/linter/ArcanistMergeConflictLinter.php',
'ArcanistMergeConflictLinterTestCase' => 'lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php',
@@ -805,6 +374,7 @@
'ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase.php',
'ArcanistPregQuoteMisuseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPregQuoteMisuseXHPASTLinterRule.php',
'ArcanistPregQuoteMisuseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPregQuoteMisuseXHPASTLinterRuleTestCase.php',
+ 'ArcanistProjectConfigurationSource' => 'config/source/ArcanistProjectConfigurationSource.php',
'ArcanistPublicPropertyXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPublicPropertyXHPASTLinterRule.php',
'ArcanistPublicPropertyXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPublicPropertyXHPASTLinterRuleTestCase.php',
'ArcanistPuppetLintLinter' => 'lint/linter/ArcanistPuppetLintLinter.php',
@@ -834,6 +404,7 @@
'ArcanistRuboCopLinterTestCase' => 'lint/linter/__tests__/ArcanistRuboCopLinterTestCase.php',
'ArcanistRubyLinter' => 'lint/linter/ArcanistRubyLinter.php',
'ArcanistRubyLinterTestCase' => 'lint/linter/__tests__/ArcanistRubyLinterTestCase.php',
+ 'ArcanistRuntimeConfigurationSource' => 'config/source/ArcanistRuntimeConfigurationSource.php',
'ArcanistScriptAndRegexLinter' => 'lint/linter/ArcanistScriptAndRegexLinter.php',
'ArcanistSelfClassReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSelfClassReferenceXHPASTLinterRule.php',
'ArcanistSelfClassReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistSelfClassReferenceXHPASTLinterRuleTestCase.php',
@@ -855,8 +426,10 @@
'ArcanistStaticThisXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistStaticThisXHPASTLinterRuleTestCase.php',
'ArcanistStopWorkflow' => 'workflow/ArcanistStopWorkflow.php',
'ArcanistSubversionAPI' => 'repository/api/ArcanistSubversionAPI.php',
+ 'ArcanistSubversionWorkingCopy' => 'workingcopy/ArcanistSubversionWorkingCopy.php',
'ArcanistSummaryLintRenderer' => 'lint/renderer/ArcanistSummaryLintRenderer.php',
'ArcanistSyntaxErrorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSyntaxErrorXHPASTLinterRule.php',
+ 'ArcanistSystemConfigurationSource' => 'config/source/ArcanistSystemConfigurationSource.php',
'ArcanistTasksWorkflow' => 'workflow/ArcanistTasksWorkflow.php',
'ArcanistTautologicalExpressionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistTautologicalExpressionXHPASTLinterRule.php',
'ArcanistTautologicalExpressionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistTautologicalExpressionXHPASTLinterRuleTestCase.php',
@@ -905,6 +478,7 @@
'ArcanistUselessOverridingMethodXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUselessOverridingMethodXHPASTLinterRule.php',
'ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase.php',
'ArcanistUserAbortException' => 'exception/usage/ArcanistUserAbortException.php',
+ 'ArcanistUserConfigurationSource' => 'config/source/ArcanistUserConfigurationSource.php',
'ArcanistVariableReferenceSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistVariableReferenceSpacingXHPASTLinterRule.php',
'ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase.php',
'ArcanistVariableVariableXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistVariableVariableXHPASTLinterRule.php',
@@ -913,7 +487,8 @@
'ArcanistWeldWorkflow' => 'workflow/ArcanistWeldWorkflow.php',
'ArcanistWhichWorkflow' => 'workflow/ArcanistWhichWorkflow.php',
'ArcanistWorkflow' => 'toolset/ArcanistWorkflow.php',
- 'ArcanistWorkingCopyIdentity' => 'workingcopyidentity/ArcanistWorkingCopyIdentity.php',
+ 'ArcanistWorkingCopy' => 'workingcopy/ArcanistWorkingCopy.php',
+ 'ArcanistWorkingCopyConfigurationSource' => 'config/source/ArcanistWorkingCopyConfigurationSource.php',
'ArcanistWorkingCopyStateRef' => 'ref/ArcanistWorkingCopyStateRef.php',
'ArcanistXHPASTLintNamingHook' => 'lint/linter/xhpast/ArcanistXHPASTLintNamingHook.php',
'ArcanistXHPASTLintNamingHookTestCase' => 'lint/linter/xhpast/__tests__/ArcanistXHPASTLintNamingHookTestCase.php',
@@ -925,20 +500,464 @@
'ArcanistXMLLinter' => 'lint/linter/ArcanistXMLLinter.php',
'ArcanistXMLLinterTestCase' => 'lint/linter/__tests__/ArcanistXMLLinterTestCase.php',
'ArcanistXUnitTestResultParser' => 'unit/parser/ArcanistXUnitTestResultParser.php',
+ 'BaseHTTPFuture' => 'future/http/BaseHTTPFuture.php',
'CSharpToolsTestEngine' => 'unit/engine/CSharpToolsTestEngine.php',
+ 'CaseInsensitiveArray' => 'utils/CaseInsensitiveArray.php',
+ 'CaseInsensitiveArrayTestCase' => 'utils/__tests__/CaseInsensitiveArrayTestCase.php',
+ 'CommandException' => 'future/exec/CommandException.php',
+ 'ConduitClient' => 'conduit/ConduitClient.php',
+ 'ConduitClientException' => 'conduit/ConduitClientException.php',
+ 'ConduitClientTestCase' => 'conduit/__tests__/ConduitClientTestCase.php',
+ 'ConduitFuture' => 'conduit/ConduitFuture.php',
+ 'ExecFuture' => 'future/exec/ExecFuture.php',
+ 'ExecFutureTestCase' => 'future/exec/__tests__/ExecFutureTestCase.php',
+ 'ExecPassthruTestCase' => 'future/exec/__tests__/ExecPassthruTestCase.php',
+ 'FileFinder' => 'filesystem/FileFinder.php',
+ 'FileFinderTestCase' => 'filesystem/__tests__/FileFinderTestCase.php',
+ 'FileList' => 'filesystem/FileList.php',
+ 'Filesystem' => 'filesystem/Filesystem.php',
+ 'FilesystemException' => 'filesystem/FilesystemException.php',
+ 'FilesystemTestCase' => 'filesystem/__tests__/FilesystemTestCase.php',
+ 'Future' => 'future/Future.php',
+ 'FutureIterator' => 'future/FutureIterator.php',
+ 'FutureIteratorTestCase' => 'future/__tests__/FutureIteratorTestCase.php',
+ 'FutureProxy' => 'future/FutureProxy.php',
+ 'HTTPFuture' => 'future/http/HTTPFuture.php',
+ 'HTTPFutureCURLResponseStatus' => 'future/http/status/HTTPFutureCURLResponseStatus.php',
+ 'HTTPFutureCertificateResponseStatus' => 'future/http/status/HTTPFutureCertificateResponseStatus.php',
+ 'HTTPFutureHTTPResponseStatus' => 'future/http/status/HTTPFutureHTTPResponseStatus.php',
+ 'HTTPFutureParseResponseStatus' => 'future/http/status/HTTPFutureParseResponseStatus.php',
+ 'HTTPFutureResponseStatus' => 'future/http/status/HTTPFutureResponseStatus.php',
+ 'HTTPFutureTransportResponseStatus' => 'future/http/status/HTTPFutureTransportResponseStatus.php',
+ 'HTTPSFuture' => 'future/http/HTTPSFuture.php',
+ 'ImmediateFuture' => 'future/ImmediateFuture.php',
+ 'LibphutilUSEnglishTranslation' => 'internationalization/translation/LibphutilUSEnglishTranslation.php',
+ 'LinesOfALarge' => 'filesystem/linesofalarge/LinesOfALarge.php',
+ 'LinesOfALargeExecFuture' => 'filesystem/linesofalarge/LinesOfALargeExecFuture.php',
+ 'LinesOfALargeExecFutureTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeExecFutureTestCase.php',
+ 'LinesOfALargeFile' => 'filesystem/linesofalarge/LinesOfALargeFile.php',
+ 'LinesOfALargeFileTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeFileTestCase.php',
+ 'MFilterTestHelper' => 'utils/__tests__/MFilterTestHelper.php',
'NoseTestEngine' => 'unit/engine/NoseTestEngine.php',
+ 'PHPASTParserTestCase' => 'parser/xhpast/__tests__/PHPASTParserTestCase.php',
+ 'PhageAction' => 'phage/action/PhageAction.php',
+ 'PhageAgentAction' => 'phage/action/PhageAgentAction.php',
+ 'PhageAgentBootloader' => 'phage/bootloader/PhageAgentBootloader.php',
+ 'PhageAgentTestCase' => 'phage/__tests__/PhageAgentTestCase.php',
+ 'PhageExecuteAction' => 'phage/action/PhageExecuteAction.php',
+ 'PhageLocalAction' => 'phage/action/PhageLocalAction.php',
+ 'PhagePHPAgent' => 'phage/agent/PhagePHPAgent.php',
+ 'PhagePHPAgentBootloader' => 'phage/bootloader/PhagePHPAgentBootloader.php',
+ 'PhagePlanAction' => 'phage/action/PhagePlanAction.php',
'PhageWorkflow' => 'phage/workflow/PhageWorkflow.php',
+ 'Phobject' => 'object/Phobject.php',
+ 'PhobjectTestCase' => 'object/__tests__/PhobjectTestCase.php',
'PhpunitTestEngine' => 'unit/engine/PhpunitTestEngine.php',
'PhpunitTestEngineTestCase' => 'unit/engine/__tests__/PhpunitTestEngineTestCase.php',
+ 'PhutilAPCKeyValueCache' => 'cache/PhutilAPCKeyValueCache.php',
+ 'PhutilAWSCloudFormationFuture' => 'future/aws/PhutilAWSCloudFormationFuture.php',
+ 'PhutilAWSCloudWatchFuture' => 'future/aws/PhutilAWSCloudWatchFuture.php',
+ 'PhutilAWSEC2Future' => 'future/aws/PhutilAWSEC2Future.php',
+ 'PhutilAWSException' => 'future/aws/PhutilAWSException.php',
+ 'PhutilAWSFuture' => 'future/aws/PhutilAWSFuture.php',
+ 'PhutilAWSManagementWorkflow' => 'future/aws/management/PhutilAWSManagementWorkflow.php',
+ 'PhutilAWSS3DeleteManagementWorkflow' => 'future/aws/management/PhutilAWSS3DeleteManagementWorkflow.php',
+ 'PhutilAWSS3Future' => 'future/aws/PhutilAWSS3Future.php',
+ 'PhutilAWSS3GetManagementWorkflow' => 'future/aws/management/PhutilAWSS3GetManagementWorkflow.php',
+ 'PhutilAWSS3ManagementWorkflow' => 'future/aws/management/PhutilAWSS3ManagementWorkflow.php',
+ 'PhutilAWSS3PutManagementWorkflow' => 'future/aws/management/PhutilAWSS3PutManagementWorkflow.php',
+ 'PhutilAWSv4Signature' => 'future/aws/PhutilAWSv4Signature.php',
+ 'PhutilAWSv4SignatureTestCase' => 'future/aws/__tests__/PhutilAWSv4SignatureTestCase.php',
+ 'PhutilAggregateException' => 'error/PhutilAggregateException.php',
+ 'PhutilAllCapsEnglishLocale' => 'internationalization/locales/PhutilAllCapsEnglishLocale.php',
+ 'PhutilAmazonAuthAdapter' => 'auth/PhutilAmazonAuthAdapter.php',
+ 'PhutilArgumentParser' => 'parser/argument/PhutilArgumentParser.php',
+ 'PhutilArgumentParserException' => 'parser/argument/exception/PhutilArgumentParserException.php',
+ 'PhutilArgumentParserTestCase' => 'parser/argument/__tests__/PhutilArgumentParserTestCase.php',
+ 'PhutilArgumentSpecification' => 'parser/argument/PhutilArgumentSpecification.php',
+ 'PhutilArgumentSpecificationException' => 'parser/argument/exception/PhutilArgumentSpecificationException.php',
+ 'PhutilArgumentSpecificationTestCase' => 'parser/argument/__tests__/PhutilArgumentSpecificationTestCase.php',
+ 'PhutilArgumentSpellingCorrector' => 'parser/argument/PhutilArgumentSpellingCorrector.php',
+ 'PhutilArgumentSpellingCorrectorTestCase' => 'parser/argument/__tests__/PhutilArgumentSpellingCorrectorTestCase.php',
+ 'PhutilArgumentUsageException' => 'parser/argument/exception/PhutilArgumentUsageException.php',
+ 'PhutilArgumentWorkflow' => 'parser/argument/workflow/PhutilArgumentWorkflow.php',
+ 'PhutilArray' => 'utils/PhutilArray.php',
+ 'PhutilArrayTestCase' => 'utils/__tests__/PhutilArrayTestCase.php',
+ 'PhutilArrayWithDefaultValue' => 'utils/PhutilArrayWithDefaultValue.php',
+ 'PhutilAsanaAuthAdapter' => 'auth/PhutilAsanaAuthAdapter.php',
+ 'PhutilAsanaFuture' => 'future/asana/PhutilAsanaFuture.php',
+ 'PhutilAuthAdapter' => 'auth/PhutilAuthAdapter.php',
+ 'PhutilAuthConfigurationException' => 'auth/exception/PhutilAuthConfigurationException.php',
+ 'PhutilAuthCredentialException' => 'auth/exception/PhutilAuthCredentialException.php',
+ 'PhutilAuthException' => 'auth/exception/PhutilAuthException.php',
+ 'PhutilAuthUserAbortedException' => 'auth/exception/PhutilAuthUserAbortedException.php',
+ 'PhutilBacktraceSignalHandler' => 'future/exec/PhutilBacktraceSignalHandler.php',
+ 'PhutilBallOfPHP' => 'phage/util/PhutilBallOfPHP.php',
+ 'PhutilBinaryAnalyzer' => 'filesystem/binary/PhutilBinaryAnalyzer.php',
+ 'PhutilBinaryAnalyzerTestCase' => 'filesystem/binary/__tests__/PhutilBinaryAnalyzerTestCase.php',
+ 'PhutilBitbucketAuthAdapter' => 'auth/PhutilBitbucketAuthAdapter.php',
+ 'PhutilBootloader' => 'moduleutils/PhutilBootloader.php',
+ 'PhutilBootloaderException' => 'moduleutils/PhutilBootloaderException.php',
+ 'PhutilBritishEnglishLocale' => 'internationalization/locales/PhutilBritishEnglishLocale.php',
+ 'PhutilBufferedIterator' => 'utils/PhutilBufferedIterator.php',
+ 'PhutilBufferedIteratorTestCase' => 'utils/__tests__/PhutilBufferedIteratorTestCase.php',
+ 'PhutilBugtraqParser' => 'parser/PhutilBugtraqParser.php',
+ 'PhutilBugtraqParserTestCase' => 'parser/__tests__/PhutilBugtraqParserTestCase.php',
+ 'PhutilCIDRBlock' => 'ip/PhutilCIDRBlock.php',
+ 'PhutilCIDRList' => 'ip/PhutilCIDRList.php',
+ 'PhutilCLikeCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilCLikeCodeSnippetContextFreeGrammar.php',
+ 'PhutilCalendarAbsoluteDateTime' => 'parser/calendar/data/PhutilCalendarAbsoluteDateTime.php',
+ 'PhutilCalendarContainerNode' => 'parser/calendar/data/PhutilCalendarContainerNode.php',
+ 'PhutilCalendarDateTime' => 'parser/calendar/data/PhutilCalendarDateTime.php',
+ 'PhutilCalendarDateTimeTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarDateTimeTestCase.php',
+ 'PhutilCalendarDocumentNode' => 'parser/calendar/data/PhutilCalendarDocumentNode.php',
+ 'PhutilCalendarDuration' => 'parser/calendar/data/PhutilCalendarDuration.php',
+ 'PhutilCalendarEventNode' => 'parser/calendar/data/PhutilCalendarEventNode.php',
+ 'PhutilCalendarNode' => 'parser/calendar/data/PhutilCalendarNode.php',
+ 'PhutilCalendarProxyDateTime' => 'parser/calendar/data/PhutilCalendarProxyDateTime.php',
+ 'PhutilCalendarRawNode' => 'parser/calendar/data/PhutilCalendarRawNode.php',
+ 'PhutilCalendarRecurrenceList' => 'parser/calendar/data/PhutilCalendarRecurrenceList.php',
+ 'PhutilCalendarRecurrenceRule' => 'parser/calendar/data/PhutilCalendarRecurrenceRule.php',
+ 'PhutilCalendarRecurrenceRuleTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php',
+ 'PhutilCalendarRecurrenceSet' => 'parser/calendar/data/PhutilCalendarRecurrenceSet.php',
+ 'PhutilCalendarRecurrenceSource' => 'parser/calendar/data/PhutilCalendarRecurrenceSource.php',
+ 'PhutilCalendarRecurrenceTestCase' => 'parser/calendar/data/__tests__/PhutilCalendarRecurrenceTestCase.php',
+ 'PhutilCalendarRelativeDateTime' => 'parser/calendar/data/PhutilCalendarRelativeDateTime.php',
+ 'PhutilCalendarRootNode' => 'parser/calendar/data/PhutilCalendarRootNode.php',
+ 'PhutilCalendarUserNode' => 'parser/calendar/data/PhutilCalendarUserNode.php',
+ 'PhutilCallbackFilterIterator' => 'utils/PhutilCallbackFilterIterator.php',
+ 'PhutilCallbackSignalHandler' => 'future/exec/PhutilCallbackSignalHandler.php',
+ 'PhutilChannel' => 'channel/PhutilChannel.php',
+ 'PhutilChannelChannel' => 'channel/PhutilChannelChannel.php',
+ 'PhutilChannelTestCase' => 'channel/__tests__/PhutilChannelTestCase.php',
+ 'PhutilChunkedIterator' => 'utils/PhutilChunkedIterator.php',
+ 'PhutilChunkedIteratorTestCase' => 'utils/__tests__/PhutilChunkedIteratorTestCase.php',
+ 'PhutilClassMapQuery' => 'symbols/PhutilClassMapQuery.php',
+ 'PhutilCloudWatchMetric' => 'future/aws/PhutilCloudWatchMetric.php',
+ 'PhutilCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilCodeSnippetContextFreeGrammar.php',
+ 'PhutilCommandString' => 'xsprintf/PhutilCommandString.php',
+ 'PhutilConsole' => 'console/PhutilConsole.php',
+ 'PhutilConsoleBlock' => 'console/view/PhutilConsoleBlock.php',
+ 'PhutilConsoleError' => 'console/view/PhutilConsoleError.php',
+ 'PhutilConsoleFormatter' => 'console/PhutilConsoleFormatter.php',
+ 'PhutilConsoleInfo' => 'console/view/PhutilConsoleInfo.php',
+ 'PhutilConsoleList' => 'console/view/PhutilConsoleList.php',
+ 'PhutilConsoleLogLine' => 'console/view/PhutilConsoleLogLine.php',
+ 'PhutilConsoleMessage' => 'console/PhutilConsoleMessage.php',
+ 'PhutilConsoleMetrics' => 'console/PhutilConsoleMetrics.php',
+ 'PhutilConsoleMetricsSignalHandler' => 'future/exec/PhutilConsoleMetricsSignalHandler.php',
+ 'PhutilConsoleProgressBar' => 'console/PhutilConsoleProgressBar.php',
+ 'PhutilConsoleServer' => 'console/PhutilConsoleServer.php',
+ 'PhutilConsoleServerChannel' => 'console/PhutilConsoleServerChannel.php',
+ 'PhutilConsoleSkip' => 'console/view/PhutilConsoleSkip.php',
+ 'PhutilConsoleStdinNotInteractiveException' => 'console/PhutilConsoleStdinNotInteractiveException.php',
+ 'PhutilConsoleSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilConsoleSyntaxHighlighter.php',
+ 'PhutilConsoleTable' => 'console/view/PhutilConsoleTable.php',
+ 'PhutilConsoleView' => 'console/view/PhutilConsoleView.php',
+ 'PhutilConsoleWarning' => 'console/view/PhutilConsoleWarning.php',
+ 'PhutilConsoleWrapTestCase' => 'console/__tests__/PhutilConsoleWrapTestCase.php',
+ 'PhutilContextFreeGrammar' => 'grammar/PhutilContextFreeGrammar.php',
+ 'PhutilCowsay' => 'utils/PhutilCowsay.php',
+ 'PhutilCowsayTestCase' => 'utils/__tests__/PhutilCowsayTestCase.php',
+ 'PhutilCsprintfTestCase' => 'xsprintf/__tests__/PhutilCsprintfTestCase.php',
+ 'PhutilCzechLocale' => 'internationalization/locales/PhutilCzechLocale.php',
+ 'PhutilDaemon' => 'daemon/PhutilDaemon.php',
+ 'PhutilDaemonHandle' => 'daemon/PhutilDaemonHandle.php',
+ 'PhutilDaemonOverseer' => 'daemon/PhutilDaemonOverseer.php',
+ 'PhutilDaemonOverseerModule' => 'daemon/PhutilDaemonOverseerModule.php',
+ 'PhutilDaemonPool' => 'daemon/PhutilDaemonPool.php',
+ 'PhutilDefaultSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilDefaultSyntaxHighlighter.php',
+ 'PhutilDefaultSyntaxHighlighterEngine' => 'markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php',
+ 'PhutilDefaultSyntaxHighlighterEnginePygmentsFuture' => 'markup/syntax/highlighter/pygments/PhutilDefaultSyntaxHighlighterEnginePygmentsFuture.php',
+ 'PhutilDefaultSyntaxHighlighterEngineTestCase' => 'markup/syntax/engine/__tests__/PhutilDefaultSyntaxHighlighterEngineTestCase.php',
+ 'PhutilDeferredLog' => 'filesystem/PhutilDeferredLog.php',
+ 'PhutilDeferredLogTestCase' => 'filesystem/__tests__/PhutilDeferredLogTestCase.php',
+ 'PhutilDiffBinaryAnalyzer' => 'filesystem/binary/PhutilDiffBinaryAnalyzer.php',
+ 'PhutilDirectedScalarGraph' => 'utils/PhutilDirectedScalarGraph.php',
+ 'PhutilDirectoryFixture' => 'filesystem/PhutilDirectoryFixture.php',
+ 'PhutilDirectoryKeyValueCache' => 'cache/PhutilDirectoryKeyValueCache.php',
+ 'PhutilDisqusAuthAdapter' => 'auth/PhutilDisqusAuthAdapter.php',
+ 'PhutilDivinerSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilDivinerSyntaxHighlighter.php',
+ 'PhutilDocblockParser' => 'parser/PhutilDocblockParser.php',
+ 'PhutilDocblockParserTestCase' => 'parser/__tests__/PhutilDocblockParserTestCase.php',
+ 'PhutilEditDistanceMatrix' => 'utils/PhutilEditDistanceMatrix.php',
+ 'PhutilEditDistanceMatrixTestCase' => 'utils/__tests__/PhutilEditDistanceMatrixTestCase.php',
+ 'PhutilEditorConfig' => 'parser/PhutilEditorConfig.php',
+ 'PhutilEditorConfigTestCase' => 'parser/__tests__/PhutilEditorConfigTestCase.php',
+ 'PhutilEmailAddress' => 'parser/PhutilEmailAddress.php',
+ 'PhutilEmailAddressTestCase' => 'parser/__tests__/PhutilEmailAddressTestCase.php',
+ 'PhutilEmojiLocale' => 'internationalization/locales/PhutilEmojiLocale.php',
+ 'PhutilEmptyAuthAdapter' => 'auth/PhutilEmptyAuthAdapter.php',
+ 'PhutilEnglishCanadaLocale' => 'internationalization/locales/PhutilEnglishCanadaLocale.php',
+ 'PhutilErrorHandler' => 'error/PhutilErrorHandler.php',
+ 'PhutilErrorHandlerTestCase' => 'error/__tests__/PhutilErrorHandlerTestCase.php',
+ 'PhutilErrorTrap' => 'error/PhutilErrorTrap.php',
+ 'PhutilEvent' => 'events/PhutilEvent.php',
+ 'PhutilEventConstants' => 'events/constant/PhutilEventConstants.php',
+ 'PhutilEventEngine' => 'events/PhutilEventEngine.php',
+ 'PhutilEventListener' => 'events/PhutilEventListener.php',
+ 'PhutilEventType' => 'events/constant/PhutilEventType.php',
+ 'PhutilExampleBufferedIterator' => 'utils/PhutilExampleBufferedIterator.php',
+ 'PhutilExcessiveServiceCallsDaemon' => 'daemon/torture/PhutilExcessiveServiceCallsDaemon.php',
+ 'PhutilExecChannel' => 'channel/PhutilExecChannel.php',
+ 'PhutilExecPassthru' => 'future/exec/PhutilExecPassthru.php',
+ 'PhutilExecutableFuture' => 'future/exec/PhutilExecutableFuture.php',
+ 'PhutilExecutionEnvironment' => 'utils/PhutilExecutionEnvironment.php',
+ 'PhutilExtensionsTestCase' => 'moduleutils/__tests__/PhutilExtensionsTestCase.php',
+ 'PhutilFacebookAuthAdapter' => 'auth/PhutilFacebookAuthAdapter.php',
+ 'PhutilFatalDaemon' => 'daemon/torture/PhutilFatalDaemon.php',
+ 'PhutilFileLock' => 'filesystem/PhutilFileLock.php',
+ 'PhutilFileLockTestCase' => 'filesystem/__tests__/PhutilFileLockTestCase.php',
+ 'PhutilFileTree' => 'filesystem/PhutilFileTree.php',
+ 'PhutilFrenchLocale' => 'internationalization/locales/PhutilFrenchLocale.php',
+ 'PhutilGermanLocale' => 'internationalization/locales/PhutilGermanLocale.php',
+ 'PhutilGitBinaryAnalyzer' => 'filesystem/binary/PhutilGitBinaryAnalyzer.php',
+ 'PhutilGitHubAuthAdapter' => 'auth/PhutilGitHubAuthAdapter.php',
+ 'PhutilGitHubFuture' => 'future/github/PhutilGitHubFuture.php',
+ 'PhutilGitHubResponse' => 'future/github/PhutilGitHubResponse.php',
+ 'PhutilGitURI' => 'parser/PhutilGitURI.php',
+ 'PhutilGitURITestCase' => 'parser/__tests__/PhutilGitURITestCase.php',
+ 'PhutilGoogleAuthAdapter' => 'auth/PhutilGoogleAuthAdapter.php',
+ 'PhutilHTTPEngineExtension' => 'future/http/PhutilHTTPEngineExtension.php',
+ 'PhutilHTTPResponse' => 'parser/http/PhutilHTTPResponse.php',
+ 'PhutilHTTPResponseParser' => 'parser/http/PhutilHTTPResponseParser.php',
+ 'PhutilHTTPResponseParserTestCase' => 'parser/http/__tests__/PhutilHTTPResponseParserTestCase.php',
+ 'PhutilHangForeverDaemon' => 'daemon/torture/PhutilHangForeverDaemon.php',
+ 'PhutilHashingIterator' => 'utils/PhutilHashingIterator.php',
+ 'PhutilHashingIteratorTestCase' => 'utils/__tests__/PhutilHashingIteratorTestCase.php',
+ 'PhutilHelpArgumentWorkflow' => 'parser/argument/workflow/PhutilHelpArgumentWorkflow.php',
+ 'PhutilHgsprintfTestCase' => 'xsprintf/__tests__/PhutilHgsprintfTestCase.php',
+ 'PhutilHighIntensityIntervalDaemon' => 'daemon/torture/PhutilHighIntensityIntervalDaemon.php',
+ 'PhutilICSParser' => 'parser/calendar/ics/PhutilICSParser.php',
+ 'PhutilICSParserException' => 'parser/calendar/ics/PhutilICSParserException.php',
+ 'PhutilICSParserTestCase' => 'parser/calendar/ics/__tests__/PhutilICSParserTestCase.php',
+ 'PhutilICSWriter' => 'parser/calendar/ics/PhutilICSWriter.php',
+ 'PhutilICSWriterTestCase' => 'parser/calendar/ics/__tests__/PhutilICSWriterTestCase.php',
+ 'PhutilINIParserException' => 'parser/exception/PhutilINIParserException.php',
+ 'PhutilIPAddress' => 'ip/PhutilIPAddress.php',
+ 'PhutilIPAddressTestCase' => 'ip/__tests__/PhutilIPAddressTestCase.php',
+ 'PhutilIPv4Address' => 'ip/PhutilIPv4Address.php',
+ 'PhutilIPv6Address' => 'ip/PhutilIPv6Address.php',
+ 'PhutilInRequestKeyValueCache' => 'cache/PhutilInRequestKeyValueCache.php',
+ 'PhutilInteractiveEditor' => 'console/PhutilInteractiveEditor.php',
+ 'PhutilInvalidRuleParserGeneratorException' => 'parser/generator/exception/PhutilInvalidRuleParserGeneratorException.php',
+ 'PhutilInvalidStateException' => 'exception/PhutilInvalidStateException.php',
+ 'PhutilInvalidStateExceptionTestCase' => 'exception/__tests__/PhutilInvalidStateExceptionTestCase.php',
+ 'PhutilInvisibleSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilInvisibleSyntaxHighlighter.php',
+ 'PhutilIrreducibleRuleParserGeneratorException' => 'parser/generator/exception/PhutilIrreducibleRuleParserGeneratorException.php',
+ 'PhutilJIRAAuthAdapter' => 'auth/PhutilJIRAAuthAdapter.php',
+ 'PhutilJSON' => 'parser/PhutilJSON.php',
+ 'PhutilJSONFragmentLexer' => 'lexer/PhutilJSONFragmentLexer.php',
+ 'PhutilJSONFragmentLexerHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilJSONFragmentLexerHighlighterTestCase.php',
+ 'PhutilJSONParser' => 'parser/PhutilJSONParser.php',
+ 'PhutilJSONParserException' => 'parser/exception/PhutilJSONParserException.php',
+ 'PhutilJSONParserTestCase' => 'parser/__tests__/PhutilJSONParserTestCase.php',
+ 'PhutilJSONProtocolChannel' => 'channel/PhutilJSONProtocolChannel.php',
+ 'PhutilJSONProtocolChannelTestCase' => 'channel/__tests__/PhutilJSONProtocolChannelTestCase.php',
+ 'PhutilJSONTestCase' => 'parser/__tests__/PhutilJSONTestCase.php',
+ 'PhutilJavaCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilJavaCodeSnippetContextFreeGrammar.php',
+ 'PhutilJavaFragmentLexer' => 'lexer/PhutilJavaFragmentLexer.php',
+ 'PhutilKeyValueCache' => 'cache/PhutilKeyValueCache.php',
+ 'PhutilKeyValueCacheNamespace' => 'cache/PhutilKeyValueCacheNamespace.php',
+ 'PhutilKeyValueCacheProfiler' => 'cache/PhutilKeyValueCacheProfiler.php',
+ 'PhutilKeyValueCacheProxy' => 'cache/PhutilKeyValueCacheProxy.php',
+ 'PhutilKeyValueCacheStack' => 'cache/PhutilKeyValueCacheStack.php',
+ 'PhutilKeyValueCacheTestCase' => 'cache/__tests__/PhutilKeyValueCacheTestCase.php',
+ 'PhutilKoreanLocale' => 'internationalization/locales/PhutilKoreanLocale.php',
+ 'PhutilLDAPAuthAdapter' => 'auth/PhutilLDAPAuthAdapter.php',
+ 'PhutilLanguageGuesser' => 'parser/PhutilLanguageGuesser.php',
+ 'PhutilLanguageGuesserTestCase' => 'parser/__tests__/PhutilLanguageGuesserTestCase.php',
+ 'PhutilLexer' => 'lexer/PhutilLexer.php',
+ 'PhutilLexerSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilLexerSyntaxHighlighter.php',
+ 'PhutilLibraryConflictException' => 'moduleutils/PhutilLibraryConflictException.php',
+ 'PhutilLibraryMapBuilder' => 'moduleutils/PhutilLibraryMapBuilder.php',
+ 'PhutilLibraryTestCase' => '__tests__/PhutilLibraryTestCase.php',
+ 'PhutilLipsumContextFreeGrammar' => 'grammar/PhutilLipsumContextFreeGrammar.php',
+ 'PhutilLocale' => 'internationalization/PhutilLocale.php',
+ 'PhutilLocaleTestCase' => 'internationalization/__tests__/PhutilLocaleTestCase.php',
+ 'PhutilLock' => 'filesystem/PhutilLock.php',
+ 'PhutilLockException' => 'filesystem/PhutilLockException.php',
+ 'PhutilLogFileChannel' => 'channel/PhutilLogFileChannel.php',
+ 'PhutilLunarPhase' => 'utils/PhutilLunarPhase.php',
+ 'PhutilLunarPhaseTestCase' => 'utils/__tests__/PhutilLunarPhaseTestCase.php',
+ 'PhutilMarkupEngine' => 'markup/PhutilMarkupEngine.php',
+ 'PhutilMarkupTestCase' => 'markup/__tests__/PhutilMarkupTestCase.php',
+ 'PhutilMemcacheKeyValueCache' => 'cache/PhutilMemcacheKeyValueCache.php',
+ 'PhutilMercurialBinaryAnalyzer' => 'filesystem/binary/PhutilMercurialBinaryAnalyzer.php',
+ 'PhutilMethodNotImplementedException' => 'error/PhutilMethodNotImplementedException.php',
+ 'PhutilMetricsChannel' => 'channel/PhutilMetricsChannel.php',
+ 'PhutilMissingSymbolException' => 'symbols/exception/PhutilMissingSymbolException.php',
+ 'PhutilModuleUtilsTestCase' => 'moduleutils/__tests__/PhutilModuleUtilsTestCase.php',
+ 'PhutilNiceDaemon' => 'daemon/torture/PhutilNiceDaemon.php',
+ 'PhutilNumber' => 'internationalization/PhutilNumber.php',
+ 'PhutilOAuth1AuthAdapter' => 'auth/PhutilOAuth1AuthAdapter.php',
+ 'PhutilOAuth1Future' => 'future/oauth/PhutilOAuth1Future.php',
+ 'PhutilOAuth1FutureTestCase' => 'future/oauth/__tests__/PhutilOAuth1FutureTestCase.php',
+ 'PhutilOAuthAuthAdapter' => 'auth/PhutilOAuthAuthAdapter.php',
+ 'PhutilOnDiskKeyValueCache' => 'cache/PhutilOnDiskKeyValueCache.php',
+ 'PhutilOpaqueEnvelope' => 'error/PhutilOpaqueEnvelope.php',
+ 'PhutilOpaqueEnvelopeKey' => 'error/PhutilOpaqueEnvelopeKey.php',
+ 'PhutilOpaqueEnvelopeTestCase' => 'error/__tests__/PhutilOpaqueEnvelopeTestCase.php',
+ 'PhutilPHPCodeSnippetContextFreeGrammar' => 'grammar/code/PhutilPHPCodeSnippetContextFreeGrammar.php',
+ 'PhutilPHPFragmentLexer' => 'lexer/PhutilPHPFragmentLexer.php',
+ 'PhutilPHPFragmentLexerHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilPHPFragmentLexerHighlighterTestCase.php',
+ 'PhutilPHPFragmentLexerTestCase' => 'lexer/__tests__/PhutilPHPFragmentLexerTestCase.php',
+ 'PhutilPHPObjectProtocolChannel' => 'channel/PhutilPHPObjectProtocolChannel.php',
+ 'PhutilPHPObjectProtocolChannelTestCase' => 'channel/__tests__/PhutilPHPObjectProtocolChannelTestCase.php',
+ 'PhutilParserGenerator' => 'parser/PhutilParserGenerator.php',
+ 'PhutilParserGeneratorException' => 'parser/generator/exception/PhutilParserGeneratorException.php',
+ 'PhutilParserGeneratorTestCase' => 'parser/__tests__/PhutilParserGeneratorTestCase.php',
+ 'PhutilPayPalAPIFuture' => 'future/paypal/PhutilPayPalAPIFuture.php',
+ 'PhutilPerson' => 'internationalization/PhutilPerson.php',
+ 'PhutilPersonTest' => 'internationalization/__tests__/PhutilPersonTest.php',
+ 'PhutilPhabricatorAuthAdapter' => 'auth/PhutilPhabricatorAuthAdapter.php',
+ 'PhutilPhtTestCase' => 'internationalization/__tests__/PhutilPhtTestCase.php',
+ 'PhutilPirateEnglishLocale' => 'internationalization/locales/PhutilPirateEnglishLocale.php',
+ 'PhutilPortugueseBrazilLocale' => 'internationalization/locales/PhutilPortugueseBrazilLocale.php',
+ 'PhutilPortuguesePortugalLocale' => 'internationalization/locales/PhutilPortuguesePortugalLocale.php',
+ 'PhutilPostmarkFuture' => 'future/postmark/PhutilPostmarkFuture.php',
+ 'PhutilPregsprintfTestCase' => 'xsprintf/__tests__/PhutilPregsprintfTestCase.php',
+ 'PhutilProcessGroupDaemon' => 'daemon/torture/PhutilProcessGroupDaemon.php',
+ 'PhutilProseDiff' => 'utils/PhutilProseDiff.php',
+ 'PhutilProseDiffTestCase' => 'utils/__tests__/PhutilProseDiffTestCase.php',
+ 'PhutilProseDifferenceEngine' => 'utils/PhutilProseDifferenceEngine.php',
+ 'PhutilProtocolChannel' => 'channel/PhutilProtocolChannel.php',
+ 'PhutilProxyException' => 'error/PhutilProxyException.php',
+ 'PhutilProxyIterator' => 'utils/PhutilProxyIterator.php',
+ 'PhutilPygmentizeBinaryAnalyzer' => 'filesystem/binary/PhutilPygmentizeBinaryAnalyzer.php',
+ 'PhutilPygmentizeParser' => 'parser/PhutilPygmentizeParser.php',
+ 'PhutilPygmentizeParserTestCase' => 'parser/__tests__/PhutilPygmentizeParserTestCase.php',
+ 'PhutilPygmentsSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilPygmentsSyntaxHighlighter.php',
+ 'PhutilPythonFragmentLexer' => 'lexer/PhutilPythonFragmentLexer.php',
+ 'PhutilQsprintfInterface' => 'xsprintf/PhutilQsprintfInterface.php',
+ 'PhutilQueryStringParser' => 'parser/PhutilQueryStringParser.php',
+ 'PhutilQueryStringParserTestCase' => 'parser/__tests__/PhutilQueryStringParserTestCase.php',
+ 'PhutilRainbowSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilRainbowSyntaxHighlighter.php',
+ 'PhutilRawEnglishLocale' => 'internationalization/locales/PhutilRawEnglishLocale.php',
+ 'PhutilReadableSerializer' => 'readableserializer/PhutilReadableSerializer.php',
+ 'PhutilReadableSerializerTestCase' => 'readableserializer/__tests__/PhutilReadableSerializerTestCase.php',
+ 'PhutilRealNameContextFreeGrammar' => 'grammar/PhutilRealNameContextFreeGrammar.php',
+ 'PhutilRemarkupBlockInterpreter' => 'markup/engine/remarkup/blockrule/PhutilRemarkupBlockInterpreter.php',
+ 'PhutilRemarkupBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php',
+ 'PhutilRemarkupBlockStorage' => 'markup/engine/remarkup/PhutilRemarkupBlockStorage.php',
+ 'PhutilRemarkupBoldRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupBoldRule.php',
+ 'PhutilRemarkupCodeBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupCodeBlockRule.php',
+ 'PhutilRemarkupDefaultBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupDefaultBlockRule.php',
+ 'PhutilRemarkupDelRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupDelRule.php',
+ 'PhutilRemarkupDocumentLinkRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupDocumentLinkRule.php',
+ 'PhutilRemarkupEngine' => 'markup/engine/PhutilRemarkupEngine.php',
+ 'PhutilRemarkupEngineTestCase' => 'markup/engine/__tests__/PhutilRemarkupEngineTestCase.php',
+ 'PhutilRemarkupEscapeRemarkupRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupEscapeRemarkupRule.php',
+ 'PhutilRemarkupHeaderBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupHeaderBlockRule.php',
+ 'PhutilRemarkupHighlightRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php',
+ 'PhutilRemarkupHorizontalRuleBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupHorizontalRuleBlockRule.php',
+ 'PhutilRemarkupHyperlinkRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupHyperlinkRule.php',
+ 'PhutilRemarkupInlineBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupInlineBlockRule.php',
+ 'PhutilRemarkupInterpreterBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupInterpreterBlockRule.php',
+ 'PhutilRemarkupItalicRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupItalicRule.php',
+ 'PhutilRemarkupLinebreaksRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupLinebreaksRule.php',
+ 'PhutilRemarkupListBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupListBlockRule.php',
+ 'PhutilRemarkupLiteralBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php',
+ 'PhutilRemarkupMonospaceRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupMonospaceRule.php',
+ 'PhutilRemarkupNoteBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupNoteBlockRule.php',
+ 'PhutilRemarkupQuotesBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupQuotesBlockRule.php',
+ 'PhutilRemarkupReplyBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php',
+ 'PhutilRemarkupRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupRule.php',
+ 'PhutilRemarkupSimpleTableBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php',
+ 'PhutilRemarkupTableBlockRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php',
+ 'PhutilRemarkupTestInterpreterRule' => 'markup/engine/remarkup/blockrule/PhutilRemarkupTestInterpreterRule.php',
+ 'PhutilRemarkupUnderlineRule' => 'markup/engine/remarkup/markuprule/PhutilRemarkupUnderlineRule.php',
+ 'PhutilRope' => 'utils/PhutilRope.php',
+ 'PhutilRopeTestCase' => 'utils/__tests__/PhutilRopeTestCase.php',
+ 'PhutilSafeHTML' => 'markup/PhutilSafeHTML.php',
+ 'PhutilSafeHTMLProducerInterface' => 'markup/PhutilSafeHTMLProducerInterface.php',
+ 'PhutilSafeHTMLTestCase' => 'markup/__tests__/PhutilSafeHTMLTestCase.php',
+ 'PhutilSaturateStdoutDaemon' => 'daemon/torture/PhutilSaturateStdoutDaemon.php',
+ 'PhutilSearchQueryCompiler' => 'search/PhutilSearchQueryCompiler.php',
+ 'PhutilSearchQueryCompilerSyntaxException' => 'search/PhutilSearchQueryCompilerSyntaxException.php',
+ 'PhutilSearchQueryCompilerTestCase' => 'search/__tests__/PhutilSearchQueryCompilerTestCase.php',
+ 'PhutilSearchQueryToken' => 'search/PhutilSearchQueryToken.php',
+ 'PhutilSearchStemmer' => 'search/PhutilSearchStemmer.php',
+ 'PhutilSearchStemmerTestCase' => 'search/__tests__/PhutilSearchStemmerTestCase.php',
+ 'PhutilServiceProfiler' => 'serviceprofiler/PhutilServiceProfiler.php',
+ 'PhutilShellLexer' => 'lexer/PhutilShellLexer.php',
+ 'PhutilShellLexerTestCase' => 'lexer/__tests__/PhutilShellLexerTestCase.php',
+ 'PhutilSignalHandler' => 'future/exec/PhutilSignalHandler.php',
+ 'PhutilSignalRouter' => 'future/exec/PhutilSignalRouter.php',
+ 'PhutilSimpleOptions' => 'parser/PhutilSimpleOptions.php',
+ 'PhutilSimpleOptionsLexer' => 'lexer/PhutilSimpleOptionsLexer.php',
+ 'PhutilSimpleOptionsLexerTestCase' => 'lexer/__tests__/PhutilSimpleOptionsLexerTestCase.php',
+ 'PhutilSimpleOptionsTestCase' => 'parser/__tests__/PhutilSimpleOptionsTestCase.php',
+ 'PhutilSimplifiedChineseLocale' => 'internationalization/locales/PhutilSimplifiedChineseLocale.php',
+ 'PhutilSlackAuthAdapter' => 'auth/PhutilSlackAuthAdapter.php',
+ 'PhutilSlackFuture' => 'future/slack/PhutilSlackFuture.php',
+ 'PhutilSocketChannel' => 'channel/PhutilSocketChannel.php',
+ 'PhutilSortVector' => 'utils/PhutilSortVector.php',
+ 'PhutilSpanishSpainLocale' => 'internationalization/locales/PhutilSpanishSpainLocale.php',
+ 'PhutilSprite' => 'sprites/PhutilSprite.php',
+ 'PhutilSpriteSheet' => 'sprites/PhutilSpriteSheet.php',
+ 'PhutilStreamIterator' => 'utils/PhutilStreamIterator.php',
+ 'PhutilSubversionBinaryAnalyzer' => 'filesystem/binary/PhutilSubversionBinaryAnalyzer.php',
+ 'PhutilSymbolLoader' => 'symbols/PhutilSymbolLoader.php',
+ 'PhutilSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilSyntaxHighlighter.php',
+ 'PhutilSyntaxHighlighterEngine' => 'markup/syntax/engine/PhutilSyntaxHighlighterEngine.php',
+ 'PhutilSyntaxHighlighterException' => 'markup/syntax/highlighter/PhutilSyntaxHighlighterException.php',
+ 'PhutilSystem' => 'utils/PhutilSystem.php',
+ 'PhutilSystemTestCase' => 'utils/__tests__/PhutilSystemTestCase.php',
+ 'PhutilTerminalString' => 'xsprintf/PhutilTerminalString.php',
'PhutilTestCase' => 'unit/engine/phutil/PhutilTestCase.php',
'PhutilTestCaseTestCase' => 'unit/engine/phutil/testcase/PhutilTestCaseTestCase.php',
+ 'PhutilTestPhobject' => 'object/__tests__/PhutilTestPhobject.php',
'PhutilTestSkippedException' => 'unit/engine/phutil/testcase/PhutilTestSkippedException.php',
'PhutilTestTerminatedException' => 'unit/engine/phutil/testcase/PhutilTestTerminatedException.php',
+ 'PhutilTortureTestDaemon' => 'daemon/torture/PhutilTortureTestDaemon.php',
+ 'PhutilTraditionalChineseLocale' => 'internationalization/locales/PhutilTraditionalChineseLocale.php',
+ 'PhutilTranslation' => 'internationalization/PhutilTranslation.php',
+ 'PhutilTranslationTestCase' => 'internationalization/__tests__/PhutilTranslationTestCase.php',
+ 'PhutilTranslator' => 'internationalization/PhutilTranslator.php',
+ 'PhutilTranslatorTestCase' => 'internationalization/__tests__/PhutilTranslatorTestCase.php',
+ 'PhutilTsprintfTestCase' => 'xsprintf/__tests__/PhutilTsprintfTestCase.php',
+ 'PhutilTwitchAuthAdapter' => 'auth/PhutilTwitchAuthAdapter.php',
+ 'PhutilTwitchFuture' => 'future/twitch/PhutilTwitchFuture.php',
+ 'PhutilTwitterAuthAdapter' => 'auth/PhutilTwitterAuthAdapter.php',
+ 'PhutilTypeCheckException' => 'parser/exception/PhutilTypeCheckException.php',
+ 'PhutilTypeExtraParametersException' => 'parser/exception/PhutilTypeExtraParametersException.php',
+ 'PhutilTypeLexer' => 'lexer/PhutilTypeLexer.php',
+ 'PhutilTypeMissingParametersException' => 'parser/exception/PhutilTypeMissingParametersException.php',
+ 'PhutilTypeSpec' => 'parser/PhutilTypeSpec.php',
+ 'PhutilTypeSpecTestCase' => 'parser/__tests__/PhutilTypeSpecTestCase.php',
+ 'PhutilURI' => 'parser/PhutilURI.php',
+ 'PhutilURITestCase' => 'parser/__tests__/PhutilURITestCase.php',
+ 'PhutilUSEnglishLocale' => 'internationalization/locales/PhutilUSEnglishLocale.php',
+ 'PhutilUTF8StringTruncator' => 'utils/PhutilUTF8StringTruncator.php',
+ 'PhutilUTF8TestCase' => 'utils/__tests__/PhutilUTF8TestCase.php',
'PhutilUnitTestEngine' => 'unit/engine/PhutilUnitTestEngine.php',
'PhutilUnitTestEngineTestCase' => 'unit/engine/__tests__/PhutilUnitTestEngineTestCase.php',
+ 'PhutilUnknownSymbolParserGeneratorException' => 'parser/generator/exception/PhutilUnknownSymbolParserGeneratorException.php',
+ 'PhutilUnreachableRuleParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableRuleParserGeneratorException.php',
+ 'PhutilUnreachableTerminalParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableTerminalParserGeneratorException.php',
+ 'PhutilUrisprintfTestCase' => 'xsprintf/__tests__/PhutilUrisprintfTestCase.php',
+ 'PhutilUtilsTestCase' => 'utils/__tests__/PhutilUtilsTestCase.php',
+ 'PhutilVeryWowEnglishLocale' => 'internationalization/locales/PhutilVeryWowEnglishLocale.php',
+ 'PhutilWordPressAuthAdapter' => 'auth/PhutilWordPressAuthAdapter.php',
+ 'PhutilWordPressFuture' => 'future/wordpress/PhutilWordPressFuture.php',
+ 'PhutilXHPASTBinary' => 'parser/xhpast/bin/PhutilXHPASTBinary.php',
+ 'PhutilXHPASTSyntaxHighlighter' => 'markup/syntax/highlighter/PhutilXHPASTSyntaxHighlighter.php',
+ 'PhutilXHPASTSyntaxHighlighterFuture' => 'markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php',
+ 'PhutilXHPASTSyntaxHighlighterTestCase' => 'markup/syntax/highlighter/__tests__/PhutilXHPASTSyntaxHighlighterTestCase.php',
'PytestTestEngine' => 'unit/engine/PytestTestEngine.php',
+ 'QueryFuture' => 'future/query/QueryFuture.php',
+ 'TempFile' => 'filesystem/TempFile.php',
+ 'TestAbstractDirectedGraph' => 'utils/__tests__/TestAbstractDirectedGraph.php',
+ 'XHPASTNode' => 'parser/xhpast/api/XHPASTNode.php',
+ 'XHPASTNodeTestCase' => 'parser/xhpast/api/__tests__/XHPASTNodeTestCase.php',
+ 'XHPASTSyntaxErrorException' => 'parser/xhpast/api/XHPASTSyntaxErrorException.php',
+ 'XHPASTToken' => 'parser/xhpast/api/XHPASTToken.php',
+ 'XHPASTTree' => 'parser/xhpast/api/XHPASTTree.php',
+ 'XHPASTTreeTestCase' => 'parser/xhpast/api/__tests__/XHPASTTreeTestCase.php',
'XUnitTestEngine' => 'unit/engine/XUnitTestEngine.php',
'XUnitTestResultParserTestCase' => 'unit/parser/__tests__/XUnitTestResultParserTestCase.php',
+ 'XsprintfUnknownConversionException' => 'xsprintf/exception/XsprintfUnknownConversionException.php',
),
'function' => array(
'array_fuse' => 'utils/utils.php',
@@ -1075,6 +1094,49 @@
'xsprintf_uri' => 'xsprintf/urisprintf.php',
),
'xmap' => array(
+ 'AASTNode' => 'Phobject',
+ 'AASTNodeList' => array(
+ 'Phobject',
+ 'Countable',
+ 'Iterator',
+ ),
+ 'AASTToken' => 'Phobject',
+ 'AASTTree' => 'Phobject',
+ 'AbstractDirectedGraph' => 'Phobject',
+ 'AbstractDirectedGraphTestCase' => 'PhutilTestCase',
+ 'AphrontAccessDeniedQueryException' => 'AphrontQueryException',
+ 'AphrontBaseMySQLDatabaseConnection' => 'AphrontDatabaseConnection',
+ 'AphrontCharacterSetQueryException' => 'AphrontQueryException',
+ 'AphrontConnectionLostQueryException' => 'AphrontRecoverableQueryException',
+ 'AphrontConnectionQueryException' => 'AphrontQueryException',
+ 'AphrontCountQueryException' => 'AphrontQueryException',
+ 'AphrontDatabaseConnection' => array(
+ 'Phobject',
+ 'PhutilQsprintfInterface',
+ ),
+ 'AphrontDatabaseTransactionState' => 'Phobject',
+ 'AphrontDeadlockQueryException' => 'AphrontRecoverableQueryException',
+ 'AphrontDuplicateKeyQueryException' => 'AphrontQueryException',
+ 'AphrontHTTPHeaderParser' => 'Phobject',
+ 'AphrontHTTPHeaderParserTestCase' => 'PhutilTestCase',
+ 'AphrontInvalidCredentialsQueryException' => 'AphrontQueryException',
+ 'AphrontIsolatedDatabaseConnection' => 'AphrontDatabaseConnection',
+ 'AphrontLockTimeoutQueryException' => 'AphrontRecoverableQueryException',
+ 'AphrontMultipartParser' => 'Phobject',
+ 'AphrontMultipartParserTestCase' => 'PhutilTestCase',
+ 'AphrontMultipartPart' => 'Phobject',
+ 'AphrontMySQLDatabaseConnection' => 'AphrontBaseMySQLDatabaseConnection',
+ 'AphrontMySQLiDatabaseConnection' => 'AphrontBaseMySQLDatabaseConnection',
+ 'AphrontNotSupportedQueryException' => 'AphrontQueryException',
+ 'AphrontObjectMissingQueryException' => 'AphrontQueryException',
+ 'AphrontParameterQueryException' => 'AphrontQueryException',
+ 'AphrontQueryException' => 'Exception',
+ 'AphrontQueryTimeoutQueryException' => 'AphrontRecoverableQueryException',
+ 'AphrontRecoverableQueryException' => 'AphrontQueryException',
+ 'AphrontRequestStream' => 'Phobject',
+ 'AphrontSchemaQueryException' => 'AphrontQueryException',
+ 'AphrontScopedUnguardedWriteCapability' => 'Phobject',
+ 'AphrontWriteGuard' => 'Phobject',
'ArcanistAbstractMethodBodyXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistAbstractPrivateMethodXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1084,6 +1146,7 @@
'ArcanistAliasWorkflow' => 'ArcanistWorkflow',
'ArcanistAmendWorkflow' => 'ArcanistWorkflow',
'ArcanistAnoidWorkflow' => 'ArcanistWorkflow',
+ 'ArcanistArcConfigurationEngineExtension' => 'ArcanistConfigurationEngineExtension',
'ArcanistArcToolset' => 'ArcanistToolset',
'ArcanistArcWorkflow' => 'ArcanistWorkflow',
'ArcanistArrayCombineXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1163,10 +1226,16 @@
'ArcanistConcatenationOperatorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistConcatenationOperatorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistConduitCall' => 'Phobject',
+ 'ArcanistConduitConfigurationEngineExtension' => 'ArcanistConfigurationEngineExtension',
'ArcanistConduitEngine' => 'Phobject',
+ 'ArcanistConfigOption' => 'Phobject',
'ArcanistConfigurationDrivenLintEngine' => 'ArcanistLintEngine',
'ArcanistConfigurationDrivenUnitTestEngine' => 'ArcanistUnitTestEngine',
+ 'ArcanistConfigurationEngine' => 'Phobject',
+ 'ArcanistConfigurationEngineExtension' => 'Phobject',
'ArcanistConfigurationManager' => 'Phobject',
+ 'ArcanistConfigurationSource' => 'Phobject',
+ 'ArcanistConfigurationSourceList' => 'Phobject',
'ArcanistConsoleLintRenderer' => 'ArcanistLintRenderer',
'ArcanistConsoleLintRendererTestCase' => 'PhutilTestCase',
'ArcanistConstructorParenthesesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1184,6 +1253,7 @@
'ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistDefaultParametersXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistDefaultParametersXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
+ 'ArcanistDefaultsConfigurationSource' => 'ArcanistConfigurationSource',
'ArcanistDeprecationXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistDeprecationXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistDiffByteSizeException' => 'Exception',
@@ -1223,10 +1293,12 @@
'ArcanistExtractUseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistExtractUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistFeatureWorkflow' => 'ArcanistWorkflow',
+ 'ArcanistFileConfigurationSource' => 'ArcanistConfigurationSource',
'ArcanistFileDataRef' => 'Phobject',
'ArcanistFileUploader' => 'Phobject',
'ArcanistFilenameLinter' => 'ArcanistLinter',
'ArcanistFilenameLinterTestCase' => 'ArcanistLinterTestCase',
+ 'ArcanistFilesystemConfigurationSource' => 'ArcanistConfigurationSource',
'ArcanistFlagWorkflow' => 'ArcanistWorkflow',
'ArcanistFlake8Linter' => 'ArcanistExternalLinter',
'ArcanistFlake8LinterTestCase' => 'ArcanistExternalLinterTestCase',
@@ -1244,6 +1316,7 @@
'ArcanistGitLandEngine' => 'ArcanistLandEngine',
'ArcanistGitRevisionHardpointLoader' => 'ArcanistGitHardpointLoader',
'ArcanistGitUpstreamPath' => 'Phobject',
+ 'ArcanistGitWorkingCopy' => 'ArcanistWorkingCopy',
'ArcanistGlobalVariableXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistGlobalVariableXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistGoLintLinter' => 'ArcanistExternalLinter',
@@ -1322,6 +1395,7 @@
'ArcanistListAssignmentXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistListAssignmentXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistListWorkflow' => 'ArcanistWorkflow',
+ 'ArcanistLocalConfigurationSource' => 'ArcanistWorkingCopyConfigurationSource',
'ArcanistLogicalOperatorsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistLogicalOperatorsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistLowercaseFunctionsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1331,6 +1405,7 @@
'ArcanistMercurialHardpointLoader' => 'ArcanistHardpointLoader',
'ArcanistMercurialParser' => 'Phobject',
'ArcanistMercurialParserTestCase' => 'PhutilTestCase',
+ 'ArcanistMercurialWorkingCopy' => 'ArcanistWorkingCopy',
'ArcanistMercurialWorkingCopyCommitHardpointLoader' => 'ArcanistMercurialHardpointLoader',
'ArcanistMergeConflictLinter' => 'ArcanistLinter',
'ArcanistMergeConflictLinterTestCase' => 'ArcanistLinterTestCase',
@@ -1391,6 +1466,7 @@
'ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistPregQuoteMisuseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistPregQuoteMisuseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
+ 'ArcanistProjectConfigurationSource' => 'ArcanistWorkingCopyConfigurationSource',
'ArcanistPublicPropertyXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistPublicPropertyXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistPuppetLintLinter' => 'ArcanistExternalLinter',
@@ -1420,6 +1496,7 @@
'ArcanistRuboCopLinterTestCase' => 'ArcanistExternalLinterTestCase',
'ArcanistRubyLinter' => 'ArcanistExternalLinter',
'ArcanistRubyLinterTestCase' => 'ArcanistExternalLinterTestCase',
+ 'ArcanistRuntimeConfigurationSource' => 'ArcanistConfigurationSource',
'ArcanistScriptAndRegexLinter' => 'ArcanistLinter',
'ArcanistSelfClassReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistSelfClassReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
@@ -1441,8 +1518,10 @@
'ArcanistStaticThisXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistStopWorkflow' => 'ArcanistPhrequentWorkflow',
'ArcanistSubversionAPI' => 'ArcanistRepositoryAPI',
+ 'ArcanistSubversionWorkingCopy' => 'ArcanistWorkingCopy',
'ArcanistSummaryLintRenderer' => 'ArcanistLintRenderer',
'ArcanistSyntaxErrorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
+ 'ArcanistSystemConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
'ArcanistTasksWorkflow' => 'ArcanistWorkflow',
'ArcanistTautologicalExpressionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistTautologicalExpressionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
@@ -1491,6 +1570,7 @@
'ArcanistUselessOverridingMethodXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistUserAbortException' => 'ArcanistUsageException',
+ 'ArcanistUserConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
'ArcanistVariableReferenceSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistVariableVariableXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1499,7 +1579,8 @@
'ArcanistWeldWorkflow' => 'ArcanistWorkflow',
'ArcanistWhichWorkflow' => 'ArcanistWorkflow',
'ArcanistWorkflow' => 'Phobject',
- 'ArcanistWorkingCopyIdentity' => 'Phobject',
+ 'ArcanistWorkingCopy' => 'Phobject',
+ 'ArcanistWorkingCopyConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
'ArcanistWorkingCopyStateRef' => 'ArcanistRef',
'ArcanistXHPASTLintNamingHook' => 'Phobject',
'ArcanistXHPASTLintNamingHookTestCase' => 'PhutilTestCase',
@@ -1511,64 +1592,8 @@
'ArcanistXMLLinter' => 'ArcanistLinter',
'ArcanistXMLLinterTestCase' => 'ArcanistLinterTestCase',
'ArcanistXUnitTestResultParser' => 'Phobject',
- 'CSharpToolsTestEngine' => 'XUnitTestEngine',
- 'NoseTestEngine' => 'ArcanistUnitTestEngine',
- 'PhageWorkflow' => 'PhutilArgumentWorkflow',
- 'PhpunitTestEngine' => 'ArcanistUnitTestEngine',
- 'PhpunitTestEngineTestCase' => 'PhutilTestCase',
- 'PhutilTestCase' => 'Phobject',
- 'PhutilTestCaseTestCase' => 'PhutilTestCase',
- 'PhutilTestSkippedException' => 'Exception',
- 'PhutilTestTerminatedException' => 'Exception',
- 'PhutilUnitTestEngine' => 'ArcanistUnitTestEngine',
- 'PhutilUnitTestEngineTestCase' => 'PhutilTestCase',
- 'PytestTestEngine' => 'ArcanistUnitTestEngine',
- 'XUnitTestEngine' => 'ArcanistUnitTestEngine',
- 'XUnitTestResultParserTestCase' => 'PhutilTestCase',
- 'AASTNode' => 'Phobject',
- 'AASTNodeList' => array(
- 'Phobject',
- 'Countable',
- 'Iterator',
- ),
- 'AASTToken' => 'Phobject',
- 'AASTTree' => 'Phobject',
- 'AbstractDirectedGraph' => 'Phobject',
- 'AbstractDirectedGraphTestCase' => 'PhutilTestCase',
- 'AphrontAccessDeniedQueryException' => 'AphrontQueryException',
- 'AphrontBaseMySQLDatabaseConnection' => 'AphrontDatabaseConnection',
- 'AphrontCharacterSetQueryException' => 'AphrontQueryException',
- 'AphrontConnectionLostQueryException' => 'AphrontRecoverableQueryException',
- 'AphrontConnectionQueryException' => 'AphrontQueryException',
- 'AphrontCountQueryException' => 'AphrontQueryException',
- 'AphrontDatabaseConnection' => array(
- 'Phobject',
- 'PhutilQsprintfInterface',
- ),
- 'AphrontDatabaseTransactionState' => 'Phobject',
- 'AphrontDeadlockQueryException' => 'AphrontRecoverableQueryException',
- 'AphrontDuplicateKeyQueryException' => 'AphrontQueryException',
- 'AphrontHTTPHeaderParser' => 'Phobject',
- 'AphrontHTTPHeaderParserTestCase' => 'PhutilTestCase',
- 'AphrontInvalidCredentialsQueryException' => 'AphrontQueryException',
- 'AphrontIsolatedDatabaseConnection' => 'AphrontDatabaseConnection',
- 'AphrontLockTimeoutQueryException' => 'AphrontRecoverableQueryException',
- 'AphrontMultipartParser' => 'Phobject',
- 'AphrontMultipartParserTestCase' => 'PhutilTestCase',
- 'AphrontMultipartPart' => 'Phobject',
- 'AphrontMySQLDatabaseConnection' => 'AphrontBaseMySQLDatabaseConnection',
- 'AphrontMySQLiDatabaseConnection' => 'AphrontBaseMySQLDatabaseConnection',
- 'AphrontNotSupportedQueryException' => 'AphrontQueryException',
- 'AphrontObjectMissingQueryException' => 'AphrontQueryException',
- 'AphrontParameterQueryException' => 'AphrontQueryException',
- 'AphrontQueryException' => 'Exception',
- 'AphrontQueryTimeoutQueryException' => 'AphrontRecoverableQueryException',
- 'AphrontRecoverableQueryException' => 'AphrontQueryException',
- 'AphrontRequestStream' => 'Phobject',
- 'AphrontSchemaQueryException' => 'AphrontQueryException',
- 'AphrontScopedUnguardedWriteCapability' => 'Phobject',
- 'AphrontWriteGuard' => 'Phobject',
'BaseHTTPFuture' => 'Future',
+ 'CSharpToolsTestEngine' => 'XUnitTestEngine',
'CaseInsensitiveArray' => 'PhutilArray',
'CaseInsensitiveArrayTestCase' => 'PhutilTestCase',
'CommandException' => 'Exception',
@@ -1611,6 +1636,7 @@
'LinesOfALargeFile' => 'LinesOfALarge',
'LinesOfALargeFileTestCase' => 'PhutilTestCase',
'MFilterTestHelper' => 'Phobject',
+ 'NoseTestEngine' => 'ArcanistUnitTestEngine',
'PHPASTParserTestCase' => 'PhutilTestCase',
'PhageAction' => 'Phobject',
'PhageAgentAction' => 'PhageAction',
@@ -1621,8 +1647,11 @@
'PhagePHPAgent' => 'Phobject',
'PhagePHPAgentBootloader' => 'PhageAgentBootloader',
'PhagePlanAction' => 'PhageAction',
+ 'PhageWorkflow' => 'PhutilArgumentWorkflow',
'Phobject' => 'Iterator',
'PhobjectTestCase' => 'PhutilTestCase',
+ 'PhpunitTestEngine' => 'ArcanistUnitTestEngine',
+ 'PhpunitTestEngineTestCase' => 'PhutilTestCase',
'PhutilAPCKeyValueCache' => 'PhutilKeyValueCache',
'PhutilAWSCloudFormationFuture' => 'PhutilAWSFuture',
'PhutilAWSCloudWatchFuture' => 'PhutilAWSFuture',
@@ -1992,7 +2021,11 @@
'PhutilSystem' => 'Phobject',
'PhutilSystemTestCase' => 'PhutilTestCase',
'PhutilTerminalString' => 'Phobject',
+ 'PhutilTestCase' => 'Phobject',
+ 'PhutilTestCaseTestCase' => 'PhutilTestCase',
'PhutilTestPhobject' => 'Phobject',
+ 'PhutilTestSkippedException' => 'Exception',
+ 'PhutilTestTerminatedException' => 'Exception',
'PhutilTortureTestDaemon' => 'PhutilDaemon',
'PhutilTraditionalChineseLocale' => 'PhutilLocale',
'PhutilTranslation' => 'Phobject',
@@ -2014,6 +2047,8 @@
'PhutilUSEnglishLocale' => 'PhutilLocale',
'PhutilUTF8StringTruncator' => 'Phobject',
'PhutilUTF8TestCase' => 'PhutilTestCase',
+ 'PhutilUnitTestEngine' => 'ArcanistUnitTestEngine',
+ 'PhutilUnitTestEngineTestCase' => 'PhutilTestCase',
'PhutilUnknownSymbolParserGeneratorException' => 'PhutilParserGeneratorException',
'PhutilUnreachableRuleParserGeneratorException' => 'PhutilParserGeneratorException',
'PhutilUnreachableTerminalParserGeneratorException' => 'PhutilParserGeneratorException',
@@ -2026,6 +2061,7 @@
'PhutilXHPASTSyntaxHighlighter' => 'Phobject',
'PhutilXHPASTSyntaxHighlighterFuture' => 'FutureProxy',
'PhutilXHPASTSyntaxHighlighterTestCase' => 'PhutilTestCase',
+ 'PytestTestEngine' => 'ArcanistUnitTestEngine',
'QueryFuture' => 'Future',
'TempFile' => 'Phobject',
'TestAbstractDirectedGraph' => 'AbstractDirectedGraph',
@@ -2035,6 +2071,8 @@
'XHPASTToken' => 'AASTToken',
'XHPASTTree' => 'AASTTree',
'XHPASTTreeTestCase' => 'PhutilTestCase',
+ 'XUnitTestEngine' => 'ArcanistUnitTestEngine',
+ 'XUnitTestResultParserTestCase' => 'PhutilTestCase',
'XsprintfUnknownConversionException' => 'InvalidArgumentException',
),
));
diff --git a/src/config/ArcanistArcConfigurationEngineExtension.php b/src/config/ArcanistArcConfigurationEngineExtension.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistArcConfigurationEngineExtension.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistArcConfigurationEngineExtension
+ extends ArcanistConfigurationEngineExtension {
+
+}
diff --git a/src/config/ArcanistConduitConfigurationEngineExtension.php b/src/config/ArcanistConduitConfigurationEngineExtension.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistConduitConfigurationEngineExtension.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistConduitConfigurationEngineExtension
+ extends ArcanistConfigurationEngineExtension {
+
+}
diff --git a/src/config/ArcanistConfigOption.php b/src/config/ArcanistConfigOption.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistConfigOption.php
@@ -0,0 +1,6 @@
+<?php
+
+abstract class ArcanistConfigOption
+ extends Phobject {
+
+}
diff --git a/src/config/ArcanistConfigurationEngine.php b/src/config/ArcanistConfigurationEngine.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistConfigurationEngine.php
@@ -0,0 +1,98 @@
+<?php
+
+final class ArcanistConfigurationEngine
+ extends Phobject {
+
+ private $workingCopy;
+ private $arguments;
+
+ public function setWorkingCopy(ArcanistWorkingCopy $working_copy) {
+ $this->workingCopy = $working_copy;
+ return $this;
+ }
+
+ public function getWorkingCopy() {
+ return $this->workingCopy;
+ }
+
+ public function setArguments(PhutilArgumentParser $arguments) {
+ $this->arguments = $arguments;
+ return $this;
+ }
+
+ public function getArguments() {
+ if (!$this->arguments) {
+ throw new PhutilInvalidStateException('setArguments');
+ }
+ return $this->arguments;
+ }
+
+ public function newConfigurationSourceList() {
+ $list = new ArcanistConfigurationSourceList();
+
+ $list->addSource(new ArcanistDefaultsConfigurationSource());
+
+ $arguments = $this->getArguments();
+
+ // If the invoker has provided one or more configuration files with
+ // "--config-file" arguments, read those files instead of the system
+ // and user configuration files. Otherwise, read the system and user
+ // configuration files.
+
+ $config_files = $arguments->getArg('config-file');
+ if ($config_files) {
+ foreach ($config_files as $config_file) {
+ $list->addSource(new ArcanistFileConfigurationSource($config_file));
+ }
+ } else {
+ $system_path = $this->getSystemConfigurationFilePath();
+ $list->addSource(new ArcanistSystemConfigurationSource($system_path));
+
+ $user_path = $this->getUserConfigurationFilePath();
+ $list->addSource(new ArcanistUserConfigurationSource($user_path));
+ }
+
+
+ // If we're running in a working copy, load the ".arcconfig" and any
+ // local configuration.
+ $working_copy = $this->getWorkingCopy();
+ if ($working_copy) {
+ $project_path = $working_copy->getProjectConfigurationFilePath();
+ if ($project_path !== null) {
+ $list->addSource(new ArcanistProjectConfigurationSource($project_path));
+ }
+
+ $local_path = $working_copy->getLocalConfigurationFilePath();
+ if ($local_path !== null) {
+ $list->addSource(new ArcanistLocalConfigurationSource($local_path));
+ }
+ }
+
+ // If the invoker has provided "--config" arguments, parse those now.
+ $runtime_args = $arguments->getArg('config');
+ if ($runtime_args) {
+ $list->addSource(new ArcanistRuntimeConfigurationSource($runtime_args));
+ }
+
+ return $list;
+ }
+
+ private function getSystemConfigurationFilePath() {
+ if (phutil_is_windows()) {
+ return Filesystem::resolvePath(
+ 'Phabricator/Arcanist/config',
+ getenv('ProgramData'));
+ } else {
+ return '/etc/arcconfig';
+ }
+ }
+
+ private function getUserConfigurationFilePath() {
+ if (phutil_is_windows()) {
+ return getenv('APPDATA').'/.arcrc';
+ } else {
+ return getenv('HOME').'/.arcrc';
+ }
+ }
+
+}
diff --git a/src/config/ArcanistConfigurationEngineExtension.php b/src/config/ArcanistConfigurationEngineExtension.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistConfigurationEngineExtension.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistConfigurationEngineExtension
+ extends Phobject {
+
+}
diff --git a/src/config/ArcanistConfigurationSourceList.php b/src/config/ArcanistConfigurationSourceList.php
new file mode 100644
--- /dev/null
+++ b/src/config/ArcanistConfigurationSourceList.php
@@ -0,0 +1,13 @@
+<?php
+
+final class ArcanistConfigurationSourceList
+ extends Phobject {
+
+ private $sources = array();
+
+ public function addSource(ArcanistConfigurationSource $source) {
+ $this->sources[] = $source;
+ return $this;
+ }
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistConfigurationSource.php b/src/config/source/ArcanistConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+abstract class ArcanistConfigurationSource
+ extends Phobject {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistDefaultsConfigurationSource.php b/src/config/source/ArcanistDefaultsConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistDefaultsConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistDefaultsConfigurationSource
+ extends ArcanistConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistFileConfigurationSource.php b/src/config/source/ArcanistFileConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistFileConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistFileConfigurationSource
+ extends ArcanistConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistFilesystemConfigurationSource.php b/src/config/source/ArcanistFilesystemConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistFilesystemConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+abstract class ArcanistFilesystemConfigurationSource
+ extends ArcanistConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistLocalConfigurationSource.php b/src/config/source/ArcanistLocalConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistLocalConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistLocalConfigurationSource
+ extends ArcanistWorkingCopyConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistProjectConfigurationSource.php b/src/config/source/ArcanistProjectConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistProjectConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistProjectConfigurationSource
+ extends ArcanistWorkingCopyConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistRuntimeConfigurationSource.php b/src/config/source/ArcanistRuntimeConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistRuntimeConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistRuntimeConfigurationSource
+ extends ArcanistConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistSystemConfigurationSource.php b/src/config/source/ArcanistSystemConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistSystemConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistSystemConfigurationSource
+ extends ArcanistFilesystemConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistUserConfigurationSource.php b/src/config/source/ArcanistUserConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistUserConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+final class ArcanistUserConfigurationSource
+ extends ArcanistFilesystemConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/config/source/ArcanistWorkingCopyConfigurationSource.php b/src/config/source/ArcanistWorkingCopyConfigurationSource.php
new file mode 100644
--- /dev/null
+++ b/src/config/source/ArcanistWorkingCopyConfigurationSource.php
@@ -0,0 +1,6 @@
+<?php
+
+abstract class ArcanistWorkingCopyConfigurationSource
+ extends ArcanistFilesystemConfigurationSource {
+
+}
\ No newline at end of file
diff --git a/src/filesystem/Filesystem.php b/src/filesystem/Filesystem.php
--- a/src/filesystem/Filesystem.php
+++ b/src/filesystem/Filesystem.php
@@ -1054,7 +1054,8 @@
// separator, so we don't end up with "path//to///thing.c".
$components = preg_replace(
'('.preg_quote(DIRECTORY_SEPARATOR).'{2,})',
- DIRECTORY_SEPARATOR);
+ DIRECTORY_SEPARATOR,
+ $components);
return $components;
}
diff --git a/src/workingcopy/ArcanistGitWorkingCopy.php b/src/workingcopy/ArcanistGitWorkingCopy.php
--- a/src/workingcopy/ArcanistGitWorkingCopy.php
+++ b/src/workingcopy/ArcanistGitWorkingCopy.php
@@ -11,7 +11,7 @@
$working_directory,
$ancestor_directory) {
- if (!Filesystem::pathExits($ancestor_directory.'/.git')) {
+ if (!Filesystem::pathExists($ancestor_directory.'/.git')) {
return null;
}
diff --git a/src/workingcopy/ArcanistMercurialWorkingCopy.php b/src/workingcopy/ArcanistMercurialWorkingCopy.php
--- a/src/workingcopy/ArcanistMercurialWorkingCopy.php
+++ b/src/workingcopy/ArcanistMercurialWorkingCopy.php
@@ -11,7 +11,7 @@
$working_directory,
$ancestor_directory) {
- if (!Filesystem::pathExits($ancestor_directory.'/.hg')) {
+ if (!Filesystem::pathExists($ancestor_directory.'/.hg')) {
return null;
}
diff --git a/src/workingcopy/ArcanistSubversionWorkingCopy.php b/src/workingcopy/ArcanistSubversionWorkingCopy.php
--- a/src/workingcopy/ArcanistSubversionWorkingCopy.php
+++ b/src/workingcopy/ArcanistSubversionWorkingCopy.php
@@ -39,11 +39,11 @@
$working_directory,
$ancestor_directory) {
- if (!Filesystem::pathExits($ancestor_directory.'/.svn')) {
+ if (!Filesystem::pathExists($ancestor_directory.'/.svn')) {
return null;
}
- return id(new self());
+ return new self();
}
diff --git a/src/workingcopy/ArcanistWorkingCopy.php b/src/workingcopy/ArcanistWorkingCopy.php
--- a/src/workingcopy/ArcanistWorkingCopy.php
+++ b/src/workingcopy/ArcanistWorkingCopy.php
@@ -8,7 +8,7 @@
public static function newFromWorkingDirectory($path) {
$working_types = id(new PhutilClassMapQuery())
- ->setParentClass(__CLASS__)
+ ->setAncestorClass(__CLASS__)
->execute();
// Find the outermost directory which is under version control. We go from
diff --git a/support/ArcanistRuntime.php b/support/ArcanistRuntime.php
--- a/support/ArcanistRuntime.php
+++ b/support/ArcanistRuntime.php
@@ -45,6 +45,14 @@
'repeat' => true,
'help' => pht('Specify a runtime configuration value.'),
),
+ array(
+ 'name' => 'config-file',
+ 'param' => 'path',
+ 'repeat' => true,
+ 'help' => pht(
+ 'Load one or more configuration files. If this flag is provided, '.
+ 'the system and user configuration files are ignored.'),
+ ),
);
$args = id(new PhutilArgumentParser($argv))
@@ -202,9 +210,10 @@
}
private function loadConfiguration(PhutilArgumentParser $args) {
- $engine = new ArcanistConfigurationEngine();
+ $engine = id(new ArcanistConfigurationEngine())
+ ->setArguments($args);
- $working_copy = ArcanistWorkingCopyIdentity::newFromPath(getcwd());
+ $working_copy = ArcanistWorkingCopy::newFromWorkingDirectory(getcwd());
if ($working_copy) {
$engine->setWorkingCopy($working_copy);
}
@@ -214,28 +223,16 @@
private function loadLibraries(
PhutilArgumentParser $args,
- ArcanistConfigurationManager $config) {
+ ArcanistConfigurationSourceList $config) {
- $is_trace = $args->getArg('trace');
-
- if ($is_trace) {
- $libraries = array(
- 'phutil',
- 'arcanist',
- );
+ // TOOLSETS: Make this work again -- or replace it entirely with package
+ // management?
+ return;
- foreach ($libraries as $library_name) {
- $this->logTrace(
- pht('LOAD'),
- pht(
- 'Loaded "%s" from "%s".',
- $library_name,
- phutil_get_library_root($library_name)));
- }
- }
+ $is_trace = $args->getArg('trace');
$load = array();
- $working_copy = $config->getWorkingCopyIdentity();
+ $working_copy = $this->getWorkingCopy();
$cli_libraries = $args->getArg('library');
if ($cli_libraries) {
@@ -463,7 +460,7 @@
private function resolveAliases(
array $workflows,
array $argv,
- ArcanistConfigurationManager $config) {
+ ArcanistConfigurationSourceList $config) {
$command = head($argv);

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 21, 4:50 PM (2 w, 4 d ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/vj/c4/j4c2cplis4bf5out
Default Alt Text
D19694.id47068.diff (112 KB)

Event Timeline