Example #1
0
        protected override void OnCompleteType(
            ITypeCompletionContext context,
            SchemaTypeDefinition definition)
        {
            base.OnCompleteType(context, definition);

            Directives =
                DirectiveCollection.CreateAndComplete(context, this, definition.GetDirectives());
            Services = context.Services;
        }
Example #2
0
 /// <summary>
 /// Process schema operations
 /// </summary>
 /// <param name="node"></param>
 /// <param name="elementDef"></param>
 private void processOperation(TreeNode node, SchemaTypeDefinition elementDef)
 {
     foreach (SchemaElementDefinition def in elementDef.ElementDefinitions)
     {
         // add node
         TreeNode nextChild = node.Nodes.Add(def.Name.ToString(), def.Name.ToString() + " (" +
                                             def.TypeDefinition.Datatype.ToString() + ")");
         // store node element definition
         nextChild.Tag = def;
         // check if definition had child definitions
         if (def.TypeDefinition.NumElementDefinitions > 0)
         {
             // process child definition
             processOperation(nextChild, def.TypeDefinition);
         }
     }
 }
Example #3
0
        protected override void OnRegisterDependencies(
            ITypeDiscoveryContext context,
            SchemaTypeDefinition definition)
        {
            base.OnRegisterDependencies(context, definition);

            if (definition.HasDirectives)
            {
                foreach (DirectiveDefinition directive in definition.Directives)
                {
                    context.Dependencies.Add(new(
                                                 directive.TypeReference,
                                                 TypeDependencyKind.Completed));
                }
            }

            context.RegisterDependencyRange(
                definition.GetDirectives().Select(t => t.Reference));
        }