PageRenderTime 58ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/QingTingFanBianYi/src/com/alibaba/fastjson/parser/deserializer/StackTraceElementDeserializer.java

https://gitlab.com/qt-prometheus/qt-prometheus
Java | 212 lines | 203 code | 5 blank | 4 comment | 61 complexity | 4f1e1be61c048d4457671c2f5e16dddc MD5 | raw file
  1. package com.alibaba.fastjson.parser.deserializer;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONException;
  4. import com.alibaba.fastjson.parser.DefaultJSONParser;
  5. import com.alibaba.fastjson.parser.Feature;
  6. import com.alibaba.fastjson.parser.JSONLexer;
  7. import com.alibaba.fastjson.parser.JSONToken;
  8. import java.lang.reflect.Type;
  9. public class StackTraceElementDeserializer
  10. implements ObjectDeserializer
  11. {
  12. public static final StackTraceElementDeserializer instance = new StackTraceElementDeserializer();
  13. public <T> T deserialze(DefaultJSONParser paramDefaultJSONParser, Type paramType, Object paramObject)
  14. {
  15. JSONLexer localJSONLexer = paramDefaultJSONParser.getLexer();
  16. if (localJSONLexer.token() == 8)
  17. {
  18. localJSONLexer.nextToken();
  19. return null;
  20. }
  21. if ((localJSONLexer.token() != 12) && (localJSONLexer.token() != 16))
  22. throw new JSONException("syntax error: " + JSONToken.name(localJSONLexer.token()));
  23. Type localType = null;
  24. Object localObject3 = null;
  25. Object localObject2 = null;
  26. int j = 0;
  27. Object localObject1;
  28. int i;
  29. label150:
  30. do
  31. {
  32. paramType = localJSONLexer.scanSymbol(paramDefaultJSONParser.getSymbolTable());
  33. if (paramType != null)
  34. break;
  35. if (localJSONLexer.token() == 13)
  36. {
  37. localJSONLexer.nextToken(16);
  38. localObject1 = localObject3;
  39. i = j;
  40. paramObject = localObject2;
  41. paramType = localType;
  42. return new StackTraceElement(paramType, (String)localObject1, paramObject, i);
  43. }
  44. }
  45. while ((localJSONLexer.token() == 16) && (localJSONLexer.isEnabled(Feature.AllowArbitraryCommas)));
  46. localJSONLexer.nextTokenWithColon(4);
  47. if (paramType == "className")
  48. if (localJSONLexer.token() == 8)
  49. {
  50. paramType = null;
  51. localObject1 = localObject3;
  52. i = j;
  53. paramObject = localObject2;
  54. }
  55. label660: label670: label749:
  56. do
  57. {
  58. String str;
  59. do
  60. {
  61. while (true)
  62. {
  63. localType = paramType;
  64. localObject2 = paramObject;
  65. j = i;
  66. localObject3 = localObject1;
  67. if (localJSONLexer.token() != 13)
  68. break;
  69. localJSONLexer.nextToken(16);
  70. break label150;
  71. if (localJSONLexer.token() == 4)
  72. {
  73. paramType = localJSONLexer.stringVal();
  74. paramObject = localObject2;
  75. i = j;
  76. localObject1 = localObject3;
  77. }
  78. else
  79. {
  80. throw new JSONException("syntax error");
  81. if (paramType == "methodName")
  82. {
  83. if (localJSONLexer.token() == 8)
  84. {
  85. localObject1 = null;
  86. paramType = localType;
  87. paramObject = localObject2;
  88. i = j;
  89. }
  90. else if (localJSONLexer.token() == 4)
  91. {
  92. localObject1 = localJSONLexer.stringVal();
  93. paramType = localType;
  94. paramObject = localObject2;
  95. i = j;
  96. }
  97. else
  98. {
  99. throw new JSONException("syntax error");
  100. }
  101. }
  102. else if (paramType == "fileName")
  103. {
  104. if (localJSONLexer.token() == 8)
  105. {
  106. paramObject = null;
  107. paramType = localType;
  108. i = j;
  109. localObject1 = localObject3;
  110. }
  111. else if (localJSONLexer.token() == 4)
  112. {
  113. paramObject = localJSONLexer.stringVal();
  114. paramType = localType;
  115. i = j;
  116. localObject1 = localObject3;
  117. }
  118. else
  119. {
  120. throw new JSONException("syntax error");
  121. }
  122. }
  123. else if (paramType == "lineNumber")
  124. {
  125. if (localJSONLexer.token() == 8)
  126. {
  127. i = 0;
  128. paramType = localType;
  129. paramObject = localObject2;
  130. localObject1 = localObject3;
  131. }
  132. else if (localJSONLexer.token() == 2)
  133. {
  134. i = localJSONLexer.intValue();
  135. paramType = localType;
  136. paramObject = localObject2;
  137. localObject1 = localObject3;
  138. }
  139. else
  140. {
  141. throw new JSONException("syntax error");
  142. }
  143. }
  144. else
  145. {
  146. if (paramType != "nativeMethod")
  147. break label670;
  148. if (localJSONLexer.token() == 8)
  149. {
  150. localJSONLexer.nextToken(16);
  151. paramType = localType;
  152. paramObject = localObject2;
  153. i = j;
  154. localObject1 = localObject3;
  155. }
  156. else if (localJSONLexer.token() == 6)
  157. {
  158. localJSONLexer.nextToken(16);
  159. paramType = localType;
  160. paramObject = localObject2;
  161. i = j;
  162. localObject1 = localObject3;
  163. }
  164. else
  165. {
  166. if (localJSONLexer.token() != 7)
  167. break label660;
  168. localJSONLexer.nextToken(16);
  169. paramType = localType;
  170. paramObject = localObject2;
  171. i = j;
  172. localObject1 = localObject3;
  173. }
  174. }
  175. }
  176. }
  177. throw new JSONException("syntax error");
  178. if (paramType != JSON.DEFAULT_TYPE_KEY)
  179. break label785;
  180. if (localJSONLexer.token() != 4)
  181. break label749;
  182. str = localJSONLexer.stringVal();
  183. paramType = localType;
  184. paramObject = localObject2;
  185. i = j;
  186. localObject1 = localObject3;
  187. }
  188. while (str.equals("java.lang.StackTraceElement"));
  189. throw new JSONException("syntax error : " + str);
  190. paramType = localType;
  191. paramObject = localObject2;
  192. i = j;
  193. localObject1 = localObject3;
  194. }
  195. while (localJSONLexer.token() == 8);
  196. throw new JSONException("syntax error");
  197. label785: throw new JSONException("syntax error : " + paramType);
  198. }
  199. public int getFastMatchToken()
  200. {
  201. return 12;
  202. }
  203. }
  204. /* Location: C:\Users\User\dex2jar-2.0\dex\qting\classes-dex2jar.jar
  205. * Qualified Name: com.alibaba.fastjson.parser.deserializer.StackTraceElementDeserializer
  206. * JD-Core Version: 0.6.2
  207. */