public bool FirstOccuranceOfAssembly(MessageContext ctxt, CST.AssemblyName name, Trace trace) { var prev = default(Trace); if (AssemblyToTrace.TryGetValue(name, out prev)) { Env.Log(new DuplicateTraceEntryMessage(ctxt, prev.Name, trace.Name)); return(false); } else { AssemblyToTrace.Add(name, trace); return(true); } }
// ---------------------------------------------------------------------- // Last compilation times // ---------------------------------------------------------------------- // TODO: Will return null if assembly def was compiled into a trace file... public static DateTime?LastCompilationTime(CompilerEnvironment env, CST.AssemblyName assemblyName, out string fn) { var assmName = CST.CSTWriter.WithAppend(env.Global, CST.WriterStyle.Uniform, assemblyName.Append); var finalName = default(string); switch (env.CompilationMode) { case CompilationMode.Plain: case CompilationMode.Collecting: finalName = Constants.AllFileName; break; case CompilationMode.Traced: finalName = Constants.AssemblyFileName; break; default: throw new ArgumentOutOfRangeException(); } fn = Path.Combine(Path.Combine(env.OutputDirectory, JST.Lexemes.StringToFileName(assmName)), finalName); return(File.Exists(fn) ? (DateTime?)File.GetLastWriteTimeUtc(fn) : null); }
public JST.Expression ResolveAssembly(CST.AssemblyName assemblyName) { return(Env.JSTHelpers.DefaultResolveAssembly(this, assemblyName)); }
public string ResolveAssemblyReferenceToSlot(CST.AssemblyDef assemblyDef, CST.AssemblyName assemblyName) { return(AssemblyMappingFor(assemblyDef).ResolveAssemblyReferenceToSlot(assemblyName)); }
public string ResolveAssemblyReferenceToSlot(CST.AssemblyName assemblyName) { return(referencedAssemblies.For(ctxt, assemblyName)); }
private static void FriendlyAssemblyName(StringBuilder sb, CST.AssemblyName name) { JST.Lexemes.AppendStringToFriendlyIdentifier(sb, name.Name, 15); }