@@ -48,6 +48,7 @@ public class ReqMethodInfo
4848 }
4949
5050 public string symbol = string . Empty ;
51+ public string [ ] symbols = null ;
5152 public string [ ] reqTypeNames = null ;
5253 public string [ ] reqAnyTypeNames = null ;
5354 public string [ ] reqFileNames = null ;
@@ -442,26 +443,52 @@ private static void DoUpdateScriptingDefineSymbols()
442443
443444 var defineSymbols = GetDefineSymbols ( ) ;
444445 var defineSymbolsChanged = false ;
446+ var validSymbols = new HashSet < string > ( ) ;
447+ var invalidSymbols = new HashSet < string > ( ) ;
445448
446449 foreach ( var symbolReq in s_symbolReqList )
447450 {
448451 if ( symbolReq . Validate ( ) )
449452 {
450- if ( ! defineSymbols . Contains ( symbolReq . symbol ) )
453+ if ( ! string . IsNullOrEmpty ( symbolReq . symbol ) ) { validSymbols . Add ( symbolReq . symbol ) ; }
454+ if ( symbolReq . symbols != null )
451455 {
452- defineSymbols . Add ( symbolReq . symbol ) ;
453- defineSymbolsChanged = true ;
456+ foreach ( var symbol in symbolReq . symbols )
457+ {
458+ if ( ! string . IsNullOrEmpty ( symbol ) ) { validSymbols . Add ( symbol ) ; }
459+ }
454460 }
455461 }
456462 else
457463 {
458- if ( defineSymbols . RemoveAll ( ( symbol ) => symbol == symbolReq . symbol ) > 0 )
464+ if ( ! string . IsNullOrEmpty ( symbolReq . symbol ) ) { invalidSymbols . Add ( symbolReq . symbol ) ; }
465+ if ( symbolReq . symbols != null )
459466 {
460- defineSymbolsChanged = true ;
467+ foreach ( var symbol in symbolReq . symbols )
468+ {
469+ if ( ! string . IsNullOrEmpty ( symbol ) ) { invalidSymbols . Add ( symbol ) ; }
470+ }
461471 }
462472 }
463473 }
464474
475+ foreach ( var symbol in invalidSymbols )
476+ {
477+ if ( defineSymbols . RemoveAll ( ( s ) => s == symbol ) > 0 )
478+ {
479+ defineSymbolsChanged = true ;
480+ }
481+ }
482+
483+ foreach ( var symbol in validSymbols )
484+ {
485+ if ( ! defineSymbols . Contains ( symbol ) )
486+ {
487+ defineSymbols . Add ( symbol ) ;
488+ defineSymbolsChanged = true ;
489+ }
490+ }
491+
465492 if ( defineSymbolsChanged )
466493 {
467494 SetDefineSymbols ( defineSymbols ) ;
0 commit comments