void BeginNode(int i, PathNodeTypes type) { if (_nodeBegin) { EndNode(_nodeLastIndex); } _nodeBegin = true; _nodeIndex = i; _nodeLastIndex = -1; _type = type; }
PathNode CreateNode(string key, PathNodeTypes type) { if (type == PathNodeTypes.Property && key.EndsWith("()")) { type = PathNodeTypes.MethodInvoke; key = key.Substring(0, key.Length - 2); } return(new PathNode() { type = type, key = key, }); }