public static bool Matches(this InstanceStaticCombination combination, PropertyDeclarationSyntax property) { return(combination.Match( instanceAndStaticCase: _ => true, instanceCase: _ => !property.IsStatic(), staticCase: _ => property.IsStatic())); }
public static bool Matches(this InstanceStaticCombination combination, FieldDeclarationSyntax field) { return(combination.Match( instanceAndStaticCase: _ => true, instanceCase: _ => !field.IsStatic(), staticCase: _ => field.IsStatic())); }
public static bool AnyImpurePropertyInitializer(TypeDeclarationSyntax typeDeclaration, SemanticModel semanticModel, KnownSymbols knownSymbols, RecursiveState recursiveState, InstanceStaticCombination instanceStaticCombination) { var props = typeDeclaration .Members .OfType <PropertyDeclarationSyntax>() .Where(instanceStaticCombination.Matches) .ToArray(); foreach (var var in props.Select(x => x.Initializer).Where(i => i != null)) { if (Utils.GetImpurities(var, semanticModel, knownSymbols, recursiveState).Any()) { return(true); } } return(false); }
public static bool AnyImpureFieldInitializer( TypeDeclarationSyntax typeDeclaration, SemanticModel semanticModel, KnownSymbols knownSymbols, RecursiveState recursiveState, InstanceStaticCombination instanceStaticCombination) { var fields = typeDeclaration.Members .OfType <FieldDeclarationSyntax>() .Where(instanceStaticCombination.Matches) .ToArray(); foreach (var var in fields.SelectMany(x => x.Declaration.Variables)) { if (Utils.GetImpurities(var, semanticModel, knownSymbols, recursiveState).Any()) { return(true); } } return(false); }