public SourceFieldSymbol( SourceTypeSymbol type, string name, Location location, Accessibility accessibility, PHPDocBlock phpdoc, PhpPropertyKind kind, BoundExpression initializer = null, ImmutableArray <AttributeData> attributes = default) { Contract.ThrowIfNull(type); Contract.ThrowIfNull(name); _containingType = type; _fieldName = name; _fieldKind = kind; _accessibility = accessibility; _initializer = initializer; _location = location; _attributes = attributes.IsDefault ? ImmutableArray <AttributeData> .Empty : attributes; PHPDocBlock = phpdoc; // implicit attributes from PHPDoc var deprecated = phpdoc?.GetElement <PHPDocBlock.DeprecatedTag>(); if (deprecated != null) { // [ObsoleteAttribute(message, false)] _attributes = _attributes.Add(DeclaringCompilation.CreateObsoleteAttribute(deprecated)); } }
public SourceFieldSymbol(SourceTypeSymbol type, string name, Location location, Accessibility accessibility, PHPDocBlock phpdoc, PhpPropertyKind kind, BoundExpression initializer = null) { Contract.ThrowIfNull(type); Contract.ThrowIfNull(name); _containingType = type; _fieldName = name; _fieldKind = kind; _accessibility = accessibility; _phpDoc = phpdoc; _initializer = initializer; _location = location; }
public SourceFieldSymbol(SourceTypeSymbol type, string name, Location location, Accessibility accessibility, PHPDocBlock phpdoc, PhpPropertyKind kind, BoundExpression initializer = null, ImmutableArray <AttributeData> customAttributes = default) { Contract.ThrowIfNull(type); Contract.ThrowIfNull(name); _containingType = type; _fieldName = name; _fieldKind = kind; _accessibility = accessibility; _phpDoc = phpdoc; _initializer = initializer; _location = location; _customAttributes = customAttributes; }