| @@ -19,7 +19,7 | |||||
| 19 | }, | 
             | 
        19 | }, | |
| 20 | reason => { | 
             | 
        20 | reason => { | |
| 21 | TraceContext.Instance.EnterLogicalOperation(op,true); | 
             | 
        21 | TraceContext.Instance.EnterLogicalOperation(op,true); | |
| 22 | TraceLog.TraceInformation("promise cancelled {0}", reason.Message); | 
             | 
        22 | TraceLog.TraceInformation("promise cancelled {0}", reason == null ? "<no-reason>" : reason.Message); | |
| 23 | TraceLog.EndLogicalOperation(); | 
             | 
        23 | TraceLog.EndLogicalOperation(); | |
| 24 | TraceContext.Instance.Leave(); | 
             | 
        24 | TraceContext.Instance.Leave(); | |
| 25 | } | 
             | 
        25 | } | |
| @@ -46,10 +46,11 namespace Implab.JSON { | |||||
| 46 | static readonly DFAStateDescriptior[] _arrayDFA; | 
             | 
        46 | static readonly DFAStateDescriptior[] _arrayDFA; | |
| 47 | 
             | 
        47 | |||
| 48 | static JSONParser() { | 
             | 
        48 | static JSONParser() { | |
| 49 | var jsonExpression = Token.New(JsonTokenType.BeginObject, JsonTokenType.BeginArray).Tag(0); | 
             | 
        49 | ||
| 50 | 
             | 
        50 | |||
| 51 | var valueExpression = Token.New(JsonTokenType.BeginArray, JsonTokenType.BeginObject, JsonTokenType.Literal, JsonTokenType.Number, JsonTokenType.String); | 
             | 
        51 | var valueExpression = Token.New(JsonTokenType.BeginArray, JsonTokenType.BeginObject, JsonTokenType.Literal, JsonTokenType.Number, JsonTokenType.String); | |
| 52 | var memberExpression = Token.New(JsonTokenType.String).Cat(Token.New(JsonTokenType.NameSeparator)).Cat(valueExpression); | 
             | 
        52 | var memberExpression = Token.New(JsonTokenType.String).Cat(Token.New(JsonTokenType.NameSeparator)).Cat(valueExpression); | |
| 
             | 
        53 | ||||
| 53 | var objectExpression = memberExpression | 
             | 
        54 | var objectExpression = memberExpression | |
| 54 | .Cat( | 
             | 
        55 | .Cat( | |
| 55 | Token.New(JsonTokenType.ValueSeparator) | 
             | 
        56 | Token.New(JsonTokenType.ValueSeparator) | |
| @@ -69,6 +70,8 namespace Implab.JSON { | |||||
| 69 | .Cat(Token.New(JsonTokenType.EndArray)) | 
             | 
        70 | .Cat(Token.New(JsonTokenType.EndArray)) | |
| 70 | .Tag(0); | 
             | 
        71 | .Tag(0); | |
| 71 | 
             | 
        72 | |||
| 
             | 
        73 | var jsonExpression = valueExpression.Tag(0); | |||
| 
             | 
        74 | ||||
| 72 | _jsonDFA = BuildDFA(jsonExpression).States; | 
             | 
        75 | _jsonDFA = BuildDFA(jsonExpression).States; | |
| 73 | _objectDFA = BuildDFA(objectExpression).States; | 
             | 
        76 | _objectDFA = BuildDFA(objectExpression).States; | |
| 74 | _arrayDFA = BuildDFA(arrayExpression).States; | 
             | 
        77 | _arrayDFA = BuildDFA(arrayExpression).States; | |
        
        General Comments 0
    
    
  
  
                      You need to be logged in to leave comments.
                      Login now
                    
                