static public void Instruction(ResolutionStatus status, string scope, string format, params object[] args) { string indent = " "; format += " < " + scope; if (status == ResolutionStatus.Success) { if (!quiet) { WriteColor(indent + "\u2713 " + format, args, ConsoleColor.Green); } } else if (status == ResolutionStatus.Failure) { WriteColor(indent + "\u2717 " + format, args, ConsoleColor.Red); } else if (status == ResolutionStatus.PInvoke) { WriteColor(indent + "P " + format, args, ConsoleColor.DarkYellow); } else // skipped { if (!quiet) { WriteColor(indent + "\u271D " + format, args, ConsoleColor.Gray); } } }
internal ResolutionStatus Resolve(ResolutionResult resolutionResult, ConvertionManager convertionManager, ResolutionContext ctx) { if (_resolutionStatus.IsFailed()) { return(ResolutionStatus.Failed); } if (_resolutionStatus.IsSuccess()) { return(ResolutionStatus.Success); } _resolutionStatus = DoResolve(resolutionResult, convertionManager, ctx); return(_resolutionStatus); }
public ScannedType( int token, bool isLocal, string name, string theNamespace, IAssembly assembly = null, IType baseType = null, TypeAttributes attributes = default(TypeAttributes), List <IType> interfaces = null, ResolutionStatus resolutionStatus = default(ResolutionStatus)) { Token = token; this.isLocal = isLocal; this.definedNamespace = theNamespace; this.name = name; this.baseType = baseType; this.attributes = attributes; this.assembly = assembly; this.interfaces = interfaces; ResolutionStatus = resolutionStatus; }
internal ResolutionStatus GetStatus() { if (_typeResolution.Length > 0 || _membersResolution.Length > 0 || _mismatchedMembers.Length > 0) { _status = new ResolutionStatus { unresolvedTypesCount = _typeResolution.Length, resolvedTypesCount = _typeResolution.Count(t => t.resolvedTypeName != null), unresolvedMembersCount = _membersResolution.Select(mr => mr.unresolvedMembers.Count).Sum(), resolvedMembersCount = _membersResolution.Select(mr => mr.unresolvedMembers.Count(m => m.resolvedName != null)).Sum(), unresolvedMismatchesCount = _mismatchedMembers.Length, resolvableMismatchesCount = _mismatchedMembers.Count(mm => mm.isCorrectable), resolvedMismatchesCount = _mismatchedMembers.Count(mm => mm.resolvedTypeName != null || mm.resolvedValue != null) }; } else { _status = new ResolutionStatus(); } return(_status); }
internal static bool IsSuccess(this ResolutionStatus status) { return(status == ResolutionStatus.Success); }
internal static bool IsPending(this ResolutionStatus status) { return((status & ResolutionStatus.Pending) != 0); }
internal static bool IsFailed(this ResolutionStatus status) { return((status & ResolutionStatus.Failed) != 0); }
public static void Instruction(ResolutionStatus status, string scope, string format, params object[] args) { Console.Write(" "); format += " < " + scope; if (status == ResolutionStatus.Success) WriteColor("\u2713 " + format, args, ConsoleColor.Green); else if (status == ResolutionStatus.Failure) WriteColor("\u2717 " + format, args, ConsoleColor.Red); else if (status == ResolutionStatus.PInvoke) WriteColor("P " + format, args, ConsoleColor.DarkYellow); else WriteColor("\u271D " + format, args, ConsoleColor.Gray); }
internal ResolutionStatus Resolve(ResolutionResult resolutionResult, ConvertionManager convertionManager, ResolutionContext ctx) { if (_resolutionStatus != ResolutionStatus.Pending) { return(_resolutionStatus); } if (AddinActivator != null) { var resolutionStatus = AddinActivator.Resolve(resolutionResult, convertionManager, ctx); if (resolutionStatus == ResolutionStatus.Failed) { _resolutionStatus = ResolutionStatus.Failed; return(_resolutionStatus); } } if (ExtensionPoints != null) { foreach (var extensionPoint in ExtensionPoints) { var resolutionStatus = extensionPoint.Resolve(resolutionResult, convertionManager, ctx); if (resolutionStatus == ResolutionStatus.Success) { continue; } else if (resolutionStatus == ResolutionStatus.Failed) { _resolutionStatus = ResolutionStatus.Failed; return(_resolutionStatus); } else { return(ResolutionStatus.Pending); } } } var extensionBuilders = GetAllExtensionBuilders(); if (extensionBuilders != null) { foreach (var extensionBuilder in extensionBuilders) { var resolutionStatus = extensionBuilder.Resolve(resolutionResult, convertionManager, ctx); if (resolutionStatus == ResolutionStatus.Success) { continue; } else if (resolutionStatus == ResolutionStatus.Failed) { _resolutionStatus = ResolutionStatus.Failed; return(_resolutionStatus); } else { return(ResolutionStatus.Pending); } } } var extensions = GetAllExtensions(); if (extensions != null) { foreach (var extension in extensions) { var resolutionStatus = extension.Resolve(resolutionResult, convertionManager, ctx); if (resolutionStatus == ResolutionStatus.Success) { continue; } else if (resolutionStatus == ResolutionStatus.Failed) { _resolutionStatus = ResolutionStatus.Failed; return(_resolutionStatus); } else { return(ResolutionStatus.Pending); } } } if (_referencedAssemblySets != null) { foreach (var referencedAssemblySet in _referencedAssemblySets) { var resolutionStatus = referencedAssemblySet.Resolve(resolutionResult, convertionManager, ctx); if (resolutionStatus == ResolutionStatus.Success) { continue; } else if (resolutionStatus == ResolutionStatus.Failed) { _resolutionStatus = ResolutionStatus.Failed; return(_resolutionStatus); } else { return(ResolutionStatus.Pending); } } } _resolutionStatus = ResolutionStatus.Success; return(_resolutionStatus); }