public WebApiCommandSymbol(BaseWebApiPathSymbol parent, IEnumerable<Annotation> annotations, TypeReference result, Identifier name, Maybe<AtomSymbol> argument) : base(annotations, parent, result, name, argument) { }
public WebApiQuerySymbol(BaseWebApiPathSymbol parent, IEnumerable<Annotation> annotations, TypeReference result, Identifier name, Maybe<AtomSymbol> argument, Func<BaseWebApiQuerySymbol, IEnumerable<AtomSymbol>> filters) : base(annotations, parent, result, name, argument, filters) { }
protected BaseWebApiPathSymbol(IEnumerable<Annotation> annotations, ISemanticNode parent, TypeReference result, Identifier name, Maybe<AtomSymbol> argument, Func<BaseWebApiQuerySymbol, IEnumerable<AtomSymbol>> filters, Func<BaseWebApiPathSymbol, IEnumerable<IWebApiPathMember>> members) : base(annotations, parent, result, name, argument, filters) { Members = Guard.NotNull(members, "members")(this).ToArray(); }
protected virtual string GetPrivateTypeString(TypeReference reference, ISymbol relativeTo = null) { var type = reference.Type; var cardinality = reference.Cardinality; var builtInType = type as BuiltInType; if (builtInType != null && builtInType.Type == typeof(void)) return "void"; var fullName = GetRelativeName(type.FullName, relativeTo != null ? relativeTo.FullName : null); if (cardinality.CanBeMoreThanOne()) return string.Format("{0}[]", fullName); if (cardinality.IsZeroOrOne() && ((type is ExternalEnumSymbol) || (type is ExternalType && ((ExternalType)type).Type.IsValueType))) return string.Format("{0}?", fullName); return fullName; }