| | |
| | |
|
| | | IntPtr qmlTextPtr = IntPtr.Zero;
|
| | | IntPtr qmlParserPtr = IntPtr.Zero;
|
| | |
|
| | | List<Token> tokens;
|
| | | readonly List<Token> tokens;
|
| | | public IEnumerable<Token> Tokens
|
| | | {
|
| | | get { return tokens; }
|
| | | }
|
| | |
|
| | | List<DiagnosticMessage> diagnosticMessages;
|
| | | readonly List<DiagnosticMessage> diagnosticMessages;
|
| | | public IEnumerable<DiagnosticMessage> DiagnosticMessages
|
| | | {
|
| | | get { return diagnosticMessages; }
|
| | | }
|
| | |
|
| | | public int FirstErrorOffset { get; private set; }
|
| | | private int FirstErrorOffset { get; set; }
|
| | |
|
| | | List<AstNode> visitedNodes;
|
| | | readonly List<AstNode> visitedNodes;
|
| | | public IEnumerable<AstNode> AstNodes { get { return visitedNodes; } }
|
| | |
|
| | | public bool ParsedCorrectly { get; private set; }
|
| | |
|
| | | Dictionary<IntPtr, AstNode> nodesBytPtr;
|
| | | Dictionary<IntPtr, List<KeyValuePair<AstNode, PropertyInfo>>> pendingDereferences;
|
| | | readonly Dictionary<IntPtr, AstNode> nodesBytPtr;
|
| | | readonly Dictionary<IntPtr, List<KeyValuePair<AstNode, PropertyInfo>>> pendingDereferences;
|
| | |
|
| | | Parser()
|
| | | {
|
| | |
| | | if (ptrRef == IntPtr.Zero)
|
| | | return;
|
| | |
|
| | | AstNode nodeRef;
|
| | | if (nodesBytPtr.TryGetValue(ptrRef, out nodeRef)) {
|
| | | if (nodesBytPtr.TryGetValue(ptrRef, out AstNode nodeRef)) {
|
| | | nodeProperty.SetValue(node, nodeRef);
|
| | | } else {
|
| | | List<KeyValuePair<AstNode, PropertyInfo>> pendingRefList;
|