public virtual ProcedureCharacteristics LookupCharacteristicsByName(string procName) { EnsureTypeLibraries(PlatformIdentifier); return(CharacteristicsLibs.Select(cl => cl.Lookup(procName)) .Where(c => c != null) .FirstOrDefault()); }
public override ExternalProcedure LookupProcedureByName(string moduleName, string procName) { EnsureTypeLibraries("win64"); var ep = TypeLibs.Select(t => t.Lookup(procName)) .Where(sig => sig != null) .Select(s => new ExternalProcedure(procName, s)) .FirstOrDefault(); if (ep != null) { var ch = CharacteristicsLibs .Select(c => c.Lookup(ep.Name)) .FirstOrDefault(); ep.Characteristics = ch; } return(ep); }
public override ExternalProcedure LookupProcedureByName(string moduleName, string procName) { //$REVIEW: looks a lot like Win32library, perhaps push to parent class? EnsureTypeLibraries(PlatformIdentifier); var sig = Metadata.Lookup(procName); if (sig == null) { return(null); } var proc = new ExternalProcedure(procName, sig); var characteristics = CharacteristicsLibs.Select(cl => cl.Lookup(procName)) .Where(c => c != null) .FirstOrDefault(); if (characteristics != null) { proc.Characteristics = characteristics; } return(proc); }