Ejemplo n.º 1
0
        public string GetFriendlyName(FriendlyNameTypes type = FriendlyNameTypes.Full)
        {
            // Apply index number if NOT default method (method have no arguments)
            var index = (IncludeIndex(type) && (this.OverloadIndex >= 1))
                ? string.Format("@{0}", this.OverloadIndex)
                : string.Empty;

            var arguments = (IncludeNames(type) || IncludeTypes(type))
                ? string.Format(
                "({0})",
                string.Join(
                    ", ",
                    this.Parameters.Select(parameter =>
                                           (IncludeNames(type) && IncludeTypes(type))
                                ? string.Format(
                                               "{0} {1}",
                                               parameter.TargetType.FriendlyName,
                                               parameter.ParameterName)
                                : IncludeTypes(type)
                                    ? parameter.TargetType.FriendlyName
                                    : parameter.ParameterName)))
                : string.Empty;

            var name = string.Format(
                "{0}{1}{2}",
                FullName(type) ? this.Member.GetFriendlyName() : this.Member.Name,
                index,
                arguments);

            return(Mangled(type) ? Utilities.GetMangledName(name) : name);
        }
Ejemplo n.º 2
0
 private static bool Mangled(FriendlyNameTypes type) =>
 (type & FriendlyNameTypes.Mangled) == FriendlyNameTypes.Mangled;
Ejemplo n.º 3
0
 private static bool IncludeTypes(FriendlyNameTypes type) =>
 (type & FriendlyNameTypes.ArgumentTypes) == FriendlyNameTypes.ArgumentTypes;
Ejemplo n.º 4
0
 private static bool IncludeIndex(FriendlyNameTypes type) =>
 (type & FriendlyNameTypes.Index) == FriendlyNameTypes.Index;
Ejemplo n.º 5
0
 private static bool FullName(FriendlyNameTypes type) =>
 (type & FriendlyNameTypes.FullName) == FriendlyNameTypes.FullName;