internal static bool TryGetConstructor(this ObjectCreationExpressionSyntax objectCreation, QualifiedType qualifiedType, SemanticModel semanticModel, CancellationToken cancellationToken, out IMethodSymbol ctor) { if (objectCreation.Type is SimpleNameSyntax typeName && (typeName.Identifier.ValueText == qualifiedType.Type || AliasWalker.Contains(objectCreation.SyntaxTree, typeName.Identifier.ValueText))) { ctor = semanticModel.GetSymbolSafe(objectCreation, cancellationToken) as IMethodSymbol; return(ctor?.ContainingType == qualifiedType); } if (objectCreation.Type is QualifiedNameSyntax qualifiedName && qualifiedName.Right.Identifier.ValueText == qualifiedType.Type) { ctor = semanticModel.GetSymbolSafe(objectCreation, cancellationToken) as IMethodSymbol; return(ctor?.ContainingType == qualifiedType); } ctor = null; return(false); }
private static bool NameEquals(string left, QualifiedType right) { return(left == right.Type || (right.alias != null && left == right.alias)); }
internal static bool IsSameType(this ExpressionSyntax expression, QualifiedType metadataName, SemanticModel semanticModel, CancellationToken cancellationToken) { var type = semanticModel?.Compilation.GetTypeByMetadataName(metadataName.QualifiedName); return(expression.IsSameType(type, semanticModel, cancellationToken)); }
public QualifiedMethod(QualifiedType containingType, string name) : base(containingType, name) { }
internal static bool IsSameType(this ExpressionSyntax expression, QualifiedType metadataName, SyntaxNodeAnalysisContext context) { return(expression.IsSameType(metadataName, context.SemanticModel, context.CancellationToken)); }
public QualifiedProperty(QualifiedType containingType, string name) : base(containingType, name) { }
internal static bool TryGetAttribute(MethodDeclarationSyntax methodDeclaration, QualifiedType attributeType, SemanticModel semanticModel, CancellationToken cancellationToken, out AttributeSyntax result) { if (methodDeclaration != null) { return(TryGetAttribute( methodDeclaration.AttributeLists, attributeType, semanticModel, cancellationToken, out result)); } result = null; return(false); }
internal static bool TryGetAttribute(SyntaxList <AttributeListSyntax> attributeLists, QualifiedType attributeType, SemanticModel semanticModel, CancellationToken cancellationToken, out AttributeSyntax result) { result = null; foreach (var attributeList in attributeLists) { foreach (var attribute in attributeList.Attributes) { if (IsType(attribute, attributeType, semanticModel, cancellationToken)) { result = attribute; return(true); } } } return(false); }
public QualifiedMember(QualifiedType containingType, string name) { this.Name = name; this.ContainingType = containingType; }