<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.ReSharper.Plugins.Unity.Shaders</name>
    </assembly>
    <members>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Tree.Impl.ShaderLabCommandBase.GetEntityNameToken">
            <summary>There a confusion between GetName which is for command name and a name assigned to entity defined with command. I.e. for <c>Shader "Foo"</c> Shader is a name and Foo is an entity name.</summary>
        </member>
        <member name="P:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Tree.Impl.ShaderLabCommandBase.JetBrains#ReSharper#Plugins#Unity#Shaders#ShaderLab#Psi#Tree#IShaderLabCommand#CommandKeyword">
            <summary>Push <see cref="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Tree.IShaderLabCommand"/> interface down by hierarchy. Can't just make it abstract, because generator doesn't support overriding of existing methods.</summary>
        </member>
        <member name="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Parsing.ShaderLabPreProcessor">
            <summary>
            Parse the (filtered) pre-processor tokens
            </summary>
            <remarks>
            <para>
            Pre-processor tokens can occur anywhere, which makes it harder to parse the rest of the file. So, like
            whitespace and comments, pre-processor tokens are marked as filtered, and don't get seen by the parser.
            However, we need to combine some of the tokens, (such as PP_WARNING and PP_MESSAGE) into elements. This
            pre-processor will loop over the original (not filtered) lexer and create and store the elements. They
            don't get inserted into the tree at this point, but are used by the missing tokens inserter.
            </para>
            <para>
            Note that the C# parser/preprocessor is a little more complex. The pre-processor tokens aren't filtered,
            and can actually contain comments and whitespace. So the C# pre-processor will run on the filtering lexer,
            and create and collect pre-processor elements. The missing tokens inserter has to be run on the newly
            created pre-processor elements to reinsert any comments. The collection of pre-processor elements are
            then fed back into the filtering lexer, so now the parser uses a lexer that removes whitespace, newlines,
            comments and pre-processor tokens, and the final missing tokens inserter will reinsert the created
            pre-processor elements.
            </para>
            </remarks>
        </member>
        <member name="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Parsing.ShaderLabTokenType.CommandKeywordTokenNodeType">
            <summary>Sub-class of keyword token types for ShaderLab command keywords.</summary>
        </member>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Parsing.ShaderLabTokenType.CommandKeywordTokenNodeType.#ctor(System.String,System.Int32,System.String)">
            <summary>Sub-class of keyword token types for ShaderLab command keywords.</summary>
        </member>
        <member name="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Parsing.ShaderLabTokenType.BlockCommandKeywordTokenNodeType">
            <summary>Sub-class of keyword token types for ShaderLab block command keywords.</summary>
        </member>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Parsing.ShaderLabTokenType.BlockCommandKeywordTokenNodeType.#ctor(System.String,System.Int32,System.String)">
            <summary>Sub-class of keyword token types for ShaderLab block command keywords.</summary>
        </member>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.Resolve.ShaderSymbolTableProvider.GetSymbolTable">
            <summary>Returns table of all shaders declared with ShaderLab + built-in shaders.</summary>
        </member>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Psi.ShaderLabProjectFileLanguageService.GetPsiProperties(JetBrains.ProjectModel.IProjectFile,JetBrains.ReSharper.Psi.IPsiSourceFile,JetBrains.ReSharper.Psi.IsCompileService)">
            Alexander.Bondarev:
            todo: it only defines default properties for ShaderLab files, actual properties provided in <see cref="M:JetBrains.ReSharper.Plugins.Unity.Shaders.HlslSupport.Integration.Cpp.UnityShaderModuleHandlerAndDecorator.GetFileProperties(JetBrains.ReSharper.Psi.IPsiSourceFile)"/>.
            todo: it isn't clear without debugging if we can always provide properties in this method (with caching) or it is intended in <see cref="M:JetBrains.ReSharper.Plugins.Unity.Shaders.HlslSupport.Integration.Cpp.UnityShaderModuleHandlerAndDecorator.GetFileProperties(JetBrains.ReSharper.Psi.IPsiSourceFile)"/> to always recalculate properties
            todo: for hotfix 23.2 I decided not risk to change behavior and only provide a fallback for shader files outside of Shaders module (i.e. for Player project files).  
        </member>
        <member name="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Feature.Services.LiveTemplates.Scope.InShaderLabBlock">
            Directly inside of ShaderLab block. Can be used for creation of HLSL blocks, Blend commands, Properties, Shader passes etc. 
        </member>
        <member name="T:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Feature.Services.LiveTemplates.Scope.InShaderLabRoot">
            Root of ShaderLab file. Can be used for creation of whole Shader commands. 
        </member>
        <member name="M:JetBrains.ReSharper.Plugins.Unity.Shaders.ShaderLab.Feature.Services.TypingAssist.ShaderLabTypingAssist.GetFormatSettingsService(JetBrains.TextControl.ITextControl)">
            Expensive, avoid calling too many times.
        </member>
    </members>
</doc>
