コード例 #1
0
        private BoundNode BindTechniqueDeclaration(TechniqueSyntax declaration)
        {
            var techniqueSymbol = new TechniqueSymbol(declaration.Name.Text);
            AddSymbol(techniqueSymbol, declaration.Name.Span);

            var techniqueBinder = new Binder(_sharedBinderState, this);
            var boundPasses = declaration.Passes.Select(x => techniqueBinder.Bind(x, techniqueBinder.BindPass));
            return new BoundTechnique(techniqueSymbol, boundPasses.ToImmutableArray());
        }
コード例 #2
0
        public ImmutableArray <ISymbol> GetMembers() => ImmutableArray <ISymbol> .Empty; // TODO

        internal TechniqueSymbol(TechniqueSyntax syntax)
            : base(SymbolKind.Technique, syntax.Name?.Text, string.Empty, null)
        {
            SourceTree = syntax.SyntaxTree;
            Locations  = syntax.Name != null
                ? ImmutableArray.Create(syntax.Name.SourceRange)
                : ImmutableArray <SourceRange> .Empty;

            DeclaringSyntaxNodes = ImmutableArray.Create((SyntaxNodeBase)syntax);
        }
コード例 #3
0
 public override void VisitTechnique(TechniqueSyntax node)
 {
     CreateTag(
         BlockSpanType.Type,
         node.Name,
         node.CloseBraceToken,
         node.TechniqueKeyword,
         node.Name,
         false);
     base.VisitTechnique(node);
 }
コード例 #4
0
        private BoundNode BindTechniqueDeclaration(TechniqueSyntax declaration)
        {
            var techniqueSymbol = new TechniqueSymbol(declaration.Name.Text);

            AddSymbol(techniqueSymbol, declaration.Name.SourceRange);

            var techniqueBinder = new Binder(_sharedBinderState, this);
            var boundPasses     = declaration.Passes.Select(x => techniqueBinder.Bind(x, techniqueBinder.BindPass));

            return(new BoundTechnique(techniqueSymbol, boundPasses.ToImmutableArray()));
        }
コード例 #5
0
 public override void VisitTechnique(TechniqueSyntax node)
 {
     ProcessItem(node.Name, node.Name.Text, node.GetTextSpanSafe(), NavigateToItemKind.Structure, node.Parent, Glyph.Technique);
 }
コード例 #6
0
 public override void VisitTechnique(TechniqueSyntax node)
 {
     ProcessItem(node.Name, node.Name.Text, node.GetTextSpanSafe(), NavigateToItemKind.Structure, node.Parent, Glyph.Technique);
 }
コード例 #7
0
ファイル: OutliningVisitor.cs プロジェクト: tgjones/HlslTools
 public override void VisitTechnique(TechniqueSyntax node)
 {
     CreateTag(node.Name, node.CloseBraceToken);
 }
コード例 #8
0
 public override IEnumerable <EditorNavigationTarget> VisitTechnique(TechniqueSyntax node)
 {
     yield return(CreateTarget(node.Name, node.Name?.Text, node.GetTextSpanSafe(), Glyph.Technique));
 }
コード例 #9
0
ファイル: SemanticModel.cs プロジェクト: tgjones/HlslTools
 public TechniqueSymbol GetDeclaredSymbol(TechniqueSyntax syntax)
 {
     var result = _bindingResult.GetBoundNode(syntax) as BoundTechnique;
     return result?.TechniqueSymbol;
 }
コード例 #10
0
 public virtual void VisitTechnique(TechniqueSyntax node)
 {
     DefaultVisit(node);
 }
コード例 #11
0
 public virtual void VisitTechnique(TechniqueSyntax node)
 {
     DefaultVisit(node);
 }
コード例 #12
0
        public TechniqueSymbol GetDeclaredSymbol(TechniqueSyntax syntax)
        {
            var result = _bindingResult.GetBoundNode(syntax) as BoundTechnique;

            return(result?.TechniqueSymbol);
        }
コード例 #13
0
 public override void VisitTechnique(TechniqueSyntax node)
 {
     CreateTag(node.Name, node.CloseBraceToken);
 }