1010from ...interpreter .type_checking import NoneType
1111from ...interpreterbase .decorators import (
1212 noKwargs , KwargInfo , typed_kwargs , typed_pos_args ,
13- ContainerTypeInfo , permittedKwargs
13+ ContainerTypeInfo
1414)
1515from .. import ModuleInfo , NewExtensionModule , ModuleObject
1616from .feature import FeatureObject , ConflictAttr
2020 from typing import TypedDict
2121 from ...interpreterbase import TYPE_var , TYPE_kwargs
2222 from .. import ModuleState
23- from .feature import FeatureKwArgs
2423
2524 class TestKwArgs (TypedDict ):
2625 compiler : Optional [Compiler ]
@@ -104,11 +103,12 @@ def add_target(self, features: Union[FeatureObject, List[FeatureObject]],
104103 else tuple (sorted (features ))
105104 )
106105 targets : List [build .StaticLibrary ] = self ._targets .setdefault (
107- tfeatures , cast ( List [ build . StaticLibrary ], [])) # type: ignore
106+ tfeatures , [])
108107 targets .append (target )
109108
110109class Module (NewExtensionModule ):
111110 INFO = ModuleInfo ('features' , '0.1.0' )
111+
112112 def __init__ (self ) -> None :
113113 super ().__init__ ()
114114 self .methods .update ({
@@ -142,7 +142,8 @@ def _set_cache(self, state: 'ModuleState', key: str,
142142 self ._cache_dict (state )[key ] = val
143143
144144 @typed_pos_args ('features.test' , varargs = FeatureObject , min_varargs = 1 )
145- @typed_kwargs ('features.test' ,
145+ @typed_kwargs (
146+ 'features.test' ,
146147 KwargInfo ('compiler' , (NoneType , Compiler )),
147148 KwargInfo ('anyfet' , bool , default = False ),
148149 KwargInfo ('cached' , bool , default = True ),
@@ -255,7 +256,7 @@ def test_any(self, state: 'ModuleState', features: Set[FeatureObject],
255256 features_any = set ()
256257 for fet in all_features :
257258 _ , test_any_result = self .cached_test (
258- state , features = {fet ,},
259+ state , features = {fet , },
259260 compiler = compiler ,
260261 cached = cached ,
261262 anyfet = False ,
@@ -293,7 +294,7 @@ def test(self, state: 'ModuleState', features: Set[FeatureObject],
293294 # Set the highest interested feature
294295 prevalent_features = sorted (features )[- 1 :]
295296
296- prevalent_names = [fet .name for fet in prevalent_features ]
297+ prevalent_names = [fet .name for fet in prevalent_features ]
297298 # prepare the result dict
298299 test_result : 'TestResultKwArgs' = {
299300 'target_name' : '__' .join (prevalent_names ),
@@ -307,6 +308,7 @@ def test(self, state: 'ModuleState', features: Set[FeatureObject],
307308 'is_disabled' : False ,
308309 'fail_reason' : '' ,
309310 }
311+
310312 def fail_result (fail_reason : str , is_disabled : bool = False
311313 ) -> 'TestResultKwArgs' :
312314 test_result .update ({
@@ -337,7 +339,7 @@ def fail_result(fail_reason: str, is_disabled: bool = False
337339 predecessor_features = implied_features .difference (_caller )
338340 for fet in sorted (predecessor_features ):
339341 _ , pred_result = self .cached_test (
340- state , features = {fet ,},
342+ state , features = {fet , },
341343 compiler = compiler ,
342344 cached = cached ,
343345 anyfet = False ,
@@ -398,7 +400,7 @@ def fail_result(fail_reason: str, is_disabled: bool = False
398400 test_args = compiler .has_multi_arguments
399401 args = test_result ['args' ]
400402 if args :
401- supported_args , test_cached = test_args (args , state . environment )
403+ supported_args , test_cached = test_args (args )
402404 if not supported_args :
403405 return fail_result (
404406 f'Arguments "{ ", " .join (args )} " are not supported'
@@ -423,15 +425,13 @@ def fail_result(fail_reason: str, is_disabled: bool = False
423425 test_result [k ].append (extra_name ) # type: ignore
424426 return test_result
425427
426- @permittedKwargs (build .known_stlib_kwargs | {
427- 'dispatch' , 'baseline' , 'prefix' , 'cached' , 'keep_sort'
428- })
429428 @typed_pos_args ('features.multi_targets' , str , min_varargs = 1 , varargs = (
430429 str , File , build .CustomTarget , build .CustomTargetIndex ,
431430 build .GeneratedList , build .StructuredSources , build .ExtractedObjects ,
432431 build .BuildTarget
433432 ))
434- @typed_kwargs ('features.multi_targets' ,
433+ @typed_kwargs (
434+ 'features.multi_targets' ,
435435 KwargInfo (
436436 'dispatch' , (
437437 ContainerTypeInfo (list , (FeatureObject , list )),
@@ -451,8 +451,8 @@ def fail_result(fail_reason: str, is_disabled: bool = False
451451 allow_unknown = True
452452 )
453453 def multi_targets_method (self , state : 'ModuleState' ,
454- args : Tuple [str ], kwargs : 'TYPE_kwargs'
455- ) -> TargetsObject :
454+ args : Tuple [str ], kwargs : 'TYPE_kwargs'
455+ ) -> TargetsObject :
456456 config_name = args [0 ]
457457 sources = args [1 ] # type: ignore
458458 dispatch : List [Union [FeatureObject , List [FeatureObject ]]] = (
@@ -467,7 +467,7 @@ def multi_targets_method(self, state: 'ModuleState',
467467 if not compiler :
468468 compiler = get_compiler (state )
469469
470- baseline_features : Set [FeatureObject ] = set ()
470+ baseline_features : Set [FeatureObject ] = set ()
471471 has_baseline = baseline is not None
472472 if has_baseline :
473473 baseline_features = FeatureObject .get_implicit_combine_multi (baseline )
@@ -488,7 +488,7 @@ def multi_targets_method(self, state: 'ModuleState',
488488 ]] = []
489489 for d in dispatch :
490490 if isinstance (d , FeatureObject ):
491- target = {d ,}
491+ target = {d , }
492492 is_base_part = d in baseline_features
493493 else :
494494 target = set (d )
@@ -647,7 +647,7 @@ def gen_config(self, state: 'ModuleState', config_name: str,
647647 c_detect = '1'
648648 dispatch_calls .append (
649649 f'{ prefix } _MTARGETS_EXPAND('
650- f'EXEC_CB({ c_detect } , { test ["target_name" ]} , __VA_ARGS__)'
650+ f'EXEC_CB({ c_detect } , { test ["target_name" ]} , __VA_ARGS__)'
651651 ')'
652652 )
653653
@@ -683,7 +683,8 @@ def gen_config(self, state: 'ModuleState', config_name: str,
683683 return config_path
684684
685685 @typed_pos_args ('features.sort' , varargs = FeatureObject , min_varargs = 1 )
686- @typed_kwargs ('features.sort' ,
686+ @typed_kwargs (
687+ 'features.sort' ,
687688 KwargInfo ('reverse' , bool , default = False ),
688689 )
689690 def sort_method (self , state : 'ModuleState' ,
0 commit comments