rho-tau-extensions 6.0.0 → 7.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (296) hide show
  1. checksums.yaml +4 -4
  2. data/libs/android_net_native_prebuilt/ext/build +22 -0
  3. data/libs/android_net_native_prebuilt/ext/build.bat +44 -0
  4. data/libs/android_net_native_prebuilt/ext/platform/android/android_net_native.jar +0 -0
  5. data/libs/android_net_native_prebuilt/ext/platform/android/lib/aarch64/libandroid_net_native.a +0 -0
  6. data/libs/android_net_native_prebuilt/ext/platform/android/lib/armeabi/libandroid_net_native.a +0 -0
  7. data/libs/android_net_native_prebuilt/ext/platform/android/lib/x86/libandroid_net_native.a +0 -0
  8. data/libs/android_net_native_prebuilt/ext.yml +8 -0
  9. data/libs/crosswalk/ext/platform/android/Rakefile +19 -1
  10. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkcore.so +0 -0
  11. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkdummy.so +0 -0
  12. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/native_lib_placeholder.stamp +0 -0
  13. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkcore.so +0 -0
  14. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkdummy.so +0 -0
  15. data/libs/crosswalk/ext/platform/android/adds/lib/x86/native_lib_placeholder.stamp +0 -0
  16. data/libs/crosswalk/ext/platform/android/adds/lib/xwalk_core_library_java.jar +0 -0
  17. data/libs/crosswalk/ext/platform/android/adds/res/layout/dropdown_item.xml +1 -1
  18. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/dropdown_item.xml +2 -2
  19. data/libs/crosswalk/ext/platform/android/adds/res/menu/select_action_menu.xml +8 -8
  20. data/libs/crosswalk/ext/platform/android/adds/res/raw/icudtl.dat +0 -0
  21. data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk.pak +0 -0
  22. data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk_100_percent.pak +0 -0
  23. data/libs/crosswalk/ext/platform/android/adds/res/values/android_ui_strings.xml +1 -0
  24. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_attrs.xml → attrs.xml} +0 -0
  25. data/libs/crosswalk/ext/platform/android/adds/res/values/attrs_03.xml +18 -0
  26. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_colors.xml → colors_xwalk.xml} +0 -0
  27. data/libs/crosswalk/ext/platform/android/adds/res/values/{ui_java_dimens.xml → dimens_03.xml} +1 -3
  28. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_dimens.xml → dimens_xwalk.xml} +0 -0
  29. data/libs/crosswalk/ext/platform/android/adds/res/values/ids_xwalk.xml +12 -0
  30. data/libs/crosswalk/ext/platform/android/adds/res/values/strings_00.xml +16 -0
  31. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_core_internal_java_strings.xml → strings_01.xml} +0 -0
  32. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_core_java_strings.xml → strings_02.xml} +0 -0
  33. data/libs/crosswalk/ext/platform/android/adds/res/values/{ui_java_strings.xml → strings_03.xml} +0 -0
  34. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_styles.xml → styles_00.xml} +0 -0
  35. data/libs/crosswalk/ext/platform/android/adds/res/values/{ui_java_styles.xml → styles_03.xml} +0 -0
  36. data/libs/crosswalk/ext/platform/android/adds/res/values/{xwalk_values.xml → values_00.xml} +0 -0
  37. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_app_strings.xml +7 -10
  38. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_resources_list.xml +2 -1
  39. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_ui_strings.xml +1 -0
  40. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_ui_strings.xml +1 -0
  41. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_ui_strings.xml +1 -0
  42. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_ui_strings.xml +1 -0
  43. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_ui_strings.xml +1 -0
  44. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_ui_strings.xml +4 -3
  45. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_ui_strings.xml +1 -0
  46. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_ui_strings.xml +1 -0
  47. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_ui_strings.xml +1 -0
  48. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_ui_strings.xml +1 -0
  49. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_ui_strings.xml +1 -0
  50. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_ui_strings.xml +2 -1
  51. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_ui_strings.xml +1 -0
  52. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_ui_strings.xml +1 -0
  53. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_ui_strings.xml +2 -1
  54. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_ui_strings.xml +1 -0
  55. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_ui_strings.xml +1 -0
  56. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_ui_strings.xml +1 -0
  57. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_ui_strings.xml +1 -0
  58. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_ui_strings.xml +1 -0
  59. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_ui_strings.xml +1 -0
  60. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_ui_strings.xml +1 -0
  61. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_ui_strings.xml +1 -0
  62. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_ui_strings.xml +1 -0
  63. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_ui_strings.xml +1 -0
  64. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_ui_strings.xml +1 -0
  65. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_ui_strings.xml +1 -0
  66. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_ui_strings.xml +1 -0
  67. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_ui_strings.xml +1 -0
  68. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_ui_strings.xml +1 -0
  69. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_ui_strings.xml +1 -0
  70. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_ui_strings.xml +1 -0
  71. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_ui_strings.xml +1 -0
  72. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_ui_strings.xml +1 -0
  73. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_ui_strings.xml +1 -0
  74. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_ui_strings.xml +2 -1
  75. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_ui_strings.xml +1 -0
  76. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_ui_strings.xml +1 -0
  77. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_ui_strings.xml +1 -0
  78. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_ui_strings.xml +1 -0
  79. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/{ui_java_styles.xml → styles_03.xml} +0 -0
  80. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/{ui_java_styles.xml → styles_03.xml} +0 -0
  81. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_ui_strings.xml +1 -0
  82. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_ui_strings.xml +1 -0
  83. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_ui_strings.xml +1 -0
  84. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWalkWebView.java +18 -1
  85. data/libs/enterprise-barcode/ext/platform/android/adds/lib/aarch64/liballbarcode.a +0 -0
  86. data/libs/enterprise-barcode/ext/platform/android/adds/lib/armeabi/liballbarcode.a +0 -0
  87. data/libs/enterprise-barcode/ext/platform/android/adds/lib/x86/liballbarcode.a +0 -0
  88. data/libs/enterprise-barcode/ext/platform/android/allbarcode.jar +0 -0
  89. data/libs/enterprise-barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +8 -4
  90. data/libs/enterprise-barcode/ext/platform/iphone/Rakefile +9 -58
  91. data/libs/fcm-push-18/ext/android/AndroidManifest.rb +10 -0
  92. data/libs/fcm-push-18/ext/android/ApplicationManifestAdds.erb +39 -0
  93. data/libs/fcm-push-18/ext/android/Rakefile +187 -0
  94. data/libs/fcm-push-18/ext/android/ext_java.files +3 -0
  95. data/libs/fcm-push-18/ext/android/ext_native.files +1 -0
  96. data/libs/fcm-push-18/ext/android/jni/src/fcmpushclient.cpp +215 -0
  97. data/libs/fcm-push-18/ext/android/jni/src/fcmpushclient.h +74 -0
  98. data/libs/fcm-push-18/ext/android/res/res/values/fireBaseValues.xml +5 -0
  99. data/libs/fcm-push-18/ext/android/src/com/rhomobile/rhodes/fcm/FCMFacade.java +164 -0
  100. data/libs/fcm-push-18/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +219 -0
  101. data/libs/fcm-push-18/ext/android/src/com/rhomobile/rhodes/fcm/FCMListener.java +88 -0
  102. data/libs/fcm-push-18/ext/build +16 -0
  103. data/libs/fcm-push-18/ext/build.bat +8 -0
  104. data/libs/fcm-push-18/ext/fcm.xml +9 -0
  105. data/libs/fcm-push-18/ext/iphone/ApplePush_Prefix.pch +7 -0
  106. data/libs/fcm-push-18/ext/iphone/Firebase.h +68 -0
  107. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  108. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
  109. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +115 -0
  110. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h +1 -0
  111. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRAnalyticsSwiftNameSupport.h +13 -0
  112. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRApp.h +1 -0
  113. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRConfiguration.h +1 -0
  114. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIREventNames.h +389 -0
  115. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIROptions.h +1 -0
  116. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +485 -0
  117. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +15 -0
  118. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +10 -0
  119. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseAnalytics.framework/Modules/module.modulemap +10 -0
  120. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/FirebaseCore +0 -0
  121. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h +52 -0
  122. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FIRApp.h +130 -0
  123. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FIRConfiguration.h +78 -0
  124. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FIRLoggerLevel.h +35 -0
  125. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FIROptions.h +133 -0
  126. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Headers/FirebaseCore.h +5 -0
  127. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCore.framework/Modules/module.modulemap +7 -0
  128. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCoreDiagnostics.framework/FirebaseCoreDiagnostics +0 -0
  129. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseCoreDiagnostics.framework/Modules/module.modulemap +6 -0
  130. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseInstanceID.framework/FirebaseInstanceID +0 -0
  131. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseInstanceID.framework/Headers/FIRInstanceID.h +276 -0
  132. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h +1 -0
  133. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseInstanceID.framework/Modules/module.modulemap +7 -0
  134. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseMessaging.framework/FirebaseMessaging +0 -0
  135. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseMessaging.framework/Headers/FIRMessaging.h +508 -0
  136. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseMessaging.framework/Headers/FirebaseMessaging.h +1 -0
  137. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseMessaging.framework/Modules/module.modulemap +8 -0
  138. data/libs/fcm-push-18/ext/iphone/Frameworks/FirebaseNanoPB.framework/FirebaseNanoPB +0 -0
  139. data/libs/fcm-push-18/ext/iphone/Frameworks/GoogleToolboxForMac.framework/GoogleToolboxForMac +0 -0
  140. data/libs/fcm-push-18/ext/iphone/Frameworks/GoogleToolboxForMac.framework/Modules/module.modulemap +5 -0
  141. data/libs/fcm-push-18/ext/iphone/Frameworks/Protobuf.framework/Modules/module.modulemap +5 -0
  142. data/libs/fcm-push-18/ext/iphone/Frameworks/Protobuf.framework/Protobuf +0 -0
  143. data/libs/fcm-push-18/ext/iphone/Frameworks/nanopb.framework/Modules/module.modulemap +5 -0
  144. data/libs/fcm-push-18/ext/iphone/Frameworks/nanopb.framework/nanopb +0 -0
  145. data/libs/fcm-push-18/ext/iphone/Rakefile +30 -0
  146. data/libs/fcm-push-18/ext/iphone/fcm-push.xcodeproj/project.pbxproj +370 -0
  147. data/libs/fcm-push-18/ext/iphone/impl/PushNotificationsReceiver.h +28 -0
  148. data/libs/fcm-push-18/ext/iphone/impl/PushNotificationsReceiver.m +27 -0
  149. data/libs/fcm-push-18/ext/iphone/impl/PushNotificationsReceiver.mm +234 -0
  150. data/libs/fcm-push-18/ext/iphone/impl/applePushSetup.c +10 -0
  151. data/libs/fcm-push-18/ext/iphone/impl/applepushclient.h +69 -0
  152. data/libs/fcm-push-18/ext/iphone/impl/applepushclient.mm +164 -0
  153. data/libs/fcm-push-18/ext/iphone/impl/readme.txt +7 -0
  154. data/libs/fcm-push-18/ext/platform/iphone/impl/readme.txt +7 -0
  155. data/libs/fcm-push-18/ext.yml +20 -0
  156. data/libs/nodejs/ext/platform/android/jxCore/jx.h +17 -1
  157. data/libs/nodejs/ext/platform/android/jxCore/libcares_arm.a +0 -0
  158. data/libs/nodejs/ext/platform/android/jxCore/libcares_ia32.a +0 -0
  159. data/libs/nodejs/ext/platform/android/jxCore/libcares_x64.a +0 -0
  160. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_arm.a +0 -0
  161. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_ia32.a +0 -0
  162. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_x64.a +0 -0
  163. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_arm.a +0 -0
  164. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_ia32.a +0 -0
  165. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_x64.a +0 -0
  166. data/libs/nodejs/ext/platform/android/jxCore/libjx_arm.a +0 -0
  167. data/libs/nodejs/ext/platform/android/jxCore/libjx_ia32.a +0 -0
  168. data/libs/nodejs/ext/platform/android/jxCore/libjx_x64.a +0 -0
  169. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_arm.a +0 -0
  170. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_ia32.a +0 -0
  171. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_x64.a +0 -0
  172. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_arm.a +0 -0
  173. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_ia32.a +0 -0
  174. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_x64.a +0 -0
  175. data/libs/nodejs/ext/platform/android/jxCore/libuv_arm.a +0 -0
  176. data/libs/nodejs/ext/platform/android/jxCore/libuv_ia32.a +0 -0
  177. data/libs/nodejs/ext/platform/android/jxCore/libuv_x64.a +0 -0
  178. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_arm.a +0 -0
  179. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_ia32.a +0 -0
  180. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_x64.a +0 -0
  181. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_arm.a +0 -0
  182. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_ia32.a +0 -0
  183. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_x64.a +0 -0
  184. data/libs/nodejs/ext/platform/iphone/Nodejs.xcodeproj/project.pbxproj +8 -4
  185. data/libs/nodejs/ext/platform/iphone/Rakefile +9 -62
  186. data/libs/nodejs/ext/platform/iphone/jxCore/jx.h +17 -1
  187. data/libs/nodejs/ext/platform/iphone/jxCore/libcares.a +0 -0
  188. data/libs/nodejs/ext/platform/iphone/jxCore/libchrome_zlib.a +0 -0
  189. data/libs/nodejs/ext/platform/iphone/jxCore/libhttp_parser.a +0 -0
  190. data/libs/nodejs/ext/platform/iphone/jxCore/libjx.a +0 -0
  191. data/libs/nodejs/ext/platform/iphone/jxCore/libmozjs.a +0 -0
  192. data/libs/nodejs/ext/platform/iphone/jxCore/libopenssl.a +0 -0
  193. data/libs/nodejs/ext/platform/iphone/jxCore/libsqlite3.a +0 -0
  194. data/libs/nodejs/ext/platform/iphone/jxCore/libuv.a +0 -0
  195. data/libs/openssl.so-edge/ext/android/armeabi/libcrypto.a +0 -0
  196. data/libs/openssl.so-edge/ext/android/armeabi/libssl.a +0 -0
  197. data/libs/openssl.so-edge/ext/android/x86/libcrypto.a +0 -0
  198. data/libs/openssl.so-edge/ext/android/x86/libssl.a +0 -0
  199. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/asn1t.h +19 -0
  200. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dso.h +23 -0
  201. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/thread_once.h +5 -2
  202. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1.h +5 -2
  203. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1t.h +5 -0
  204. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bio.h +9 -12
  205. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bn.h +1 -1
  206. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/buffer.h +1 -4
  207. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf.h +1 -0
  208. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/crypto.h +5 -1
  209. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ct.h +17 -2
  210. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dh.h +24 -6
  211. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dsa.h +1 -0
  212. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/e_os2.h +3 -16
  213. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ec.h +7 -12
  214. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/engine.h +0 -2
  215. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/err.h +3 -2
  216. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/evp.h +11 -1
  217. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/lhash.h +13 -0
  218. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/objects.h +2 -2
  219. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ocsp.h +3 -16
  220. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h +20 -8
  221. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslv.h +3 -3
  222. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rsa.h +2 -0
  223. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/seed.h +1 -3
  224. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srtp.h +1 -1
  225. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl.h +85 -52
  226. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl3.h +4 -1
  227. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/tls1.h +6 -6
  228. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ui.h +10 -0
  229. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509.h +1 -1
  230. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509_vfy.h +5 -0
  231. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509v3.h +1 -0
  232. data/libs/rexml-edge/rexml/attlistdecl.rb +63 -0
  233. data/libs/rexml-edge/rexml/attribute.rb +192 -0
  234. data/libs/rexml-edge/rexml/cdata.rb +68 -0
  235. data/libs/rexml-edge/rexml/child.rb +97 -0
  236. data/libs/rexml-edge/rexml/comment.rb +80 -0
  237. data/libs/rexml-edge/rexml/doctype.rb +270 -0
  238. data/libs/rexml-edge/rexml/document.rb +291 -0
  239. data/libs/rexml-edge/rexml/dtd/attlistdecl.rb +11 -0
  240. data/libs/rexml-edge/rexml/dtd/dtd.rb +47 -0
  241. data/libs/rexml-edge/rexml/dtd/elementdecl.rb +18 -0
  242. data/libs/rexml-edge/rexml/dtd/entitydecl.rb +57 -0
  243. data/libs/rexml-edge/rexml/dtd/notationdecl.rb +40 -0
  244. data/libs/rexml-edge/rexml/element.rb +1241 -0
  245. data/libs/rexml-edge/rexml/encoding.rb +51 -0
  246. data/libs/rexml-edge/rexml/entity.rb +174 -0
  247. data/libs/rexml-edge/rexml/formatters/default.rb +112 -0
  248. data/libs/rexml-edge/rexml/formatters/pretty.rb +142 -0
  249. data/libs/rexml-edge/rexml/formatters/transitive.rb +58 -0
  250. data/libs/rexml-edge/rexml/functions.rb +418 -0
  251. data/libs/rexml-edge/rexml/instruction.rb +71 -0
  252. data/libs/rexml-edge/rexml/light/node.rb +196 -0
  253. data/libs/rexml-edge/rexml/namespace.rb +48 -0
  254. data/libs/rexml-edge/rexml/node.rb +76 -0
  255. data/libs/rexml-edge/rexml/output.rb +30 -0
  256. data/libs/rexml-edge/rexml/parent.rb +166 -0
  257. data/libs/rexml-edge/rexml/parseexception.rb +52 -0
  258. data/libs/rexml-edge/rexml/parsers/baseparser.rb +533 -0
  259. data/libs/rexml-edge/rexml/parsers/lightparser.rb +59 -0
  260. data/libs/rexml-edge/rexml/parsers/pullparser.rb +197 -0
  261. data/libs/rexml-edge/rexml/parsers/sax2parser.rb +273 -0
  262. data/libs/rexml-edge/rexml/parsers/streamparser.rb +61 -0
  263. data/libs/rexml-edge/rexml/parsers/treeparser.rb +101 -0
  264. data/libs/rexml-edge/rexml/parsers/ultralightparser.rb +57 -0
  265. data/libs/rexml-edge/rexml/parsers/xpathparser.rb +657 -0
  266. data/libs/rexml-edge/rexml/quickpath.rb +266 -0
  267. data/libs/rexml-edge/rexml/rexml.rb +32 -0
  268. data/libs/rexml-edge/rexml/sax2listener.rb +98 -0
  269. data/libs/rexml-edge/rexml/security.rb +28 -0
  270. data/libs/rexml-edge/rexml/source.rb +297 -0
  271. data/libs/rexml-edge/rexml/streamlistener.rb +93 -0
  272. data/libs/rexml-edge/rexml/syncenumerator.rb +33 -0
  273. data/libs/rexml-edge/rexml/text.rb +426 -0
  274. data/libs/rexml-edge/rexml/undefinednamespaceexception.rb +9 -0
  275. data/libs/rexml-edge/rexml/validation/relaxng.rb +539 -0
  276. data/libs/rexml-edge/rexml/validation/validation.rb +144 -0
  277. data/libs/rexml-edge/rexml/validation/validationexception.rb +10 -0
  278. data/libs/rexml-edge/rexml/xmldecl.rb +116 -0
  279. data/libs/rexml-edge/rexml/xmltokens.rb +85 -0
  280. data/libs/rexml-edge/rexml/xpath.rb +81 -0
  281. data/libs/rexml-edge/rexml/xpath_parser.rb +704 -0
  282. data/version +1 -1
  283. metadata +144 -27
  284. data/libs/crosswalk/ext/platform/android/adds/res/drawable/launchscreen_bg.xml +0 -19
  285. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/crosswalk.png +0 -0
  286. data/libs/crosswalk/ext/platform/android/adds/res/drawable-ldpi/crosswalk.png +0 -0
  287. data/libs/crosswalk/ext/platform/android/adds/res/drawable-mdpi/crosswalk.png +0 -0
  288. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/crosswalk.png +0 -0
  289. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_suggestion_item.xml +0 -7
  290. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_suggestion_item.xml +0 -18
  291. data/libs/crosswalk/ext/platform/android/adds/res/raw/contacts_api.js +0 -206
  292. data/libs/crosswalk/ext/platform/android/adds/res/raw/device_capabilities_api.js +0 -231
  293. data/libs/crosswalk/ext/platform/android/adds/res/raw/messaging_api.js +0 -359
  294. data/libs/crosswalk/ext/platform/android/adds/res/raw/presentation_api.js +0 -144
  295. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_attrs.xml +0 -9
  296. data/libs/crosswalk/ext/platform/android/adds/res/values-v14/theme.xml +0 -16
@@ -0,0 +1,657 @@
1
+ # frozen_string_literal: false
2
+ require 'rexml/namespace'
3
+ require 'rexml/xmltokens'
4
+
5
+ module REXML
6
+ module Parsers
7
+ # You don't want to use this class. Really. Use XPath, which is a wrapper
8
+ # for this class. Believe me. You don't want to poke around in here.
9
+ # There is strange, dark magic at work in this code. Beware. Go back! Go
10
+ # back while you still can!
11
+ class XPathParser
12
+ include XMLTokens
13
+ LITERAL = /^'([^']*)'|^"([^"]*)"/u
14
+
15
+ def namespaces=( namespaces )
16
+ Functions::namespace_context = namespaces
17
+ @namespaces = namespaces
18
+ end
19
+
20
+ def parse path
21
+ path = path.dup
22
+ path.gsub!(/([\(\[])\s+/, '\1') # Strip ignorable spaces
23
+ path.gsub!( /\s+([\]\)])/, '\1')
24
+ parsed = []
25
+ OrExpr(path, parsed)
26
+ parsed
27
+ end
28
+
29
+ def predicate path
30
+ parsed = []
31
+ Predicate( "[#{path}]", parsed )
32
+ parsed
33
+ end
34
+
35
+ def abbreviate( path )
36
+ path = path.kind_of?(String) ? parse( path ) : path
37
+ string = ""
38
+ document = false
39
+ while path.size > 0
40
+ op = path.shift
41
+ case op
42
+ when :node
43
+ when :attribute
44
+ string << "/" if string.size > 0
45
+ string << "@"
46
+ when :child
47
+ string << "/" if string.size > 0
48
+ when :descendant_or_self
49
+ string << "/"
50
+ when :self
51
+ string << "."
52
+ when :parent
53
+ string << ".."
54
+ when :any
55
+ string << "*"
56
+ when :text
57
+ string << "text()"
58
+ when :following, :following_sibling,
59
+ :ancestor, :ancestor_or_self, :descendant,
60
+ :namespace, :preceding, :preceding_sibling
61
+ string << "/" unless string.size == 0
62
+ string << op.to_s.tr("_", "-")
63
+ string << "::"
64
+ when :qname
65
+ prefix = path.shift
66
+ name = path.shift
67
+ string << prefix+":" if prefix.size > 0
68
+ string << name
69
+ when :predicate
70
+ string << '['
71
+ string << predicate_to_string( path.shift ) {|x| abbreviate( x ) }
72
+ string << ']'
73
+ when :document
74
+ document = true
75
+ when :function
76
+ string << path.shift
77
+ string << "( "
78
+ string << predicate_to_string( path.shift[0] ) {|x| abbreviate( x )}
79
+ string << " )"
80
+ when :literal
81
+ string << %Q{ "#{path.shift}" }
82
+ else
83
+ string << "/" unless string.size == 0
84
+ string << "UNKNOWN("
85
+ string << op.inspect
86
+ string << ")"
87
+ end
88
+ end
89
+ string = "/"+string if document
90
+ return string
91
+ end
92
+
93
+ def expand( path )
94
+ path = path.kind_of?(String) ? parse( path ) : path
95
+ string = ""
96
+ document = false
97
+ while path.size > 0
98
+ op = path.shift
99
+ case op
100
+ when :node
101
+ string << "node()"
102
+ when :attribute, :child, :following, :following_sibling,
103
+ :ancestor, :ancestor_or_self, :descendant, :descendant_or_self,
104
+ :namespace, :preceding, :preceding_sibling, :self, :parent
105
+ string << "/" unless string.size == 0
106
+ string << op.to_s.tr("_", "-")
107
+ string << "::"
108
+ when :any
109
+ string << "*"
110
+ when :qname
111
+ prefix = path.shift
112
+ name = path.shift
113
+ string << prefix+":" if prefix.size > 0
114
+ string << name
115
+ when :predicate
116
+ string << '['
117
+ string << predicate_to_string( path.shift ) { |x| expand(x) }
118
+ string << ']'
119
+ when :document
120
+ document = true
121
+ else
122
+ string << "/" unless string.size == 0
123
+ string << "UNKNOWN("
124
+ string << op.inspect
125
+ string << ")"
126
+ end
127
+ end
128
+ string = "/"+string if document
129
+ return string
130
+ end
131
+
132
+ def predicate_to_string( path, &block )
133
+ string = ""
134
+ case path[0]
135
+ when :and, :or, :mult, :plus, :minus, :neq, :eq, :lt, :gt, :lteq, :gteq, :div, :mod, :union
136
+ op = path.shift
137
+ case op
138
+ when :eq
139
+ op = "="
140
+ when :lt
141
+ op = "<"
142
+ when :gt
143
+ op = ">"
144
+ when :lteq
145
+ op = "<="
146
+ when :gteq
147
+ op = ">="
148
+ when :neq
149
+ op = "!="
150
+ when :union
151
+ op = "|"
152
+ end
153
+ left = predicate_to_string( path.shift, &block )
154
+ right = predicate_to_string( path.shift, &block )
155
+ string << " "
156
+ string << left
157
+ string << " "
158
+ string << op.to_s
159
+ string << " "
160
+ string << right
161
+ string << " "
162
+ when :function
163
+ path.shift
164
+ name = path.shift
165
+ string << name
166
+ string << "( "
167
+ string << predicate_to_string( path.shift, &block )
168
+ string << " )"
169
+ when :literal
170
+ path.shift
171
+ string << " "
172
+ string << path.shift.inspect
173
+ string << " "
174
+ else
175
+ string << " "
176
+ string << yield( path )
177
+ string << " "
178
+ end
179
+ return string.squeeze(" ")
180
+ end
181
+
182
+ private
183
+ #LocationPath
184
+ # | RelativeLocationPath
185
+ # | '/' RelativeLocationPath?
186
+ # | '//' RelativeLocationPath
187
+ def LocationPath path, parsed
188
+ path = path.strip
189
+ if path[0] == ?/
190
+ parsed << :document
191
+ if path[1] == ?/
192
+ parsed << :descendant_or_self
193
+ parsed << :node
194
+ path = path[2..-1]
195
+ else
196
+ path = path[1..-1]
197
+ end
198
+ end
199
+ return RelativeLocationPath( path, parsed ) if path.size > 0
200
+ end
201
+
202
+ #RelativeLocationPath
203
+ # | Step
204
+ # | (AXIS_NAME '::' | '@' | '') AxisSpecifier
205
+ # NodeTest
206
+ # Predicate
207
+ # | '.' | '..' AbbreviatedStep
208
+ # | RelativeLocationPath '/' Step
209
+ # | RelativeLocationPath '//' Step
210
+ AXIS = /^(ancestor|ancestor-or-self|attribute|child|descendant|descendant-or-self|following|following-sibling|namespace|parent|preceding|preceding-sibling|self)::/
211
+ def RelativeLocationPath path, parsed
212
+ while path.size > 0
213
+ # (axis or @ or <child::>) nodetest predicate >
214
+ # OR > / Step
215
+ # (. or ..) >
216
+ if path[0] == ?.
217
+ if path[1] == ?.
218
+ parsed << :parent
219
+ parsed << :node
220
+ path = path[2..-1]
221
+ else
222
+ parsed << :self
223
+ parsed << :node
224
+ path = path[1..-1]
225
+ end
226
+ else
227
+ if path[0] == ?@
228
+ parsed << :attribute
229
+ path = path[1..-1]
230
+ # Goto Nodetest
231
+ elsif path =~ AXIS
232
+ parsed << $1.tr('-','_').intern
233
+ path = $'
234
+ # Goto Nodetest
235
+ else
236
+ parsed << :child
237
+ end
238
+
239
+ n = []
240
+ path = NodeTest( path, n)
241
+
242
+ if path[0] == ?[
243
+ path = Predicate( path, n )
244
+ end
245
+
246
+ parsed.concat(n)
247
+ end
248
+
249
+ if path.size > 0
250
+ if path[0] == ?/
251
+ if path[1] == ?/
252
+ parsed << :descendant_or_self
253
+ parsed << :node
254
+ path = path[2..-1]
255
+ else
256
+ path = path[1..-1]
257
+ end
258
+ else
259
+ return path
260
+ end
261
+ end
262
+ end
263
+ return path
264
+ end
265
+
266
+ # Returns a 1-1 map of the nodeset
267
+ # The contents of the resulting array are either:
268
+ # true/false, if a positive match
269
+ # String, if a name match
270
+ #NodeTest
271
+ # | ('*' | NCNAME ':' '*' | QNAME) NameTest
272
+ # | NODE_TYPE '(' ')' NodeType
273
+ # | PI '(' LITERAL ')' PI
274
+ # | '[' expr ']' Predicate
275
+ NCNAMETEST= /^(#{NCNAME_STR}):\*/u
276
+ QNAME = Namespace::NAMESPLIT
277
+ NODE_TYPE = /^(comment|text|node)\(\s*\)/m
278
+ PI = /^processing-instruction\(/
279
+ def NodeTest path, parsed
280
+ case path
281
+ when /^\*/
282
+ path = $'
283
+ parsed << :any
284
+ when NODE_TYPE
285
+ type = $1
286
+ path = $'
287
+ parsed << type.tr('-', '_').intern
288
+ when PI
289
+ path = $'
290
+ literal = nil
291
+ if path !~ /^\s*\)/
292
+ path =~ LITERAL
293
+ literal = $1
294
+ path = $'
295
+ raise ParseException.new("Missing ')' after processing instruction") if path[0] != ?)
296
+ path = path[1..-1]
297
+ end
298
+ parsed << :processing_instruction
299
+ parsed << (literal || '')
300
+ when NCNAMETEST
301
+ prefix = $1
302
+ path = $'
303
+ parsed << :namespace
304
+ parsed << prefix
305
+ when QNAME
306
+ prefix = $1
307
+ name = $2
308
+ path = $'
309
+ prefix = "" unless prefix
310
+ parsed << :qname
311
+ parsed << prefix
312
+ parsed << name
313
+ end
314
+ return path
315
+ end
316
+
317
+ # Filters the supplied nodeset on the predicate(s)
318
+ def Predicate path, parsed
319
+ return nil unless path[0] == ?[
320
+ predicates = []
321
+ while path[0] == ?[
322
+ path, expr = get_group(path)
323
+ predicates << expr[1..-2] if expr
324
+ end
325
+ predicates.each{ |pred|
326
+ preds = []
327
+ parsed << :predicate
328
+ parsed << preds
329
+ OrExpr(pred, preds)
330
+ }
331
+ path
332
+ end
333
+
334
+ # The following return arrays of true/false, a 1-1 mapping of the
335
+ # supplied nodeset, except for axe(), which returns a filtered
336
+ # nodeset
337
+
338
+ #| OrExpr S 'or' S AndExpr
339
+ #| AndExpr
340
+ def OrExpr path, parsed
341
+ n = []
342
+ rest = AndExpr( path, n )
343
+ if rest != path
344
+ while rest =~ /^\s*( or )/
345
+ n = [ :or, n, [] ]
346
+ rest = AndExpr( $', n[-1] )
347
+ end
348
+ end
349
+ if parsed.size == 0 and n.size != 0
350
+ parsed.replace(n)
351
+ elsif n.size > 0
352
+ parsed << n
353
+ end
354
+ rest
355
+ end
356
+
357
+ #| AndExpr S 'and' S EqualityExpr
358
+ #| EqualityExpr
359
+ def AndExpr path, parsed
360
+ n = []
361
+ rest = EqualityExpr( path, n )
362
+ if rest != path
363
+ while rest =~ /^\s*( and )/
364
+ n = [ :and, n, [] ]
365
+ rest = EqualityExpr( $', n[-1] )
366
+ end
367
+ end
368
+ if parsed.size == 0 and n.size != 0
369
+ parsed.replace(n)
370
+ elsif n.size > 0
371
+ parsed << n
372
+ end
373
+ rest
374
+ end
375
+
376
+ #| EqualityExpr ('=' | '!=') RelationalExpr
377
+ #| RelationalExpr
378
+ def EqualityExpr path, parsed
379
+ n = []
380
+ rest = RelationalExpr( path, n )
381
+ if rest != path
382
+ while rest =~ /^\s*(!?=)\s*/
383
+ if $1[0] == ?!
384
+ n = [ :neq, n, [] ]
385
+ else
386
+ n = [ :eq, n, [] ]
387
+ end
388
+ rest = RelationalExpr( $', n[-1] )
389
+ end
390
+ end
391
+ if parsed.size == 0 and n.size != 0
392
+ parsed.replace(n)
393
+ elsif n.size > 0
394
+ parsed << n
395
+ end
396
+ rest
397
+ end
398
+
399
+ #| RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
400
+ #| AdditiveExpr
401
+ def RelationalExpr path, parsed
402
+ n = []
403
+ rest = AdditiveExpr( path, n )
404
+ if rest != path
405
+ while rest =~ /^\s*([<>]=?)\s*/
406
+ if $1[0] == ?<
407
+ sym = "lt"
408
+ else
409
+ sym = "gt"
410
+ end
411
+ sym << "eq" if $1[-1] == ?=
412
+ n = [ sym.intern, n, [] ]
413
+ rest = AdditiveExpr( $', n[-1] )
414
+ end
415
+ end
416
+ if parsed.size == 0 and n.size != 0
417
+ parsed.replace(n)
418
+ elsif n.size > 0
419
+ parsed << n
420
+ end
421
+ rest
422
+ end
423
+
424
+ #| AdditiveExpr ('+' | S '-') MultiplicativeExpr
425
+ #| MultiplicativeExpr
426
+ def AdditiveExpr path, parsed
427
+ n = []
428
+ rest = MultiplicativeExpr( path, n )
429
+ if rest != path
430
+ while rest =~ /^\s*(\+| -)\s*/
431
+ if $1[0] == ?+
432
+ n = [ :plus, n, [] ]
433
+ else
434
+ n = [ :minus, n, [] ]
435
+ end
436
+ rest = MultiplicativeExpr( $', n[-1] )
437
+ end
438
+ end
439
+ if parsed.size == 0 and n.size != 0
440
+ parsed.replace(n)
441
+ elsif n.size > 0
442
+ parsed << n
443
+ end
444
+ rest
445
+ end
446
+
447
+ #| MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
448
+ #| UnaryExpr
449
+ def MultiplicativeExpr path, parsed
450
+ n = []
451
+ rest = UnaryExpr( path, n )
452
+ if rest != path
453
+ while rest =~ /^\s*(\*| div | mod )\s*/
454
+ if $1[0] == ?*
455
+ n = [ :mult, n, [] ]
456
+ elsif $1.include?( "div" )
457
+ n = [ :div, n, [] ]
458
+ else
459
+ n = [ :mod, n, [] ]
460
+ end
461
+ rest = UnaryExpr( $', n[-1] )
462
+ end
463
+ end
464
+ if parsed.size == 0 and n.size != 0
465
+ parsed.replace(n)
466
+ elsif n.size > 0
467
+ parsed << n
468
+ end
469
+ rest
470
+ end
471
+
472
+ #| '-' UnaryExpr
473
+ #| UnionExpr
474
+ def UnaryExpr path, parsed
475
+ path =~ /^(\-*)/
476
+ path = $'
477
+ if $1 and (($1.size % 2) != 0)
478
+ mult = -1
479
+ else
480
+ mult = 1
481
+ end
482
+ parsed << :neg if mult < 0
483
+
484
+ n = []
485
+ path = UnionExpr( path, n )
486
+ parsed.concat( n )
487
+ path
488
+ end
489
+
490
+ #| UnionExpr '|' PathExpr
491
+ #| PathExpr
492
+ def UnionExpr path, parsed
493
+ n = []
494
+ rest = PathExpr( path, n )
495
+ if rest != path
496
+ while rest =~ /^\s*(\|)\s*/
497
+ n = [ :union, n, [] ]
498
+ rest = PathExpr( $', n[-1] )
499
+ end
500
+ end
501
+ if parsed.size == 0 and n.size != 0
502
+ parsed.replace( n )
503
+ elsif n.size > 0
504
+ parsed << n
505
+ end
506
+ rest
507
+ end
508
+
509
+ #| LocationPath
510
+ #| FilterExpr ('/' | '//') RelativeLocationPath
511
+ def PathExpr path, parsed
512
+ path =~ /^\s*/
513
+ path = $'
514
+ n = []
515
+ rest = FilterExpr( path, n )
516
+ if rest != path
517
+ if rest and rest[0] == ?/
518
+ return RelativeLocationPath(rest, n)
519
+ end
520
+ end
521
+ rest = LocationPath(rest, n) if rest =~ /\A[\/\.\@\[\w*]/
522
+ parsed.concat(n)
523
+ return rest
524
+ end
525
+
526
+ #| FilterExpr Predicate
527
+ #| PrimaryExpr
528
+ def FilterExpr path, parsed
529
+ n = []
530
+ path = PrimaryExpr( path, n )
531
+ path = Predicate(path, n) if path and path[0] == ?[
532
+ parsed.concat(n)
533
+ path
534
+ end
535
+
536
+ #| VARIABLE_REFERENCE
537
+ #| '(' expr ')'
538
+ #| LITERAL
539
+ #| NUMBER
540
+ #| FunctionCall
541
+ VARIABLE_REFERENCE = /^\$(#{NAME_STR})/u
542
+ NUMBER = /^(\d*\.?\d+)/
543
+ NT = /^comment|text|processing-instruction|node$/
544
+ def PrimaryExpr path, parsed
545
+ case path
546
+ when VARIABLE_REFERENCE
547
+ varname = $1
548
+ path = $'
549
+ parsed << :variable
550
+ parsed << varname
551
+ #arry << @variables[ varname ]
552
+ when /^(\w[-\w]*)(?:\()/
553
+ fname = $1
554
+ tmp = $'
555
+ return path if fname =~ NT
556
+ path = tmp
557
+ parsed << :function
558
+ parsed << fname
559
+ path = FunctionCall(path, parsed)
560
+ when NUMBER
561
+ varname = $1.nil? ? $2 : $1
562
+ path = $'
563
+ parsed << :literal
564
+ parsed << (varname.include?('.') ? varname.to_f : varname.to_i)
565
+ when LITERAL
566
+ varname = $1.nil? ? $2 : $1
567
+ path = $'
568
+ parsed << :literal
569
+ parsed << varname
570
+ when /^\(/ #/
571
+ path, contents = get_group(path)
572
+ contents = contents[1..-2]
573
+ n = []
574
+ OrExpr( contents, n )
575
+ parsed.concat(n)
576
+ end
577
+ path
578
+ end
579
+
580
+ #| FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
581
+ def FunctionCall rest, parsed
582
+ path, arguments = parse_args(rest)
583
+ argset = []
584
+ for argument in arguments
585
+ args = []
586
+ OrExpr( argument, args )
587
+ argset << args
588
+ end
589
+ parsed << argset
590
+ path
591
+ end
592
+
593
+ # get_group( '[foo]bar' ) -> ['bar', '[foo]']
594
+ def get_group string
595
+ ind = 0
596
+ depth = 0
597
+ st = string[0,1]
598
+ en = (st == "(" ? ")" : "]")
599
+ begin
600
+ case string[ind,1]
601
+ when st
602
+ depth += 1
603
+ when en
604
+ depth -= 1
605
+ end
606
+ ind += 1
607
+ end while depth > 0 and ind < string.length
608
+ return nil unless depth==0
609
+ [string[ind..-1], string[0..ind-1]]
610
+ end
611
+
612
+ def parse_args( string )
613
+ arguments = []
614
+ ind = 0
615
+ inquot = false
616
+ inapos = false
617
+ depth = 1
618
+ begin
619
+ case string[ind]
620
+ when ?"
621
+ inquot = !inquot unless inapos
622
+ when ?'
623
+ inapos = !inapos unless inquot
624
+ else
625
+ unless inquot or inapos
626
+ case string[ind]
627
+ when ?(
628
+ depth += 1
629
+ if depth == 1
630
+ string = string[1..-1]
631
+ ind -= 1
632
+ end
633
+ when ?)
634
+ depth -= 1
635
+ if depth == 0
636
+ s = string[0,ind].strip
637
+ arguments << s unless s == ""
638
+ string = string[ind+1..-1]
639
+ end
640
+ when ?,
641
+ if depth == 1
642
+ s = string[0,ind].strip
643
+ arguments << s unless s == ""
644
+ string = string[ind+1..-1]
645
+ ind = -1
646
+ end
647
+ end
648
+ end
649
+ end
650
+ ind += 1
651
+ end while depth > 0 and ind < string.length
652
+ return nil unless depth==0
653
+ [string,arguments]
654
+ end
655
+ end
656
+ end
657
+ end