public override void VisitResourceDeclarationSyntax(ResourceDeclarationSyntax syntax) { var assignedType = typeManager.GetTypeInfo(syntax); var currentDiagnostics = TypeValidator.GetExpressionAssignmentDiagnostics(typeManager, syntax.Body, assignedType); diagnostics.AddRange(currentDiagnostics); }
public override void VisitParameterDeclarationSyntax(ParameterDeclarationSyntax syntax) { diagnostics.AddRange(this.ValidateIdentifierAccess(syntax)); var assignedType = typeManager.GetTypeInfo(syntax); switch (syntax.Modifier) { case ParameterDefaultValueSyntax defaultValueSyntax: diagnostics.AddRange(ValidateDefaultValue(defaultValueSyntax, assignedType)); break; case ObjectSyntax modifierSyntax: if (assignedType.TypeKind != TypeKind.Error && SyntaxHelper.TryGetPrimitiveType(syntax) is PrimitiveType primitiveType) { var modifierType = LanguageConstants.CreateParameterModifierType(primitiveType, assignedType); diagnostics.AddRange(TypeValidator.GetExpressionAssignmentDiagnostics(typeManager, modifierSyntax, modifierType)); } break; } }