C# 클래스 System.Xml.Xsl.Qil.QilValidationVisitor

A internal class that validates QilExpression graphs.
QilValidationVisitor traverses the QilExpression graph once to enforce the following constraints: No circular references No duplicate nodes (except for references) No out-of-scope references Type constraints on operands Type constraints on operators No null objects (except where allowed) No Unknown node types

When an error occurs, it marks the offending node with an annotation and continues checking, allowing the detection of multiple errors at once and printing the structure after validation. (In the case of circular references, it breaks the loop at the circular reference to allow the graph to print correctly.)

상속: QilScopedVisitor
파일 보기 프로젝트 열기: gbarnett/shared-source-cli-2.0 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
allNodes System.Collections.Hashtable
parents System.Collections.Hashtable
scope System.Collections.Hashtable

보호된 메소드들

메소드 설명
BeginScope ( QilNode node ) : void

Add an iterator or function to scope if it hasn't been added already.

EndScope ( QilNode node ) : void

Pop scope.

QilValidationVisitor ( ) : System.Collections
VisitChildren ( QilNode parent ) : QilNode
VisitReference ( QilNode node ) : QilNode

Ensure that the function or iterator reference is already in scope.

비공개 메소드들

메소드 설명
AddNode ( QilNode n ) : bool
SetError ( QilNode n, string message ) : void
Validate ( QilNode node ) : void

메소드 상세

BeginScope() 보호된 메소드

Add an iterator or function to scope if it hasn't been added already.
protected BeginScope ( QilNode node ) : void
node QilNode
리턴 void

EndScope() 보호된 메소드

Pop scope.
protected EndScope ( QilNode node ) : void
node QilNode
리턴 void

QilValidationVisitor() 보호된 메소드

protected QilValidationVisitor ( ) : System.Collections
리턴 System.Collections

VisitChildren() 보호된 메소드

protected VisitChildren ( QilNode parent ) : QilNode
parent QilNode
리턴 QilNode

VisitReference() 보호된 메소드

Ensure that the function or iterator reference is already in scope.
protected VisitReference ( QilNode node ) : QilNode
node QilNode
리턴 QilNode

프로퍼티 상세

allNodes 보호되어 있는 프로퍼티

protected Hashtable,System.Collections allNodes
리턴 System.Collections.Hashtable

parents 보호되어 있는 프로퍼티

protected Hashtable,System.Collections parents
리턴 System.Collections.Hashtable

scope 보호되어 있는 프로퍼티

protected Hashtable,System.Collections scope
리턴 System.Collections.Hashtable