private void PrepareUsings(UsingCache cache, Constraint constraint) { if (constraint is TypeNameConstraint typeName) { PrepareUsings(cache, typeName.Value); } }
private void PrepareUsings(UsingCache cache, ParameterNode node) { if (node == null) { return; } PrepareUsings(cache, node.Type); }
private void PrepareUsings(UsingCache cache, TypeConstraintNode node) { if (node == null) { return; } node.Constraints?.ForEach(c => PrepareUsings(cache, c)); }
private void PrepareUsings(UsingCache cache, MemberNode node) { if (node == null) { return; } PrepareUsings(cache, node.ReturnType); if (node is MethodNode methodNode) { methodNode.TypeConstraints?.ForEach(t => PrepareUsings(cache, t)); methodNode.Parameters?.ForEach(p => PrepareUsings(cache, p)); } }
private void PrepareUsings(UsingCache cache, TypeNode node) { if (node is TypeGenericNode g) { g.TypeConstraints?.ForEach(c => PrepareUsings(cache, c)); } switch (node) { case InterfaceNode i: i.Members?.ForEach(m => PrepareUsings(cache, m)); break; case TypeStructClassNode sc: sc.Members?.ForEach(m => PrepareUsings(cache, m)); break; } }
private void PrepareUsings(UsingCache cache, UsingNode node) { if (node == null) { return; } if (cache.IsUsingNamespace(node)) { return; } if (string.IsNullOrWhiteSpace(node.Namespace)) { return; } cache.Map[node.Namespace] = node; }
protected virtual void VisitUsings(UsingCache cache) { if (cache == null) { return; } cache.Namespaces.AddRange(cache.Map.Keys); cache.Namespaces.Sort(); for (var i = 0; i < cache.Namespaces.Count; i++) { if (cache.Map.TryGetValue(cache.Namespaces[i], out var node)) { cache.Usings.Add(node); } } cache.Usings.ForEach(u => VisitUsingNode(u)); }
private void PrepareUsings(UsingCache cache, SimpleType type) { if (type == null || type.IsExplicit) { return; } if (cache.IsUsingNamespace(type)) { return; } if (string.IsNullOrWhiteSpace(type.Namespace)) { return; } cache.Map[type.Namespace] = new UsingNode { Namespace = type.Namespace }; }