public RootSingleDeclaration(
     ModelObjectDescriptor kind,
     SyntaxReference treeNode,
     ImmutableArray <SingleDeclaration> children,
     ImmutableArray <ReferenceDirective> referenceDirectives,
     ImmutableArray <Diagnostic> diagnostics)
     : base(string.Empty, kind, treeNode, new SourceLocation(treeNode), true, null, children, ImmutableArray <DeclarationTreeInfo.Property> .Empty, diagnostics)
 {
     _referenceDirectives = referenceDirectives;
 }
 public SingleDeclaration(
     string name,
     ModelObjectDescriptor kind,
     SyntaxReference syntaxReference,
     SourceLocation nameLocation,
     bool canMerge,
     string parentPropertyToAddTo,
     ImmutableArray <SingleDeclaration> children,
     ImmutableArray <DeclarationTreeInfo.Property> properties,
     ImmutableArray <Diagnostic> diagnostics)
     : base(name, canMerge, parentPropertyToAddTo)
 {
     this._kind            = kind;
     this._syntaxReference = syntaxReference;
     this._nameLocation    = nameLocation;
     this._children        = children;
     this._properties      = properties;
     this.Diagnostics      = diagnostics;
 }
示例#3
0
 public SymbolUseBinder(Binder next, LanguageSyntaxNode syntax, ImmutableArray <Type> types, ImmutableArray <Type> nestingTypes)
     : base(next)
 {
     _syntax       = syntax;
     _types        = types.Select(type => ModelObjectDescriptor.GetDescriptor(type)).ToImmutableArray();
     _nestingTypes = nestingTypes.Select(type => ModelObjectDescriptor.GetDescriptor(type)).ToImmutableArray();
     if (types.Length > 0)
     {
         _attributeTypeOnly = true;
         foreach (var type in types)
         {
             if (!typeof(MetaAttribute).IsAssignableFrom(type))
             {
                 _attributeTypeOnly = false;
                 break;
             }
         }
     }
 }
示例#4
0
 public virtual TypeKind ToTypeKind(ModelObjectDescriptor info)
 {
     return(TypeKind.Class);
 }