31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
using System;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp;
|
|
|
|
public sealed class CSharpScriptCompilationInfo : ScriptCompilationInfo
|
|
{
|
|
public CSharpCompilation? PreviousScriptCompilation { get; }
|
|
|
|
internal override Compilation? CommonPreviousScriptCompilation => (Compilation?)(object)PreviousScriptCompilation;
|
|
|
|
internal CSharpScriptCompilationInfo(CSharpCompilation? previousCompilationOpt, Type? returnType, Type? globalsType)
|
|
: base(returnType, globalsType)
|
|
{
|
|
PreviousScriptCompilation = previousCompilationOpt;
|
|
}
|
|
|
|
public CSharpScriptCompilationInfo WithPreviousScriptCompilation(CSharpCompilation? compilation)
|
|
{
|
|
if (compilation != PreviousScriptCompilation)
|
|
{
|
|
return new CSharpScriptCompilationInfo(compilation, ((ScriptCompilationInfo)this).ReturnTypeOpt, ((ScriptCompilationInfo)this).GlobalsType);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
internal override ScriptCompilationInfo CommonWithPreviousScriptCompilation(Compilation? compilation)
|
|
{
|
|
return (ScriptCompilationInfo)(object)WithPreviousScriptCompilation((CSharpCompilation)(object)compilation);
|
|
}
|
|
}
|