// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using Microsoft.AspNet.FileProviders;
using Microsoft.AspNet.Razor.Generator.Compiler;
namespace Microsoft.AspNet.Mvc.Razor.Directives
{
///
/// A cache for parsed s.
///
public interface ICodeTreeCache
{
///
/// Get an existing , or create and add a new one if it is
/// not available in the cache or is expired.
///
/// The application relative path of the Razor page.
/// A delegate that creates a new .
/// The if a file exists at ,
/// null otherwise.
/// The resulting does not contain inherited chunks from _ViewStart or
/// default inherited chunks.
CodeTree GetOrAdd(string pagePath, Func getCodeTree);
}
}