@@ -44,7 +44,7 @@ export function collectBuildFilePattern(extensions: readonly vscode.Extension<an
4444}
4545
4646export function onExtensionChange ( extensions : readonly vscode . Extension < any > [ ] ) {
47- if ( isExistingExtensionsUpdated ( extensions ) || isExistingBuildFilePatternsUpdated ( extensions ) ) {
47+ if ( isContributedPartUpdated ( collectJavaExtensions ( extensions ) , existingExtensions ) || isContributedPartUpdated ( collectBuildFilePattern ( extensions ) , buildFilePatterns ) ) {
4848 const msg = `Java Extension Contributions changed, reloading ${ vscode . env . appName } is required for the changes to take effect.` ;
4949 const action = 'Reload' ;
5050 const restartId = Commands . RELOAD_WINDOW ;
@@ -56,13 +56,13 @@ export function onExtensionChange(extensions: readonly vscode.Extension<any>[])
5656 }
5757}
5858
59- function isExistingExtensionsUpdated ( extensions : readonly vscode . Extension < any > [ ] ) {
60- if ( ! existingExtensions ) {
59+ function isContributedPartUpdated ( newContributedPart : Array < string > , oldContributedPart : Array < string > ) {
60+ if ( ! oldContributedPart ) {
6161 return false ;
6262 }
63- const oldExtensions = new Set ( existingExtensions . slice ( ) ) ;
64- const newExtensions = collectJavaExtensions ( extensions ) ;
65- const hasChanged = ( oldExtensions . size !== newExtensions . length ) ;
63+ const oldExtensions = new Set ( oldContributedPart . slice ( ) ) ;
64+ const newExtensions = newContributedPart ;
65+ const hasChanged = ( oldExtensions . size !== newExtensions . length ) ;
6666 if ( ! hasChanged ) {
6767 for ( const newExtension of newExtensions ) {
6868 if ( ! oldExtensions . has ( newExtension ) ) {
@@ -72,20 +72,3 @@ function isExistingExtensionsUpdated(extensions: readonly vscode.Extension<any>[
7272 }
7373 return hasChanged ;
7474}
75-
76- function isExistingBuildFilePatternsUpdated ( extensions : readonly vscode . Extension < any > [ ] ) {
77- if ( ! buildFilePatterns ) {
78- return false ;
79- }
80- const oldPatterns = new Set ( buildFilePatterns . slice ( ) ) ;
81- const newPatterns = collectBuildFilePattern ( extensions ) ;
82- const hasChanged = ( oldPatterns . size !== newPatterns . length ) ;
83- if ( ! hasChanged ) {
84- for ( const newPattern of newPatterns ) {
85- if ( ! oldPatterns . has ( newPattern ) ) {
86- return true ;
87- }
88- }
89- }
90- return hasChanged ;
91- }
0 commit comments