fluid-blends 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. fluid_blends-0.6.0/.envrc +6 -0
  2. fluid_blends-0.6.0/.gitignore +54 -0
  3. fluid_blends-0.6.0/.gitlab-ci.yaml +396 -0
  4. fluid_blends-0.6.0/PKG-INFO +24 -0
  5. fluid_blends-0.6.0/blends/__init__.py +0 -0
  6. fluid_blends-0.6.0/blends/ast/__init__.py +0 -0
  7. fluid_blends-0.6.0/blends/ast/build_graph.py +174 -0
  8. fluid_blends-0.6.0/blends/content/__init__.py +0 -0
  9. fluid_blends-0.6.0/blends/content/content.py +71 -0
  10. fluid_blends-0.6.0/blends/content/custom_parsers/__init__.py +7 -0
  11. fluid_blends-0.6.0/blends/content/custom_parsers/helm_templates.py +171 -0
  12. fluid_blends-0.6.0/blends/ctx/__init__.py +32 -0
  13. fluid_blends-0.6.0/blends/graph/__init__.py +31 -0
  14. fluid_blends-0.6.0/blends/models.py +77 -0
  15. fluid_blends-0.6.0/blends/py.typed +0 -0
  16. fluid_blends-0.6.0/blends/query/__init__.py +482 -0
  17. fluid_blends-0.6.0/blends/stack/__init__.py +91 -0
  18. fluid_blends-0.6.0/blends/stack/attributes.py +7 -0
  19. fluid_blends-0.6.0/blends/stack/criteria.py +86 -0
  20. fluid_blends-0.6.0/blends/stack/edges.py +25 -0
  21. fluid_blends-0.6.0/blends/stack/node_helpers.py +125 -0
  22. fluid_blends-0.6.0/blends/stack/node_kinds.py +21 -0
  23. fluid_blends-0.6.0/blends/stack/selection.py +86 -0
  24. fluid_blends-0.6.0/blends/stack/stacks.py +22 -0
  25. fluid_blends-0.6.0/blends/stack/transitions.py +135 -0
  26. fluid_blends-0.6.0/blends/stack/validation.py +130 -0
  27. fluid_blends-0.6.0/blends/stack/view.py +294 -0
  28. fluid_blends-0.6.0/blends/static/node_types/__init__.py +0 -0
  29. fluid_blends-0.6.0/blends/static/node_types/c_sharp-fields.json +353 -0
  30. fluid_blends-0.6.0/blends/static/node_types/dart-fields.json +125 -0
  31. fluid_blends-0.6.0/blends/static/node_types/go-fields.json +198 -0
  32. fluid_blends-0.6.0/blends/static/node_types/hcl-fields.json +6 -0
  33. fluid_blends-0.6.0/blends/static/node_types/java-fields.json +245 -0
  34. fluid_blends-0.6.0/blends/static/node_types/javascript-fields.json +223 -0
  35. fluid_blends-0.6.0/blends/static/node_types/json-fields.json +6 -0
  36. fluid_blends-0.6.0/blends/static/node_types/kotlin-fields.json +58 -0
  37. fluid_blends-0.6.0/blends/static/node_types/php-fields.json +261 -0
  38. fluid_blends-0.6.0/blends/static/node_types/python-fields.json +195 -0
  39. fluid_blends-0.6.0/blends/static/node_types/ruby-fields.json +222 -0
  40. fluid_blends-0.6.0/blends/static/node_types/scala-fields.json +301 -0
  41. fluid_blends-0.6.0/blends/static/node_types/swift-fields.json +327 -0
  42. fluid_blends-0.6.0/blends/static/node_types/tsx-fields.json +388 -0
  43. fluid_blends-0.6.0/blends/static/node_types/yaml-fields.json +10 -0
  44. fluid_blends-0.6.0/blends/syntax/__init__.py +0 -0
  45. fluid_blends-0.6.0/blends/syntax/build_graph.py +70 -0
  46. fluid_blends-0.6.0/blends/syntax/builders/__init__.py +0 -0
  47. fluid_blends-0.6.0/blends/syntax/builders/annotation.py +30 -0
  48. fluid_blends-0.6.0/blends/syntax/builders/argument.py +26 -0
  49. fluid_blends-0.6.0/blends/syntax/builders/argument_list.py +26 -0
  50. fluid_blends-0.6.0/blends/syntax/builders/array_node.py +26 -0
  51. fluid_blends-0.6.0/blends/syntax/builders/assignment.py +71 -0
  52. fluid_blends-0.6.0/blends/syntax/builders/attribute.py +27 -0
  53. fluid_blends-0.6.0/blends/syntax/builders/await_expression.py +25 -0
  54. fluid_blends-0.6.0/blends/syntax/builders/binary_operation.py +37 -0
  55. fluid_blends-0.6.0/blends/syntax/builders/catch_clause.py +35 -0
  56. fluid_blends-0.6.0/blends/syntax/builders/catch_declaration.py +26 -0
  57. fluid_blends-0.6.0/blends/syntax/builders/class_body.py +26 -0
  58. fluid_blends-0.6.0/blends/syntax/builders/class_decl.py +122 -0
  59. fluid_blends-0.6.0/blends/syntax/builders/comment.py +15 -0
  60. fluid_blends-0.6.0/blends/syntax/builders/declaration_block.py +24 -0
  61. fluid_blends-0.6.0/blends/syntax/builders/do_statement.py +29 -0
  62. fluid_blends-0.6.0/blends/syntax/builders/element_access.py +34 -0
  63. fluid_blends-0.6.0/blends/syntax/builders/else_clause.py +25 -0
  64. fluid_blends-0.6.0/blends/syntax/builders/execution_block.py +40 -0
  65. fluid_blends-0.6.0/blends/syntax/builders/export_statement.py +30 -0
  66. fluid_blends-0.6.0/blends/syntax/builders/expression_statement.py +26 -0
  67. fluid_blends-0.6.0/blends/syntax/builders/file.py +34 -0
  68. fluid_blends-0.6.0/blends/syntax/builders/finally_clause.py +26 -0
  69. fluid_blends-0.6.0/blends/syntax/builders/for_each_statement.py +67 -0
  70. fluid_blends-0.6.0/blends/syntax/builders/for_statement.py +76 -0
  71. fluid_blends-0.6.0/blends/syntax/builders/if_statement.py +52 -0
  72. fluid_blends-0.6.0/blends/syntax/builders/import_global.py +60 -0
  73. fluid_blends-0.6.0/blends/syntax/builders/import_module.py +52 -0
  74. fluid_blends-0.6.0/blends/syntax/builders/import_statement.py +80 -0
  75. fluid_blends-0.6.0/blends/syntax/builders/jsx_element.py +25 -0
  76. fluid_blends-0.6.0/blends/syntax/builders/lambda_function.py +33 -0
  77. fluid_blends-0.6.0/blends/syntax/builders/literal.py +17 -0
  78. fluid_blends-0.6.0/blends/syntax/builders/member_access.py +29 -0
  79. fluid_blends-0.6.0/blends/syntax/builders/method_declaration.py +118 -0
  80. fluid_blends-0.6.0/blends/syntax/builders/method_invocation.py +58 -0
  81. fluid_blends-0.6.0/blends/syntax/builders/missing_node.py +27 -0
  82. fluid_blends-0.6.0/blends/syntax/builders/modifiers.py +26 -0
  83. fluid_blends-0.6.0/blends/syntax/builders/named_argument.py +29 -0
  84. fluid_blends-0.6.0/blends/syntax/builders/namespace.py +21 -0
  85. fluid_blends-0.6.0/blends/syntax/builders/new_expression.py +34 -0
  86. fluid_blends-0.6.0/blends/syntax/builders/object.py +37 -0
  87. fluid_blends-0.6.0/blends/syntax/builders/object_creation.py +39 -0
  88. fluid_blends-0.6.0/blends/syntax/builders/pair.py +33 -0
  89. fluid_blends-0.6.0/blends/syntax/builders/parameter.py +74 -0
  90. fluid_blends-0.6.0/blends/syntax/builders/parameter_list.py +26 -0
  91. fluid_blends-0.6.0/blends/syntax/builders/parenthesized_expression.py +21 -0
  92. fluid_blends-0.6.0/blends/syntax/builders/py.typed +0 -0
  93. fluid_blends-0.6.0/blends/syntax/builders/reserved_word.py +16 -0
  94. fluid_blends-0.6.0/blends/syntax/builders/rest_pattern.py +22 -0
  95. fluid_blends-0.6.0/blends/syntax/builders/return_statement.py +22 -0
  96. fluid_blends-0.6.0/blends/syntax/builders/selector.py +34 -0
  97. fluid_blends-0.6.0/blends/syntax/builders/spread_element.py +22 -0
  98. fluid_blends-0.6.0/blends/syntax/builders/string_literal.py +36 -0
  99. fluid_blends-0.6.0/blends/syntax/builders/switch_body.py +37 -0
  100. fluid_blends-0.6.0/blends/syntax/builders/switch_section.py +31 -0
  101. fluid_blends-0.6.0/blends/syntax/builders/switch_statement.py +33 -0
  102. fluid_blends-0.6.0/blends/syntax/builders/symbol_lookup.py +36 -0
  103. fluid_blends-0.6.0/blends/syntax/builders/ternary_operation.py +41 -0
  104. fluid_blends-0.6.0/blends/syntax/builders/throw.py +26 -0
  105. fluid_blends-0.6.0/blends/syntax/builders/try_statement.py +55 -0
  106. fluid_blends-0.6.0/blends/syntax/builders/unary_expression.py +27 -0
  107. fluid_blends-0.6.0/blends/syntax/builders/using_statement.py +34 -0
  108. fluid_blends-0.6.0/blends/syntax/builders/utils.py +17 -0
  109. fluid_blends-0.6.0/blends/syntax/builders/variable_declaration.py +66 -0
  110. fluid_blends-0.6.0/blends/syntax/builders/while_statement.py +30 -0
  111. fluid_blends-0.6.0/blends/syntax/dispatchers/__init__.py +69 -0
  112. fluid_blends-0.6.0/blends/syntax/dispatchers/c_sharp.py +310 -0
  113. fluid_blends-0.6.0/blends/syntax/dispatchers/dart.py +310 -0
  114. fluid_blends-0.6.0/blends/syntax/dispatchers/go.py +172 -0
  115. fluid_blends-0.6.0/blends/syntax/dispatchers/hcl.py +31 -0
  116. fluid_blends-0.6.0/blends/syntax/dispatchers/java.py +260 -0
  117. fluid_blends-0.6.0/blends/syntax/dispatchers/javascript.py +258 -0
  118. fluid_blends-0.6.0/blends/syntax/dispatchers/json_dispatchers.py +39 -0
  119. fluid_blends-0.6.0/blends/syntax/dispatchers/kotlin.py +179 -0
  120. fluid_blends-0.6.0/blends/syntax/dispatchers/php.py +232 -0
  121. fluid_blends-0.6.0/blends/syntax/dispatchers/py.typed +0 -0
  122. fluid_blends-0.6.0/blends/syntax/dispatchers/python.py +236 -0
  123. fluid_blends-0.6.0/blends/syntax/dispatchers/ruby.py +161 -0
  124. fluid_blends-0.6.0/blends/syntax/dispatchers/scala.py +172 -0
  125. fluid_blends-0.6.0/blends/syntax/dispatchers/swift.py +211 -0
  126. fluid_blends-0.6.0/blends/syntax/dispatchers/typescript.py +354 -0
  127. fluid_blends-0.6.0/blends/syntax/dispatchers/yaml.py +28 -0
  128. fluid_blends-0.6.0/blends/syntax/metadata/__init__.py +0 -0
  129. fluid_blends-0.6.0/blends/syntax/metadata/java.py +115 -0
  130. fluid_blends-0.6.0/blends/syntax/models.py +54 -0
  131. fluid_blends-0.6.0/blends/syntax/readers/__init__.py +0 -0
  132. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/__init__.py +0 -0
  133. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/accessor_declaration.py +24 -0
  134. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/anonymous_object_creation.py +21 -0
  135. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/argument.py +43 -0
  136. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/argument_list.py +31 -0
  137. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/array_creation_expression.py +17 -0
  138. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/arrow_expression_clause.py +20 -0
  139. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/assignment_expression.py +22 -0
  140. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/attribute.py +21 -0
  141. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/attribute_list.py +17 -0
  142. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/binary_expression.py +17 -0
  143. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/boolean_literal.py +17 -0
  144. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/bracketed_argument_list.py +17 -0
  145. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/break_statement.py +14 -0
  146. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/cast_expression.py +21 -0
  147. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/catch_clause.py +18 -0
  148. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/catch_declaration.py +22 -0
  149. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/class_declaration.py +33 -0
  150. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/comment.py +22 -0
  151. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/compilation_unit.py +17 -0
  152. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/conditional_access_expression.py +29 -0
  153. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/constructor_declaration.py +26 -0
  154. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/continue_statement.py +14 -0
  155. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/declaration_block.py +41 -0
  156. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/do_statement.py +30 -0
  157. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/element_access_expression.py +15 -0
  158. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/element_binding_expression.py +17 -0
  159. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/execution_block.py +22 -0
  160. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/expression_statement.py +24 -0
  161. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/file_scoped_namespace_declaration.py +34 -0
  162. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/finally_clause.py +19 -0
  163. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/for_each_statement.py +29 -0
  164. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/for_statement.py +34 -0
  165. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/global_statement.py +17 -0
  166. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/identifier.py +19 -0
  167. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/if_statement.py +27 -0
  168. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/implicit_parameter.py +24 -0
  169. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/initializer_expression.py +25 -0
  170. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/interface_declaration.py +31 -0
  171. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/interpolated_string_expression.py +30 -0
  172. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/interpolation.py +22 -0
  173. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/invocation_expression.py +26 -0
  174. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/lambda_expression.py +28 -0
  175. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/local_declaration_statement.py +52 -0
  176. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/member_access_expression.py +20 -0
  177. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/member_binding_expression.py +14 -0
  178. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/method_declaration.py +48 -0
  179. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/name_equals.py +17 -0
  180. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/namespace_declaration.py +19 -0
  181. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/null_literal.py +17 -0
  182. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/number_literal.py +17 -0
  183. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/object_creation_expression.py +37 -0
  184. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/parameter.py +49 -0
  185. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/parameter_list.py +28 -0
  186. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/parenthesized_expression.py +21 -0
  187. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/postfix_unary_expression.py +19 -0
  188. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/prefix_expression.py +30 -0
  189. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/property_declaration.py +22 -0
  190. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/py.typed +0 -0
  191. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/return_statement.py +19 -0
  192. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/string_literal.py +14 -0
  193. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/switch_body.py +18 -0
  194. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/switch_section.py +35 -0
  195. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/switch_statement.py +15 -0
  196. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/this_expression.py +16 -0
  197. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/this_node.py +16 -0
  198. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/throw_statement.py +18 -0
  199. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/try_statement.py +27 -0
  200. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/type_of_expression.py +21 -0
  201. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/type_parameter_list.py +22 -0
  202. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/unary_expression.py +17 -0
  203. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/using_global_directive.py +35 -0
  204. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/using_statement.py +24 -0
  205. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/variable_declaration.py +55 -0
  206. fluid_blends-0.6.0/blends/syntax/readers/c_sharp/while_statement.py +29 -0
  207. fluid_blends-0.6.0/blends/syntax/readers/common/__init__.py +0 -0
  208. fluid_blends-0.6.0/blends/syntax/readers/common/missing_node.py +22 -0
  209. fluid_blends-0.6.0/blends/syntax/readers/constants.py +149 -0
  210. fluid_blends-0.6.0/blends/syntax/readers/dart/__init__.py +0 -0
  211. fluid_blends-0.6.0/blends/syntax/readers/dart/annotation.py +19 -0
  212. fluid_blends-0.6.0/blends/syntax/readers/dart/argument.py +35 -0
  213. fluid_blends-0.6.0/blends/syntax/readers/dart/argument_part.py +17 -0
  214. fluid_blends-0.6.0/blends/syntax/readers/dart/arguments.py +21 -0
  215. fluid_blends-0.6.0/blends/syntax/readers/dart/array_node.py +36 -0
  216. fluid_blends-0.6.0/blends/syntax/readers/dart/assert_statement.py +44 -0
  217. fluid_blends-0.6.0/blends/syntax/readers/dart/assignable_expression.py +38 -0
  218. fluid_blends-0.6.0/blends/syntax/readers/dart/assignable_selector.py +24 -0
  219. fluid_blends-0.6.0/blends/syntax/readers/dart/assignment_expression.py +33 -0
  220. fluid_blends-0.6.0/blends/syntax/readers/dart/await_expression.py +21 -0
  221. fluid_blends-0.6.0/blends/syntax/readers/dart/binary_expression.py +34 -0
  222. fluid_blends-0.6.0/blends/syntax/readers/dart/boolean_literal.py +15 -0
  223. fluid_blends-0.6.0/blends/syntax/readers/dart/break_statement.py +14 -0
  224. fluid_blends-0.6.0/blends/syntax/readers/dart/class_body.py +20 -0
  225. fluid_blends-0.6.0/blends/syntax/readers/dart/class_definition.py +26 -0
  226. fluid_blends-0.6.0/blends/syntax/readers/dart/comment.py +22 -0
  227. fluid_blends-0.6.0/blends/syntax/readers/dart/conditional_expression.py +47 -0
  228. fluid_blends-0.6.0/blends/syntax/readers/dart/constant_constructor_signature.py +29 -0
  229. fluid_blends-0.6.0/blends/syntax/readers/dart/continue_statement.py +14 -0
  230. fluid_blends-0.6.0/blends/syntax/readers/dart/declaration_block.py +28 -0
  231. fluid_blends-0.6.0/blends/syntax/readers/dart/enum_declaration.py +18 -0
  232. fluid_blends-0.6.0/blends/syntax/readers/dart/execution_block.py +22 -0
  233. fluid_blends-0.6.0/blends/syntax/readers/dart/expression_statement.py +87 -0
  234. fluid_blends-0.6.0/blends/syntax/readers/dart/extension_declaration.py +26 -0
  235. fluid_blends-0.6.0/blends/syntax/readers/dart/finally_clause.py +17 -0
  236. fluid_blends-0.6.0/blends/syntax/readers/dart/for_statement.py +40 -0
  237. fluid_blends-0.6.0/blends/syntax/readers/dart/function_body.py +23 -0
  238. fluid_blends-0.6.0/blends/syntax/readers/dart/function_declaration.py +14 -0
  239. fluid_blends-0.6.0/blends/syntax/readers/dart/function_expression.py +27 -0
  240. fluid_blends-0.6.0/blends/syntax/readers/dart/function_signature.py +42 -0
  241. fluid_blends-0.6.0/blends/syntax/readers/dart/getter_signature.py +24 -0
  242. fluid_blends-0.6.0/blends/syntax/readers/dart/identifier.py +67 -0
  243. fluid_blends-0.6.0/blends/syntax/readers/dart/identifier_list.py +22 -0
  244. fluid_blends-0.6.0/blends/syntax/readers/dart/if_statement.py +33 -0
  245. fluid_blends-0.6.0/blends/syntax/readers/dart/import_global.py +40 -0
  246. fluid_blends-0.6.0/blends/syntax/readers/dart/initialized_identifier.py +36 -0
  247. fluid_blends-0.6.0/blends/syntax/readers/dart/lambda_expression.py +40 -0
  248. fluid_blends-0.6.0/blends/syntax/readers/dart/library_name.py +19 -0
  249. fluid_blends-0.6.0/blends/syntax/readers/dart/method_declaration.py +29 -0
  250. fluid_blends-0.6.0/blends/syntax/readers/dart/method_signature.py +47 -0
  251. fluid_blends-0.6.0/blends/syntax/readers/dart/new_expression.py +20 -0
  252. fluid_blends-0.6.0/blends/syntax/readers/dart/number_literal.py +14 -0
  253. fluid_blends-0.6.0/blends/syntax/readers/dart/object.py +19 -0
  254. fluid_blends-0.6.0/blends/syntax/readers/dart/operator_node.py +20 -0
  255. fluid_blends-0.6.0/blends/syntax/readers/dart/operator_signature.py +22 -0
  256. fluid_blends-0.6.0/blends/syntax/readers/dart/pair.py +15 -0
  257. fluid_blends-0.6.0/blends/syntax/readers/dart/parameter.py +44 -0
  258. fluid_blends-0.6.0/blends/syntax/readers/dart/parameter_list.py +22 -0
  259. fluid_blends-0.6.0/blends/syntax/readers/dart/parenthesized_expression.py +17 -0
  260. fluid_blends-0.6.0/blends/syntax/readers/dart/program.py +29 -0
  261. fluid_blends-0.6.0/blends/syntax/readers/dart/reserved_word.py +16 -0
  262. fluid_blends-0.6.0/blends/syntax/readers/dart/return_statement.py +27 -0
  263. fluid_blends-0.6.0/blends/syntax/readers/dart/selector.py +75 -0
  264. fluid_blends-0.6.0/blends/syntax/readers/dart/spread_element.py +21 -0
  265. fluid_blends-0.6.0/blends/syntax/readers/dart/string_literal.py +22 -0
  266. fluid_blends-0.6.0/blends/syntax/readers/dart/switch_body.py +50 -0
  267. fluid_blends-0.6.0/blends/syntax/readers/dart/switch_statement.py +21 -0
  268. fluid_blends-0.6.0/blends/syntax/readers/dart/template_substitution.py +24 -0
  269. fluid_blends-0.6.0/blends/syntax/readers/dart/throw_statement.py +17 -0
  270. fluid_blends-0.6.0/blends/syntax/readers/dart/try_statement.py +28 -0
  271. fluid_blends-0.6.0/blends/syntax/readers/dart/type_cast_expression.py +36 -0
  272. fluid_blends-0.6.0/blends/syntax/readers/dart/unary_expression.py +21 -0
  273. fluid_blends-0.6.0/blends/syntax/readers/dart/update_expression.py +25 -0
  274. fluid_blends-0.6.0/blends/syntax/readers/dart/variable_declaration.py +53 -0
  275. fluid_blends-0.6.0/blends/syntax/readers/dart/while_statement.py +29 -0
  276. fluid_blends-0.6.0/blends/syntax/readers/go/__init__.py +0 -0
  277. fluid_blends-0.6.0/blends/syntax/readers/go/argument_list.py +19 -0
  278. fluid_blends-0.6.0/blends/syntax/readers/go/assignment_statement.py +42 -0
  279. fluid_blends-0.6.0/blends/syntax/readers/go/binary_expression.py +17 -0
  280. fluid_blends-0.6.0/blends/syntax/readers/go/block.py +34 -0
  281. fluid_blends-0.6.0/blends/syntax/readers/go/boolean_literal.py +15 -0
  282. fluid_blends-0.6.0/blends/syntax/readers/go/break_statement.py +14 -0
  283. fluid_blends-0.6.0/blends/syntax/readers/go/call_expression.py +27 -0
  284. fluid_blends-0.6.0/blends/syntax/readers/go/comment.py +22 -0
  285. fluid_blends-0.6.0/blends/syntax/readers/go/composite_literal.py +53 -0
  286. fluid_blends-0.6.0/blends/syntax/readers/go/expression_list.py +33 -0
  287. fluid_blends-0.6.0/blends/syntax/readers/go/expression_statement.py +18 -0
  288. fluid_blends-0.6.0/blends/syntax/readers/go/for_statement.py +14 -0
  289. fluid_blends-0.6.0/blends/syntax/readers/go/function_declaration.py +36 -0
  290. fluid_blends-0.6.0/blends/syntax/readers/go/identifier.py +14 -0
  291. fluid_blends-0.6.0/blends/syntax/readers/go/if_statement.py +19 -0
  292. fluid_blends-0.6.0/blends/syntax/readers/go/import_declaration.py +29 -0
  293. fluid_blends-0.6.0/blends/syntax/readers/go/index_expression.py +16 -0
  294. fluid_blends-0.6.0/blends/syntax/readers/go/int_literal.py +14 -0
  295. fluid_blends-0.6.0/blends/syntax/readers/go/literal_value.py +48 -0
  296. fluid_blends-0.6.0/blends/syntax/readers/go/nil.py +14 -0
  297. fluid_blends-0.6.0/blends/syntax/readers/go/package_clause.py +24 -0
  298. fluid_blends-0.6.0/blends/syntax/readers/go/pair.py +21 -0
  299. fluid_blends-0.6.0/blends/syntax/readers/go/parameter_declaration.py +23 -0
  300. fluid_blends-0.6.0/blends/syntax/readers/go/parameter_list.py +22 -0
  301. fluid_blends-0.6.0/blends/syntax/readers/go/qualified_type.py +20 -0
  302. fluid_blends-0.6.0/blends/syntax/readers/go/reserved_words.py +16 -0
  303. fluid_blends-0.6.0/blends/syntax/readers/go/return_statement.py +30 -0
  304. fluid_blends-0.6.0/blends/syntax/readers/go/selector_expression.py +20 -0
  305. fluid_blends-0.6.0/blends/syntax/readers/go/slice_expression.py +17 -0
  306. fluid_blends-0.6.0/blends/syntax/readers/go/source_file.py +33 -0
  307. fluid_blends-0.6.0/blends/syntax/readers/go/spread_element.py +21 -0
  308. fluid_blends-0.6.0/blends/syntax/readers/go/string_literal.py +18 -0
  309. fluid_blends-0.6.0/blends/syntax/readers/go/switch_section.py +41 -0
  310. fluid_blends-0.6.0/blends/syntax/readers/go/switch_statement.py +64 -0
  311. fluid_blends-0.6.0/blends/syntax/readers/go/type_conversion.py +21 -0
  312. fluid_blends-0.6.0/blends/syntax/readers/go/type_declaration.py +47 -0
  313. fluid_blends-0.6.0/blends/syntax/readers/go/unary_expression.py +16 -0
  314. fluid_blends-0.6.0/blends/syntax/readers/go/var_declaration.py +37 -0
  315. fluid_blends-0.6.0/blends/syntax/readers/hcl/__init__.py +0 -0
  316. fluid_blends-0.6.0/blends/syntax/readers/hcl/attribute.py +34 -0
  317. fluid_blends-0.6.0/blends/syntax/readers/hcl/block.py +67 -0
  318. fluid_blends-0.6.0/blends/syntax/readers/hcl/config_file.py +19 -0
  319. fluid_blends-0.6.0/blends/syntax/readers/hcl/expression.py +79 -0
  320. fluid_blends-0.6.0/blends/syntax/readers/hcl/function_arguments.py +18 -0
  321. fluid_blends-0.6.0/blends/syntax/readers/hcl/identifier.py +17 -0
  322. fluid_blends-0.6.0/blends/syntax/readers/java/__init__.py +0 -0
  323. fluid_blends-0.6.0/blends/syntax/readers/java/annotation.py +20 -0
  324. fluid_blends-0.6.0/blends/syntax/readers/java/annotation_argument_list.py +22 -0
  325. fluid_blends-0.6.0/blends/syntax/readers/java/argument_list.py +25 -0
  326. fluid_blends-0.6.0/blends/syntax/readers/java/array_access.py +16 -0
  327. fluid_blends-0.6.0/blends/syntax/readers/java/array_creation_expression.py +28 -0
  328. fluid_blends-0.6.0/blends/syntax/readers/java/array_node.py +38 -0
  329. fluid_blends-0.6.0/blends/syntax/readers/java/assignment_expression.py +18 -0
  330. fluid_blends-0.6.0/blends/syntax/readers/java/binary_expression.py +25 -0
  331. fluid_blends-0.6.0/blends/syntax/readers/java/boolean_literal.py +15 -0
  332. fluid_blends-0.6.0/blends/syntax/readers/java/break_statement.py +14 -0
  333. fluid_blends-0.6.0/blends/syntax/readers/java/cast_expression.py +21 -0
  334. fluid_blends-0.6.0/blends/syntax/readers/java/catch_clause.py +18 -0
  335. fluid_blends-0.6.0/blends/syntax/readers/java/catch_declaration.py +17 -0
  336. fluid_blends-0.6.0/blends/syntax/readers/java/catch_parameter.py +32 -0
  337. fluid_blends-0.6.0/blends/syntax/readers/java/class_body.py +26 -0
  338. fluid_blends-0.6.0/blends/syntax/readers/java/class_declaration.py +65 -0
  339. fluid_blends-0.6.0/blends/syntax/readers/java/comment.py +22 -0
  340. fluid_blends-0.6.0/blends/syntax/readers/java/continue_statement.py +14 -0
  341. fluid_blends-0.6.0/blends/syntax/readers/java/declaration_block.py +18 -0
  342. fluid_blends-0.6.0/blends/syntax/readers/java/do_statement.py +23 -0
  343. fluid_blends-0.6.0/blends/syntax/readers/java/element_value_pair.py +20 -0
  344. fluid_blends-0.6.0/blends/syntax/readers/java/enhanced_for_statement.py +24 -0
  345. fluid_blends-0.6.0/blends/syntax/readers/java/execution_block.py +22 -0
  346. fluid_blends-0.6.0/blends/syntax/readers/java/expression_statement.py +24 -0
  347. fluid_blends-0.6.0/blends/syntax/readers/java/field_declaration.py +19 -0
  348. fluid_blends-0.6.0/blends/syntax/readers/java/finally_clause.py +19 -0
  349. fluid_blends-0.6.0/blends/syntax/readers/java/for_statement.py +26 -0
  350. fluid_blends-0.6.0/blends/syntax/readers/java/identifier.py +17 -0
  351. fluid_blends-0.6.0/blends/syntax/readers/java/if_statement.py +32 -0
  352. fluid_blends-0.6.0/blends/syntax/readers/java/import_declaration.py +30 -0
  353. fluid_blends-0.6.0/blends/syntax/readers/java/instanceof_expression.py +22 -0
  354. fluid_blends-0.6.0/blends/syntax/readers/java/interface_declaration.py +20 -0
  355. fluid_blends-0.6.0/blends/syntax/readers/java/lambda_expression.py +17 -0
  356. fluid_blends-0.6.0/blends/syntax/readers/java/method_declaration.py +57 -0
  357. fluid_blends-0.6.0/blends/syntax/readers/java/method_invocation.py +35 -0
  358. fluid_blends-0.6.0/blends/syntax/readers/java/modifiers.py +22 -0
  359. fluid_blends-0.6.0/blends/syntax/readers/java/null_literal.py +14 -0
  360. fluid_blends-0.6.0/blends/syntax/readers/java/number_literal.py +14 -0
  361. fluid_blends-0.6.0/blends/syntax/readers/java/object_creation_expression.py +28 -0
  362. fluid_blends-0.6.0/blends/syntax/readers/java/package_declaration.py +26 -0
  363. fluid_blends-0.6.0/blends/syntax/readers/java/parameter.py +35 -0
  364. fluid_blends-0.6.0/blends/syntax/readers/java/parameter_list.py +27 -0
  365. fluid_blends-0.6.0/blends/syntax/readers/java/parenthesized_expression.py +21 -0
  366. fluid_blends-0.6.0/blends/syntax/readers/java/program.py +17 -0
  367. fluid_blends-0.6.0/blends/syntax/readers/java/resource_node.py +24 -0
  368. fluid_blends-0.6.0/blends/syntax/readers/java/return_statement.py +21 -0
  369. fluid_blends-0.6.0/blends/syntax/readers/java/string_literal.py +19 -0
  370. fluid_blends-0.6.0/blends/syntax/readers/java/switch_body.py +18 -0
  371. fluid_blends-0.6.0/blends/syntax/readers/java/switch_section.py +39 -0
  372. fluid_blends-0.6.0/blends/syntax/readers/java/switch_statement.py +23 -0
  373. fluid_blends-0.6.0/blends/syntax/readers/java/ternary_expression.py +17 -0
  374. fluid_blends-0.6.0/blends/syntax/readers/java/this_node.py +16 -0
  375. fluid_blends-0.6.0/blends/syntax/readers/java/throw_statement.py +17 -0
  376. fluid_blends-0.6.0/blends/syntax/readers/java/try_statement.py +31 -0
  377. fluid_blends-0.6.0/blends/syntax/readers/java/unary_expression.py +16 -0
  378. fluid_blends-0.6.0/blends/syntax/readers/java/update_expression.py +21 -0
  379. fluid_blends-0.6.0/blends/syntax/readers/java/variable_declaration.py +32 -0
  380. fluid_blends-0.6.0/blends/syntax/readers/java/variable_declarator.py +19 -0
  381. fluid_blends-0.6.0/blends/syntax/readers/java/while_statement.py +31 -0
  382. fluid_blends-0.6.0/blends/syntax/readers/javascript/__init__.py +0 -0
  383. fluid_blends-0.6.0/blends/syntax/readers/javascript/arguments.py +19 -0
  384. fluid_blends-0.6.0/blends/syntax/readers/javascript/array_node.py +36 -0
  385. fluid_blends-0.6.0/blends/syntax/readers/javascript/arrow_function.py +20 -0
  386. fluid_blends-0.6.0/blends/syntax/readers/javascript/assignment_expression.py +24 -0
  387. fluid_blends-0.6.0/blends/syntax/readers/javascript/await_expression.py +21 -0
  388. fluid_blends-0.6.0/blends/syntax/readers/javascript/binary_expression.py +17 -0
  389. fluid_blends-0.6.0/blends/syntax/readers/javascript/boolean_literal.py +15 -0
  390. fluid_blends-0.6.0/blends/syntax/readers/javascript/break_statement.py +14 -0
  391. fluid_blends-0.6.0/blends/syntax/readers/javascript/call_expression.py +27 -0
  392. fluid_blends-0.6.0/blends/syntax/readers/javascript/catch_clause.py +16 -0
  393. fluid_blends-0.6.0/blends/syntax/readers/javascript/class_body.py +17 -0
  394. fluid_blends-0.6.0/blends/syntax/readers/javascript/class_declaration.py +21 -0
  395. fluid_blends-0.6.0/blends/syntax/readers/javascript/comment.py +22 -0
  396. fluid_blends-0.6.0/blends/syntax/readers/javascript/debugger_statement.py +14 -0
  397. fluid_blends-0.6.0/blends/syntax/readers/javascript/do_statement.py +23 -0
  398. fluid_blends-0.6.0/blends/syntax/readers/javascript/else_clause.py +30 -0
  399. fluid_blends-0.6.0/blends/syntax/readers/javascript/execution_block.py +17 -0
  400. fluid_blends-0.6.0/blends/syntax/readers/javascript/export_statement.py +27 -0
  401. fluid_blends-0.6.0/blends/syntax/readers/javascript/expression_statement.py +24 -0
  402. fluid_blends-0.6.0/blends/syntax/readers/javascript/finally_clause.py +17 -0
  403. fluid_blends-0.6.0/blends/syntax/readers/javascript/for_each_statement.py +27 -0
  404. fluid_blends-0.6.0/blends/syntax/readers/javascript/for_statement.py +35 -0
  405. fluid_blends-0.6.0/blends/syntax/readers/javascript/identifier.py +17 -0
  406. fluid_blends-0.6.0/blends/syntax/readers/javascript/if_statement.py +28 -0
  407. fluid_blends-0.6.0/blends/syntax/readers/javascript/import_global.py +81 -0
  408. fluid_blends-0.6.0/blends/syntax/readers/javascript/import_module.py +42 -0
  409. fluid_blends-0.6.0/blends/syntax/readers/javascript/import_node.py +16 -0
  410. fluid_blends-0.6.0/blends/syntax/readers/javascript/jsx_attribute.py +28 -0
  411. fluid_blends-0.6.0/blends/syntax/readers/javascript/jsx_element.py +44 -0
  412. fluid_blends-0.6.0/blends/syntax/readers/javascript/jsx_self_closing_element.py +20 -0
  413. fluid_blends-0.6.0/blends/syntax/readers/javascript/lexical_declaration.py +17 -0
  414. fluid_blends-0.6.0/blends/syntax/readers/javascript/member_expression.py +22 -0
  415. fluid_blends-0.6.0/blends/syntax/readers/javascript/method_declaration.py +36 -0
  416. fluid_blends-0.6.0/blends/syntax/readers/javascript/nested_identifier.py +24 -0
  417. fluid_blends-0.6.0/blends/syntax/readers/javascript/new_expression.py +19 -0
  418. fluid_blends-0.6.0/blends/syntax/readers/javascript/null_literal.py +14 -0
  419. fluid_blends-0.6.0/blends/syntax/readers/javascript/number_literal.py +14 -0
  420. fluid_blends-0.6.0/blends/syntax/readers/javascript/object.py +29 -0
  421. fluid_blends-0.6.0/blends/syntax/readers/javascript/pair.py +24 -0
  422. fluid_blends-0.6.0/blends/syntax/readers/javascript/parameter_list.py +22 -0
  423. fluid_blends-0.6.0/blends/syntax/readers/javascript/parenthesized_expression.py +20 -0
  424. fluid_blends-0.6.0/blends/syntax/readers/javascript/program.py +21 -0
  425. fluid_blends-0.6.0/blends/syntax/readers/javascript/rest_pattern.py +21 -0
  426. fluid_blends-0.6.0/blends/syntax/readers/javascript/return_statement.py +20 -0
  427. fluid_blends-0.6.0/blends/syntax/readers/javascript/spread_element.py +21 -0
  428. fluid_blends-0.6.0/blends/syntax/readers/javascript/string_literal.py +18 -0
  429. fluid_blends-0.6.0/blends/syntax/readers/javascript/subscript_expression.py +16 -0
  430. fluid_blends-0.6.0/blends/syntax/readers/javascript/switch_body.py +23 -0
  431. fluid_blends-0.6.0/blends/syntax/readers/javascript/switch_section.py +33 -0
  432. fluid_blends-0.6.0/blends/syntax/readers/javascript/switch_statement.py +15 -0
  433. fluid_blends-0.6.0/blends/syntax/readers/javascript/template_string.py +27 -0
  434. fluid_blends-0.6.0/blends/syntax/readers/javascript/ternary_expression.py +17 -0
  435. fluid_blends-0.6.0/blends/syntax/readers/javascript/this_node.py +16 -0
  436. fluid_blends-0.6.0/blends/syntax/readers/javascript/throw_statement.py +17 -0
  437. fluid_blends-0.6.0/blends/syntax/readers/javascript/try_statement.py +21 -0
  438. fluid_blends-0.6.0/blends/syntax/readers/javascript/unary_expression.py +17 -0
  439. fluid_blends-0.6.0/blends/syntax/readers/javascript/update_expression.py +21 -0
  440. fluid_blends-0.6.0/blends/syntax/readers/javascript/variable_declaration.py +32 -0
  441. fluid_blends-0.6.0/blends/syntax/readers/javascript/variable_declarator.py +21 -0
  442. fluid_blends-0.6.0/blends/syntax/readers/javascript/while_statement.py +33 -0
  443. fluid_blends-0.6.0/blends/syntax/readers/javascript/yield_expression.py +14 -0
  444. fluid_blends-0.6.0/blends/syntax/readers/json/__init__.py +0 -0
  445. fluid_blends-0.6.0/blends/syntax/readers/json/array_node.py +36 -0
  446. fluid_blends-0.6.0/blends/syntax/readers/json/boolean.py +15 -0
  447. fluid_blends-0.6.0/blends/syntax/readers/json/comment.py +22 -0
  448. fluid_blends-0.6.0/blends/syntax/readers/json/document.py +18 -0
  449. fluid_blends-0.6.0/blends/syntax/readers/json/number.py +14 -0
  450. fluid_blends-0.6.0/blends/syntax/readers/json/object.py +25 -0
  451. fluid_blends-0.6.0/blends/syntax/readers/json/pair.py +15 -0
  452. fluid_blends-0.6.0/blends/syntax/readers/json/string_node.py +27 -0
  453. fluid_blends-0.6.0/blends/syntax/readers/kotlin/__init__.py +0 -0
  454. fluid_blends-0.6.0/blends/syntax/readers/kotlin/annotation.py +32 -0
  455. fluid_blends-0.6.0/blends/syntax/readers/kotlin/argument_list.py +24 -0
  456. fluid_blends-0.6.0/blends/syntax/readers/kotlin/assignment_expression.py +31 -0
  457. fluid_blends-0.6.0/blends/syntax/readers/kotlin/binary_expression.py +27 -0
  458. fluid_blends-0.6.0/blends/syntax/readers/kotlin/catch_clause.py +19 -0
  459. fluid_blends-0.6.0/blends/syntax/readers/kotlin/class_body.py +18 -0
  460. fluid_blends-0.6.0/blends/syntax/readers/kotlin/class_declaration.py +35 -0
  461. fluid_blends-0.6.0/blends/syntax/readers/kotlin/comment.py +22 -0
  462. fluid_blends-0.6.0/blends/syntax/readers/kotlin/companion_object.py +33 -0
  463. fluid_blends-0.6.0/blends/syntax/readers/kotlin/expression_statement.py +17 -0
  464. fluid_blends-0.6.0/blends/syntax/readers/kotlin/finally_clause.py +18 -0
  465. fluid_blends-0.6.0/blends/syntax/readers/kotlin/for_statement.py +35 -0
  466. fluid_blends-0.6.0/blends/syntax/readers/kotlin/identifier.py +26 -0
  467. fluid_blends-0.6.0/blends/syntax/readers/kotlin/if_statement.py +31 -0
  468. fluid_blends-0.6.0/blends/syntax/readers/kotlin/import_declaration.py +42 -0
  469. fluid_blends-0.6.0/blends/syntax/readers/kotlin/index_expression.py +20 -0
  470. fluid_blends-0.6.0/blends/syntax/readers/kotlin/infix_expression.py +36 -0
  471. fluid_blends-0.6.0/blends/syntax/readers/kotlin/jump_statement.py +26 -0
  472. fluid_blends-0.6.0/blends/syntax/readers/kotlin/member_access_expression.py +40 -0
  473. fluid_blends-0.6.0/blends/syntax/readers/kotlin/method_declaration.py +53 -0
  474. fluid_blends-0.6.0/blends/syntax/readers/kotlin/method_invocation.py +36 -0
  475. fluid_blends-0.6.0/blends/syntax/readers/kotlin/modifiers.py +18 -0
  476. fluid_blends-0.6.0/blends/syntax/readers/kotlin/number_literal.py +19 -0
  477. fluid_blends-0.6.0/blends/syntax/readers/kotlin/object.py +33 -0
  478. fluid_blends-0.6.0/blends/syntax/readers/kotlin/parameter.py +46 -0
  479. fluid_blends-0.6.0/blends/syntax/readers/kotlin/parameter_list.py +18 -0
  480. fluid_blends-0.6.0/blends/syntax/readers/kotlin/parenthesized_expression.py +17 -0
  481. fluid_blends-0.6.0/blends/syntax/readers/kotlin/reserved_word.py +16 -0
  482. fluid_blends-0.6.0/blends/syntax/readers/kotlin/source_file.py +25 -0
  483. fluid_blends-0.6.0/blends/syntax/readers/kotlin/statement_block.py +29 -0
  484. fluid_blends-0.6.0/blends/syntax/readers/kotlin/statements.py +18 -0
  485. fluid_blends-0.6.0/blends/syntax/readers/kotlin/string_content.py +22 -0
  486. fluid_blends-0.6.0/blends/syntax/readers/kotlin/string_literal.py +44 -0
  487. fluid_blends-0.6.0/blends/syntax/readers/kotlin/try_statement.py +26 -0
  488. fluid_blends-0.6.0/blends/syntax/readers/kotlin/unary_expression.py +17 -0
  489. fluid_blends-0.6.0/blends/syntax/readers/kotlin/variable_declaration.py +42 -0
  490. fluid_blends-0.6.0/blends/syntax/readers/kotlin/when_entry.py +24 -0
  491. fluid_blends-0.6.0/blends/syntax/readers/kotlin/when_expression.py +18 -0
  492. fluid_blends-0.6.0/blends/syntax/readers/kotlin/while_statement.py +21 -0
  493. fluid_blends-0.6.0/blends/syntax/readers/php/__init__.py +0 -0
  494. fluid_blends-0.6.0/blends/syntax/readers/php/anon_method_declaration.py +25 -0
  495. fluid_blends-0.6.0/blends/syntax/readers/php/argument_list.py +36 -0
  496. fluid_blends-0.6.0/blends/syntax/readers/php/array_creation.py +32 -0
  497. fluid_blends-0.6.0/blends/syntax/readers/php/arrow.py +25 -0
  498. fluid_blends-0.6.0/blends/syntax/readers/php/assignment.py +39 -0
  499. fluid_blends-0.6.0/blends/syntax/readers/php/binary_expression.py +30 -0
  500. fluid_blends-0.6.0/blends/syntax/readers/php/boolean_literal.py +15 -0
  501. fluid_blends-0.6.0/blends/syntax/readers/php/break_statement.py +14 -0
  502. fluid_blends-0.6.0/blends/syntax/readers/php/case_statement.py +39 -0
  503. fluid_blends-0.6.0/blends/syntax/readers/php/catch_clause.py +17 -0
  504. fluid_blends-0.6.0/blends/syntax/readers/php/class_declaration.py +18 -0
  505. fluid_blends-0.6.0/blends/syntax/readers/php/comment.py +22 -0
  506. fluid_blends-0.6.0/blends/syntax/readers/php/const_declaration.py +30 -0
  507. fluid_blends-0.6.0/blends/syntax/readers/php/constant_access.py +27 -0
  508. fluid_blends-0.6.0/blends/syntax/readers/php/continue_statement.py +14 -0
  509. fluid_blends-0.6.0/blends/syntax/readers/php/default_statement.py +28 -0
  510. fluid_blends-0.6.0/blends/syntax/readers/php/echo_arguments.py +43 -0
  511. fluid_blends-0.6.0/blends/syntax/readers/php/execution_block.py +25 -0
  512. fluid_blends-0.6.0/blends/syntax/readers/php/expression_statement.py +21 -0
  513. fluid_blends-0.6.0/blends/syntax/readers/php/for_each_statement.py +29 -0
  514. fluid_blends-0.6.0/blends/syntax/readers/php/for_statement.py +35 -0
  515. fluid_blends-0.6.0/blends/syntax/readers/php/identifier.py +24 -0
  516. fluid_blends-0.6.0/blends/syntax/readers/php/if_statement.py +52 -0
  517. fluid_blends-0.6.0/blends/syntax/readers/php/import_statement.py +37 -0
  518. fluid_blends-0.6.0/blends/syntax/readers/php/inner_use_import.py +28 -0
  519. fluid_blends-0.6.0/blends/syntax/readers/php/member_access.py +28 -0
  520. fluid_blends-0.6.0/blends/syntax/readers/php/method_declaration.py +27 -0
  521. fluid_blends-0.6.0/blends/syntax/readers/php/method_invocation.py +50 -0
  522. fluid_blends-0.6.0/blends/syntax/readers/php/namespace_definition.py +24 -0
  523. fluid_blends-0.6.0/blends/syntax/readers/php/number_literal.py +14 -0
  524. fluid_blends-0.6.0/blends/syntax/readers/php/object_creation.py +32 -0
  525. fluid_blends-0.6.0/blends/syntax/readers/php/pair.py +19 -0
  526. fluid_blends-0.6.0/blends/syntax/readers/php/parameter.py +30 -0
  527. fluid_blends-0.6.0/blends/syntax/readers/php/parameter_list.py +28 -0
  528. fluid_blends-0.6.0/blends/syntax/readers/php/print_statement.py +39 -0
  529. fluid_blends-0.6.0/blends/syntax/readers/php/program.py +36 -0
  530. fluid_blends-0.6.0/blends/syntax/readers/php/property_access.py +39 -0
  531. fluid_blends-0.6.0/blends/syntax/readers/php/reserved_word.py +16 -0
  532. fluid_blends-0.6.0/blends/syntax/readers/php/return_statement.py +27 -0
  533. fluid_blends-0.6.0/blends/syntax/readers/php/scoped_invocation.py +42 -0
  534. fluid_blends-0.6.0/blends/syntax/readers/php/string_literal.py +28 -0
  535. fluid_blends-0.6.0/blends/syntax/readers/php/subscript.py +25 -0
  536. fluid_blends-0.6.0/blends/syntax/readers/php/switch_block.py +27 -0
  537. fluid_blends-0.6.0/blends/syntax/readers/php/switch_statement.py +26 -0
  538. fluid_blends-0.6.0/blends/syntax/readers/php/text_interpolation.py +25 -0
  539. fluid_blends-0.6.0/blends/syntax/readers/php/throw_statement.py +18 -0
  540. fluid_blends-0.6.0/blends/syntax/readers/php/try_statement.py +20 -0
  541. fluid_blends-0.6.0/blends/syntax/readers/php/unary_op_expression.py +22 -0
  542. fluid_blends-0.6.0/blends/syntax/readers/php/update_expression.py +41 -0
  543. fluid_blends-0.6.0/blends/syntax/readers/php/use_import.py +33 -0
  544. fluid_blends-0.6.0/blends/syntax/readers/php/variable_declaration.py +45 -0
  545. fluid_blends-0.6.0/blends/syntax/readers/php/variable_name.py +41 -0
  546. fluid_blends-0.6.0/blends/syntax/readers/php/while_statement.py +25 -0
  547. fluid_blends-0.6.0/blends/syntax/readers/python/__init__.py +0 -0
  548. fluid_blends-0.6.0/blends/syntax/readers/python/argument.py +33 -0
  549. fluid_blends-0.6.0/blends/syntax/readers/python/argument_list.py +33 -0
  550. fluid_blends-0.6.0/blends/syntax/readers/python/array_node.py +37 -0
  551. fluid_blends-0.6.0/blends/syntax/readers/python/as_pattern.py +20 -0
  552. fluid_blends-0.6.0/blends/syntax/readers/python/assert_statement.py +31 -0
  553. fluid_blends-0.6.0/blends/syntax/readers/python/assignment.py +32 -0
  554. fluid_blends-0.6.0/blends/syntax/readers/python/attribute.py +20 -0
  555. fluid_blends-0.6.0/blends/syntax/readers/python/await_expression.py +21 -0
  556. fluid_blends-0.6.0/blends/syntax/readers/python/binary_expression.py +37 -0
  557. fluid_blends-0.6.0/blends/syntax/readers/python/boolean_literal.py +15 -0
  558. fluid_blends-0.6.0/blends/syntax/readers/python/break_statement.py +14 -0
  559. fluid_blends-0.6.0/blends/syntax/readers/python/call.py +23 -0
  560. fluid_blends-0.6.0/blends/syntax/readers/python/class_definition.py +21 -0
  561. fluid_blends-0.6.0/blends/syntax/readers/python/comment.py +22 -0
  562. fluid_blends-0.6.0/blends/syntax/readers/python/comprehension.py +24 -0
  563. fluid_blends-0.6.0/blends/syntax/readers/python/conditional_expression.py +24 -0
  564. fluid_blends-0.6.0/blends/syntax/readers/python/continue_statement.py +14 -0
  565. fluid_blends-0.6.0/blends/syntax/readers/python/decorated_definition.py +51 -0
  566. fluid_blends-0.6.0/blends/syntax/readers/python/decorator.py +20 -0
  567. fluid_blends-0.6.0/blends/syntax/readers/python/dictionary.py +24 -0
  568. fluid_blends-0.6.0/blends/syntax/readers/python/dictionary_splat.py +19 -0
  569. fluid_blends-0.6.0/blends/syntax/readers/python/else_clause.py +17 -0
  570. fluid_blends-0.6.0/blends/syntax/readers/python/except_clause.py +18 -0
  571. fluid_blends-0.6.0/blends/syntax/readers/python/execution_block.py +17 -0
  572. fluid_blends-0.6.0/blends/syntax/readers/python/expression_statement.py +19 -0
  573. fluid_blends-0.6.0/blends/syntax/readers/python/finally_clause.py +18 -0
  574. fluid_blends-0.6.0/blends/syntax/readers/python/for_in_clause.py +18 -0
  575. fluid_blends-0.6.0/blends/syntax/readers/python/for_statement.py +19 -0
  576. fluid_blends-0.6.0/blends/syntax/readers/python/function_definition.py +34 -0
  577. fluid_blends-0.6.0/blends/syntax/readers/python/generator_expression.py +27 -0
  578. fluid_blends-0.6.0/blends/syntax/readers/python/identifier.py +14 -0
  579. fluid_blends-0.6.0/blends/syntax/readers/python/if_clause.py +17 -0
  580. fluid_blends-0.6.0/blends/syntax/readers/python/if_statement.py +19 -0
  581. fluid_blends-0.6.0/blends/syntax/readers/python/import_global.py +35 -0
  582. fluid_blends-0.6.0/blends/syntax/readers/python/module.py +40 -0
  583. fluid_blends-0.6.0/blends/syntax/readers/python/named_expression.py +16 -0
  584. fluid_blends-0.6.0/blends/syntax/readers/python/not_operator.py +15 -0
  585. fluid_blends-0.6.0/blends/syntax/readers/python/number_literal.py +14 -0
  586. fluid_blends-0.6.0/blends/syntax/readers/python/pair.py +15 -0
  587. fluid_blends-0.6.0/blends/syntax/readers/python/parameter.py +37 -0
  588. fluid_blends-0.6.0/blends/syntax/readers/python/parameters.py +24 -0
  589. fluid_blends-0.6.0/blends/syntax/readers/python/parenthesized_expression.py +21 -0
  590. fluid_blends-0.6.0/blends/syntax/readers/python/raise_statement.py +18 -0
  591. fluid_blends-0.6.0/blends/syntax/readers/python/reserved_word.py +16 -0
  592. fluid_blends-0.6.0/blends/syntax/readers/python/return_statement.py +19 -0
  593. fluid_blends-0.6.0/blends/syntax/readers/python/splat_pattern.py +21 -0
  594. fluid_blends-0.6.0/blends/syntax/readers/python/string_literal.py +28 -0
  595. fluid_blends-0.6.0/blends/syntax/readers/python/subscript.py +16 -0
  596. fluid_blends-0.6.0/blends/syntax/readers/python/try_statement.py +20 -0
  597. fluid_blends-0.6.0/blends/syntax/readers/python/using_statement.py +28 -0
  598. fluid_blends-0.6.0/blends/syntax/readers/python/while_statement.py +18 -0
  599. fluid_blends-0.6.0/blends/syntax/readers/ruby/__init__.py +0 -0
  600. fluid_blends-0.6.0/blends/syntax/readers/ruby/argument_list.py +28 -0
  601. fluid_blends-0.6.0/blends/syntax/readers/ruby/array_node.py +35 -0
  602. fluid_blends-0.6.0/blends/syntax/readers/ruby/assignment.py +36 -0
  603. fluid_blends-0.6.0/blends/syntax/readers/ruby/begin.py +33 -0
  604. fluid_blends-0.6.0/blends/syntax/readers/ruby/binary_expression.py +23 -0
  605. fluid_blends-0.6.0/blends/syntax/readers/ruby/boolean_literal.py +17 -0
  606. fluid_blends-0.6.0/blends/syntax/readers/ruby/call.py +71 -0
  607. fluid_blends-0.6.0/blends/syntax/readers/ruby/catch_declaration.py +17 -0
  608. fluid_blends-0.6.0/blends/syntax/readers/ruby/class_definition.py +32 -0
  609. fluid_blends-0.6.0/blends/syntax/readers/ruby/comment.py +22 -0
  610. fluid_blends-0.6.0/blends/syntax/readers/ruby/element_reference.py +29 -0
  611. fluid_blends-0.6.0/blends/syntax/readers/ruby/exception_variable.py +24 -0
  612. fluid_blends-0.6.0/blends/syntax/readers/ruby/execution_block.py +24 -0
  613. fluid_blends-0.6.0/blends/syntax/readers/ruby/for_statement.py +19 -0
  614. fluid_blends-0.6.0/blends/syntax/readers/ruby/hash.py +25 -0
  615. fluid_blends-0.6.0/blends/syntax/readers/ruby/identifier.py +17 -0
  616. fluid_blends-0.6.0/blends/syntax/readers/ruby/if_conditional.py +23 -0
  617. fluid_blends-0.6.0/blends/syntax/readers/ruby/if_modifier.py +18 -0
  618. fluid_blends-0.6.0/blends/syntax/readers/ruby/integer.py +14 -0
  619. fluid_blends-0.6.0/blends/syntax/readers/ruby/method_declaration.py +37 -0
  620. fluid_blends-0.6.0/blends/syntax/readers/ruby/method_parameters.py +28 -0
  621. fluid_blends-0.6.0/blends/syntax/readers/ruby/module_definition.py +23 -0
  622. fluid_blends-0.6.0/blends/syntax/readers/ruby/pair.py +35 -0
  623. fluid_blends-0.6.0/blends/syntax/readers/ruby/parameter.py +33 -0
  624. fluid_blends-0.6.0/blends/syntax/readers/ruby/parameters.py +28 -0
  625. fluid_blends-0.6.0/blends/syntax/readers/ruby/program.py +17 -0
  626. fluid_blends-0.6.0/blends/syntax/readers/ruby/return_statement.py +19 -0
  627. fluid_blends-0.6.0/blends/syntax/readers/ruby/scope_resolution.py +24 -0
  628. fluid_blends-0.6.0/blends/syntax/readers/ruby/string_content.py +23 -0
  629. fluid_blends-0.6.0/blends/syntax/readers/ruby/string_literal.py +35 -0
  630. fluid_blends-0.6.0/blends/syntax/readers/ruby/subshell.py +20 -0
  631. fluid_blends-0.6.0/blends/syntax/readers/ruby/try_statement.py +19 -0
  632. fluid_blends-0.6.0/blends/syntax/readers/ruby/unless.py +24 -0
  633. fluid_blends-0.6.0/blends/syntax/readers/ruby/while_statement.py +18 -0
  634. fluid_blends-0.6.0/blends/syntax/readers/scala/__init__.py +0 -0
  635. fluid_blends-0.6.0/blends/syntax/readers/scala/annotation.py +19 -0
  636. fluid_blends-0.6.0/blends/syntax/readers/scala/argument_list.py +30 -0
  637. fluid_blends-0.6.0/blends/syntax/readers/scala/array_node.py +37 -0
  638. fluid_blends-0.6.0/blends/syntax/readers/scala/assignment.py +32 -0
  639. fluid_blends-0.6.0/blends/syntax/readers/scala/binary_expression.py +35 -0
  640. fluid_blends-0.6.0/blends/syntax/readers/scala/boolean_literal.py +17 -0
  641. fluid_blends-0.6.0/blends/syntax/readers/scala/call_expression.py +35 -0
  642. fluid_blends-0.6.0/blends/syntax/readers/scala/catch_declaration.py +17 -0
  643. fluid_blends-0.6.0/blends/syntax/readers/scala/class_definition.py +34 -0
  644. fluid_blends-0.6.0/blends/syntax/readers/scala/comment.py +22 -0
  645. fluid_blends-0.6.0/blends/syntax/readers/scala/conditional_expression.py +24 -0
  646. fluid_blends-0.6.0/blends/syntax/readers/scala/do_statement.py +23 -0
  647. fluid_blends-0.6.0/blends/syntax/readers/scala/except_clause.py +18 -0
  648. fluid_blends-0.6.0/blends/syntax/readers/scala/execution_block.py +24 -0
  649. fluid_blends-0.6.0/blends/syntax/readers/scala/field_expression.py +23 -0
  650. fluid_blends-0.6.0/blends/syntax/readers/scala/finally_clause.py +18 -0
  651. fluid_blends-0.6.0/blends/syntax/readers/scala/for_statement.py +30 -0
  652. fluid_blends-0.6.0/blends/syntax/readers/scala/identifier.py +23 -0
  653. fluid_blends-0.6.0/blends/syntax/readers/scala/import_global.py +39 -0
  654. fluid_blends-0.6.0/blends/syntax/readers/scala/instanceof_expression.py +28 -0
  655. fluid_blends-0.6.0/blends/syntax/readers/scala/interface_declaration.py +20 -0
  656. fluid_blends-0.6.0/blends/syntax/readers/scala/lambda_expression.py +27 -0
  657. fluid_blends-0.6.0/blends/syntax/readers/scala/method_declaration.py +33 -0
  658. fluid_blends-0.6.0/blends/syntax/readers/scala/method_parameters.py +28 -0
  659. fluid_blends-0.6.0/blends/syntax/readers/scala/number_literal.py +14 -0
  660. fluid_blends-0.6.0/blends/syntax/readers/scala/object_creation_expression.py +32 -0
  661. fluid_blends-0.6.0/blends/syntax/readers/scala/package_declaration.py +24 -0
  662. fluid_blends-0.6.0/blends/syntax/readers/scala/parameter.py +40 -0
  663. fluid_blends-0.6.0/blends/syntax/readers/scala/parameter_list.py +25 -0
  664. fluid_blends-0.6.0/blends/syntax/readers/scala/parenthesized_expression.py +21 -0
  665. fluid_blends-0.6.0/blends/syntax/readers/scala/program.py +17 -0
  666. fluid_blends-0.6.0/blends/syntax/readers/scala/property_declaration.py +16 -0
  667. fluid_blends-0.6.0/blends/syntax/readers/scala/return_statement.py +18 -0
  668. fluid_blends-0.6.0/blends/syntax/readers/scala/string_literal.py +26 -0
  669. fluid_blends-0.6.0/blends/syntax/readers/scala/switch_section.py +25 -0
  670. fluid_blends-0.6.0/blends/syntax/readers/scala/switch_statement.py +17 -0
  671. fluid_blends-0.6.0/blends/syntax/readers/scala/throw_statement.py +17 -0
  672. fluid_blends-0.6.0/blends/syntax/readers/scala/try_statement.py +30 -0
  673. fluid_blends-0.6.0/blends/syntax/readers/scala/variable_declaration.py +33 -0
  674. fluid_blends-0.6.0/blends/syntax/readers/scala/while_statement.py +18 -0
  675. fluid_blends-0.6.0/blends/syntax/readers/swift/__init__.py +0 -0
  676. fluid_blends-0.6.0/blends/syntax/readers/swift/array_node.py +38 -0
  677. fluid_blends-0.6.0/blends/syntax/readers/swift/as_expression.py +14 -0
  678. fluid_blends-0.6.0/blends/syntax/readers/swift/assignment.py +33 -0
  679. fluid_blends-0.6.0/blends/syntax/readers/swift/availability_condition.py +18 -0
  680. fluid_blends-0.6.0/blends/syntax/readers/swift/await_expression.py +21 -0
  681. fluid_blends-0.6.0/blends/syntax/readers/swift/binary_expression.py +17 -0
  682. fluid_blends-0.6.0/blends/syntax/readers/swift/boolean_literal.py +21 -0
  683. fluid_blends-0.6.0/blends/syntax/readers/swift/call_expression.py +34 -0
  684. fluid_blends-0.6.0/blends/syntax/readers/swift/call_suffix.py +26 -0
  685. fluid_blends-0.6.0/blends/syntax/readers/swift/class_body.py +17 -0
  686. fluid_blends-0.6.0/blends/syntax/readers/swift/class_declaration.py +21 -0
  687. fluid_blends-0.6.0/blends/syntax/readers/swift/comment.py +22 -0
  688. fluid_blends-0.6.0/blends/syntax/readers/swift/control_transfer.py +14 -0
  689. fluid_blends-0.6.0/blends/syntax/readers/swift/dictionary_literal.py +14 -0
  690. fluid_blends-0.6.0/blends/syntax/readers/swift/do_statement.py +27 -0
  691. fluid_blends-0.6.0/blends/syntax/readers/swift/enum_entry.py +21 -0
  692. fluid_blends-0.6.0/blends/syntax/readers/swift/expression_statement.py +21 -0
  693. fluid_blends-0.6.0/blends/syntax/readers/swift/for_statement.py +29 -0
  694. fluid_blends-0.6.0/blends/syntax/readers/swift/function_body.py +26 -0
  695. fluid_blends-0.6.0/blends/syntax/readers/swift/function_declaration.py +30 -0
  696. fluid_blends-0.6.0/blends/syntax/readers/swift/identifier.py +17 -0
  697. fluid_blends-0.6.0/blends/syntax/readers/swift/if_nil_expression.py +17 -0
  698. fluid_blends-0.6.0/blends/syntax/readers/swift/if_statement.py +54 -0
  699. fluid_blends-0.6.0/blends/syntax/readers/swift/import_statement.py +23 -0
  700. fluid_blends-0.6.0/blends/syntax/readers/swift/integer_literal.py +14 -0
  701. fluid_blends-0.6.0/blends/syntax/readers/swift/lambda_function.py +28 -0
  702. fluid_blends-0.6.0/blends/syntax/readers/swift/navigation_expression.py +25 -0
  703. fluid_blends-0.6.0/blends/syntax/readers/swift/navigation_suffix.py +19 -0
  704. fluid_blends-0.6.0/blends/syntax/readers/swift/nil.py +14 -0
  705. fluid_blends-0.6.0/blends/syntax/readers/swift/parameter.py +25 -0
  706. fluid_blends-0.6.0/blends/syntax/readers/swift/prefix_expression.py +17 -0
  707. fluid_blends-0.6.0/blends/syntax/readers/swift/property_declaration.py +26 -0
  708. fluid_blends-0.6.0/blends/syntax/readers/swift/reserved_word.py +16 -0
  709. fluid_blends-0.6.0/blends/syntax/readers/swift/source_file.py +18 -0
  710. fluid_blends-0.6.0/blends/syntax/readers/swift/statements.py +17 -0
  711. fluid_blends-0.6.0/blends/syntax/readers/swift/string_literal.py +32 -0
  712. fluid_blends-0.6.0/blends/syntax/readers/swift/switch_entry.py +31 -0
  713. fluid_blends-0.6.0/blends/syntax/readers/swift/switch_statement.py +18 -0
  714. fluid_blends-0.6.0/blends/syntax/readers/swift/ternary_expression.py +17 -0
  715. fluid_blends-0.6.0/blends/syntax/readers/swift/try_expression.py +20 -0
  716. fluid_blends-0.6.0/blends/syntax/readers/swift/update_expression.py +29 -0
  717. fluid_blends-0.6.0/blends/syntax/readers/swift/value_argument.py +33 -0
  718. fluid_blends-0.6.0/blends/syntax/readers/swift/value_arguments.py +33 -0
  719. fluid_blends-0.6.0/blends/syntax/readers/swift/while_statement.py +27 -0
  720. fluid_blends-0.6.0/blends/syntax/readers/typescript/__init__.py +0 -0
  721. fluid_blends-0.6.0/blends/syntax/readers/typescript/ambient_declaration.py +19 -0
  722. fluid_blends-0.6.0/blends/syntax/readers/typescript/arrow_function.py +24 -0
  723. fluid_blends-0.6.0/blends/syntax/readers/typescript/as_expression.py +23 -0
  724. fluid_blends-0.6.0/blends/syntax/readers/typescript/class_body.py +22 -0
  725. fluid_blends-0.6.0/blends/syntax/readers/typescript/empty_statement.py +16 -0
  726. fluid_blends-0.6.0/blends/syntax/readers/typescript/enum_assignment.py +25 -0
  727. fluid_blends-0.6.0/blends/syntax/readers/typescript/enum_body.py +25 -0
  728. fluid_blends-0.6.0/blends/syntax/readers/typescript/enum_declaration.py +19 -0
  729. fluid_blends-0.6.0/blends/syntax/readers/typescript/function_signature.py +32 -0
  730. fluid_blends-0.6.0/blends/syntax/readers/typescript/function_type.py +23 -0
  731. fluid_blends-0.6.0/blends/syntax/readers/typescript/generic_type.py +25 -0
  732. fluid_blends-0.6.0/blends/syntax/readers/typescript/index_signature.py +25 -0
  733. fluid_blends-0.6.0/blends/syntax/readers/typescript/interface_declaration.py +26 -0
  734. fluid_blends-0.6.0/blends/syntax/readers/typescript/internal_module.py +24 -0
  735. fluid_blends-0.6.0/blends/syntax/readers/typescript/intersection_type.py +23 -0
  736. fluid_blends-0.6.0/blends/syntax/readers/typescript/parenthesized_type.py +20 -0
  737. fluid_blends-0.6.0/blends/syntax/readers/typescript/predefined_type.py +17 -0
  738. fluid_blends-0.6.0/blends/syntax/readers/typescript/property_signature.py +34 -0
  739. fluid_blends-0.6.0/blends/syntax/readers/typescript/public_field_definition.py +19 -0
  740. fluid_blends-0.6.0/blends/syntax/readers/typescript/required_parameter.py +72 -0
  741. fluid_blends-0.6.0/blends/syntax/readers/typescript/ternary_expression.py +17 -0
  742. fluid_blends-0.6.0/blends/syntax/readers/typescript/tuple_type.py +30 -0
  743. fluid_blends-0.6.0/blends/syntax/readers/typescript/type_alias_declaration.py +25 -0
  744. fluid_blends-0.6.0/blends/syntax/readers/typescript/type_annotation.py +20 -0
  745. fluid_blends-0.6.0/blends/syntax/readers/typescript/union_type.py +22 -0
  746. fluid_blends-0.6.0/blends/syntax/readers/typescript/void.py +14 -0
  747. fluid_blends-0.6.0/blends/syntax/readers/utils.py +8 -0
  748. fluid_blends-0.6.0/blends/syntax/readers/yaml/__init__.py +0 -0
  749. fluid_blends-0.6.0/blends/syntax/readers/yaml/block_mapping.py +25 -0
  750. fluid_blends-0.6.0/blends/syntax/readers/yaml/block_mapping_pair.py +32 -0
  751. fluid_blends-0.6.0/blends/syntax/readers/yaml/block_sequence.py +41 -0
  752. fluid_blends-0.6.0/blends/syntax/readers/yaml/flow_node.py +46 -0
  753. fluid_blends-0.6.0/blends/syntax/readers/yaml/stream.py +27 -0
  754. fluid_blends-0.6.0/blends/tree/__init__.py +60 -0
  755. fluid_blends-0.6.0/blends/tree/parse.py +23 -0
  756. fluid_blends-0.6.0/blends/utilities/__init__.py +0 -0
  757. fluid_blends-0.6.0/blends/utilities/strings.py +6 -0
  758. fluid_blends-0.6.0/blends/utilities/text_nodes.py +21 -0
  759. fluid_blends-0.6.0/flake.lock +336 -0
  760. fluid_blends-0.6.0/flake.nix +51 -0
  761. fluid_blends-0.6.0/mypy.ini +35 -0
  762. fluid_blends-0.6.0/nix/envs/blends/default.nix +11 -0
  763. fluid_blends-0.6.0/nix/envs/blends/envars.nix +8 -0
  764. fluid_blends-0.6.0/nix/envs/blends/venv.nix +47 -0
  765. fluid_blends-0.6.0/nix/envs/default.nix +3 -0
  766. fluid_blends-0.6.0/nix/pkgs/blends-coverage/default.nix +12 -0
  767. fluid_blends-0.6.0/nix/pkgs/blends-deploy/default.nix +32 -0
  768. fluid_blends-0.6.0/nix/pkgs/blends-lint/default.nix +14 -0
  769. fluid_blends-0.6.0/nix/pkgs/blends-pipeline/default.nix +94 -0
  770. fluid_blends-0.6.0/nix/pkgs/blends-test/default.nix +35 -0
  771. fluid_blends-0.6.0/nix/pkgs/default.nix +11 -0
  772. fluid_blends-0.6.0/nix/shells.nix +20 -0
  773. fluid_blends-0.6.0/pyproject.toml +55 -0
  774. fluid_blends-0.6.0/ruff.toml +23 -0
  775. fluid_blends-0.6.0/secrets/dev.yaml +11 -0
  776. fluid_blends-0.6.0/stubs/pytest.pyi +54 -0
  777. fluid_blends-0.6.0/stubs/tree_sitter.pyi +32 -0
  778. fluid_blends-0.6.0/test/__init__.py +0 -0
  779. fluid_blends-0.6.0/test/ast/__init__.py +0 -0
  780. fluid_blends-0.6.0/test/ast/test_unit_ast.py +452 -0
  781. fluid_blends-0.6.0/test/conftest.py +43 -0
  782. fluid_blends-0.6.0/test/content/__init__.py +0 -0
  783. fluid_blends-0.6.0/test/content/test_unit_content.py +403 -0
  784. fluid_blends-0.6.0/test/data/helm_parser/helm_template.json +126 -0
  785. fluid_blends-0.6.0/test/data/helm_parser/helm_template.yaml +538 -0
  786. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template1.yaml +106 -0
  787. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template2.yaml +19 -0
  788. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template3.yaml +22 -0
  789. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template4.yaml +9 -0
  790. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template5.yaml +23 -0
  791. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template6.yaml +21 -0
  792. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template7.yaml +13 -0
  793. fluid_blends-0.6.0/test/data/helm_parser/templates/helm_template8.yaml +44 -0
  794. fluid_blends-0.6.0/test/data/results/root-graph_c_sharp.json +37011 -0
  795. fluid_blends-0.6.0/test/data/results/root-graph_dart.json +28677 -0
  796. fluid_blends-0.6.0/test/data/results/root-graph_go.json +30403 -0
  797. fluid_blends-0.6.0/test/data/results/root-graph_hcl.json +11919 -0
  798. fluid_blends-0.6.0/test/data/results/root-graph_java.json +40648 -0
  799. fluid_blends-0.6.0/test/data/results/root-graph_javascript.json +33827 -0
  800. fluid_blends-0.6.0/test/data/results/root-graph_json.json +2384 -0
  801. fluid_blends-0.6.0/test/data/results/root-graph_kotlin.json +21959 -0
  802. fluid_blends-0.6.0/test/data/results/root-graph_php.json +32392 -0
  803. fluid_blends-0.6.0/test/data/results/root-graph_python.json +17452 -0
  804. fluid_blends-0.6.0/test/data/results/root-graph_ruby.json +11648 -0
  805. fluid_blends-0.6.0/test/data/results/root-graph_scala.json +19011 -0
  806. fluid_blends-0.6.0/test/data/results/root-graph_swift.json +14922 -0
  807. fluid_blends-0.6.0/test/data/results/root-graph_typescript.json +30596 -0
  808. fluid_blends-0.6.0/test/data/results/root-graph_yaml.json +3071 -0
  809. fluid_blends-0.6.0/test/data/test_files/c_sharp.cs +355 -0
  810. fluid_blends-0.6.0/test/data/test_files/dart.dart +242 -0
  811. fluid_blends-0.6.0/test/data/test_files/go.go +281 -0
  812. fluid_blends-0.6.0/test/data/test_files/java.java +336 -0
  813. fluid_blends-0.6.0/test/data/test_files/javascript.js +368 -0
  814. fluid_blends-0.6.0/test/data/test_files/json.json +26 -0
  815. fluid_blends-0.6.0/test/data/test_files/kotlin.kt +178 -0
  816. fluid_blends-0.6.0/test/data/test_files/php.php +325 -0
  817. fluid_blends-0.6.0/test/data/test_files/python.py +157 -0
  818. fluid_blends-0.6.0/test/data/test_files/ruby.rb +143 -0
  819. fluid_blends-0.6.0/test/data/test_files/scala.scala +246 -0
  820. fluid_blends-0.6.0/test/data/test_files/swift.swift +179 -0
  821. fluid_blends-0.6.0/test/data/test_files/syntax_cfg.ts +299 -0
  822. fluid_blends-0.6.0/test/data/test_files/terraform.tf +144 -0
  823. fluid_blends-0.6.0/test/data/test_files/yaml.yaml +34 -0
  824. fluid_blends-0.6.0/test/stack/__init__.py +0 -0
  825. fluid_blends-0.6.0/test/stack/test_binding_sites_stack_edges.py +148 -0
  826. fluid_blends-0.6.0/test/stack/test_class_stack_edges.py +242 -0
  827. fluid_blends-0.6.0/test/stack/test_criteria.py +389 -0
  828. fluid_blends-0.6.0/test/stack/test_edges.py +110 -0
  829. fluid_blends-0.6.0/test/stack/test_import_stack_edges.py +147 -0
  830. fluid_blends-0.6.0/test/stack/test_method_declaration_stack_edges.py +248 -0
  831. fluid_blends-0.6.0/test/stack/test_node_helpers.py +207 -0
  832. fluid_blends-0.6.0/test/stack/test_node_kinds.py +59 -0
  833. fluid_blends-0.6.0/test/stack/test_parameter_stack_edges.py +106 -0
  834. fluid_blends-0.6.0/test/stack/test_selection.py +185 -0
  835. fluid_blends-0.6.0/test/stack/test_symbol_lookup_stack_edges.py +133 -0
  836. fluid_blends-0.6.0/test/stack/test_transitions.py +231 -0
  837. fluid_blends-0.6.0/test/stack/test_validation.py +484 -0
  838. fluid_blends-0.6.0/test/stack/test_variable_declaration_stack_edges.py +132 -0
  839. fluid_blends-0.6.0/test/stack/test_view.py +208 -0
  840. fluid_blends-0.6.0/test/stack/test_view_integration.py +177 -0
  841. fluid_blends-0.6.0/test/syntax/__init__.py +0 -0
  842. fluid_blends-0.6.0/test/syntax/test_functional_syntax.py +90 -0
  843. fluid_blends-0.6.0/test/syntax/test_unit_syntax.py +140 -0
  844. fluid_blends-0.6.0/uv.lock +1361 -0
@@ -0,0 +1,6 @@
1
+ use flake
2
+
3
+ # Watch entire nix directory
4
+ watch_file nix/*
5
+ watch_file nix/*/*
6
+ watch_file nix/*/*/*
@@ -0,0 +1,54 @@
1
+ /**/*.isorted
2
+ /**/.coverage*
3
+ /**/.terraform
4
+ /**/__pycache__
5
+ /.envrc.config
6
+ /.DB
7
+ /.Cache
8
+ /out
9
+ /result*
10
+ /state
11
+ /**/.mypy_cache
12
+ airs/**/node_modules
13
+ observes/**/.vscode/
14
+ integrates/codecov
15
+ /groups/
16
+ !skims/.coveragerc
17
+ !sifts/.coveragerc
18
+ !blends/.coveragerc
19
+ .DS_store
20
+
21
+ # Terraform states
22
+ *.tfstate
23
+ .idea/*
24
+
25
+ # temporal files
26
+ /script.sh
27
+ /data.txt
28
+
29
+ # Devenv
30
+ .devenv*
31
+ devenv.local.nix
32
+
33
+ # Nix
34
+ result
35
+
36
+ # direnv
37
+ .direnv
38
+
39
+
40
+ # pre-commit
41
+ .pre-commit-config.yaml
42
+
43
+ # cursor
44
+ .cursorignore
45
+ /.cursor/debug.log
46
+
47
+ # npm
48
+ .npm
49
+
50
+ # Fluid Attacks scan config files
51
+ .scan_configs
52
+ Fluid-Attacks-Results.csv
53
+ fluidattacks_scanners_config.yaml
54
+ fluidattacks_sca_config.yaml
@@ -0,0 +1,396 @@
1
+ blends-coverage:
2
+ before_script:
3
+ - mkdir -p /root/.ssh
4
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
5
+ - chmod 400 /root/.ssh/id_ed25519
6
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
7
+ >> /root/.ssh/known_hosts
8
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
9
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
10
+ - cachix use fluidattacks
11
+ - cachix watch-store fluidattacks &
12
+ id_tokens:
13
+ CI_JOB_JWT_V2:
14
+ aud: https://gitlab.com
15
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
16
+ interruptible: true
17
+ needs:
18
+ - blends-test ast_unittesting
19
+ - blends-test content_unittesting
20
+ - blends-test functional
21
+ - blends-test stack_unittesting
22
+ - blends-test syntax_unittesting
23
+ retry:
24
+ max: 2
25
+ when: runner_system_failure
26
+ rules:
27
+ - if: $CI_COMMIT_BRANCH == "trunk"
28
+ when: never
29
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
30
+ when: never
31
+ - if: $CI_PIPELINE_SOURCE == "schedule"
32
+ when: never
33
+ - if: $CI_PIPELINE_SOURCE == "trigger"
34
+ when: never
35
+ - changes:
36
+ compare_to: refs/heads/trunk
37
+ paths:
38
+ - blends/**/*
39
+ script:
40
+ - pushd .
41
+ - nix run ./blends#blends-coverage
42
+ stage: deploy
43
+ tags:
44
+ - aarch64
45
+ variables:
46
+ GIT_DEPTH: 3
47
+ blends-deploy:
48
+ before_script:
49
+ - mkdir -p /root/.ssh
50
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
51
+ - chmod 400 /root/.ssh/id_ed25519
52
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
53
+ >> /root/.ssh/known_hosts
54
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
55
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
56
+ - cachix use fluidattacks
57
+ - cachix watch-store fluidattacks &
58
+ id_tokens:
59
+ CI_JOB_JWT_V2:
60
+ aud: https://gitlab.com
61
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
62
+ interruptible: true
63
+ needs: []
64
+ retry:
65
+ max: 2
66
+ when: runner_system_failure
67
+ rules:
68
+ - if: $CI_COMMIT_BRANCH != "trunk"
69
+ when: never
70
+ - if: $CI_PIPELINE_SOURCE == "schedule"
71
+ when: never
72
+ - if: $CI_PIPELINE_SOURCE == "trigger"
73
+ when: never
74
+ - changes:
75
+ paths:
76
+ - blends/**/*
77
+ script:
78
+ - pushd blends
79
+ - nix run .#blends-deploy
80
+ stage: deploy
81
+ tags:
82
+ - aarch64
83
+ variables:
84
+ GIT_DEPTH: 3
85
+ blends-lint:
86
+ before_script:
87
+ - mkdir -p /root/.ssh
88
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
89
+ - chmod 400 /root/.ssh/id_ed25519
90
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
91
+ >> /root/.ssh/known_hosts
92
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
93
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
94
+ - cachix use fluidattacks
95
+ - cachix watch-store fluidattacks &
96
+ cache:
97
+ key: $CI_COMMIT_REF_NAME-blends-lint
98
+ paths:
99
+ - blends/.ruff_cache
100
+ - blends/.mypy_cache
101
+ id_tokens:
102
+ CI_JOB_JWT_V2:
103
+ aud: https://gitlab.com
104
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
105
+ interruptible: true
106
+ needs: []
107
+ retry:
108
+ max: 2
109
+ when: runner_system_failure
110
+ rules:
111
+ - if: $CI_COMMIT_BRANCH == "trunk"
112
+ when: never
113
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
114
+ when: never
115
+ - if: $CI_PIPELINE_SOURCE == "schedule"
116
+ when: never
117
+ - if: $CI_PIPELINE_SOURCE == "trigger"
118
+ when: never
119
+ - changes:
120
+ compare_to: refs/heads/trunk
121
+ paths:
122
+ - blends/**/*
123
+ script:
124
+ - pushd blends
125
+ - nix run .#blends-lint
126
+ stage: test
127
+ tags:
128
+ - aarch64
129
+ variables:
130
+ GIT_DEPTH: 3
131
+ blends-pipeline:
132
+ before_script:
133
+ - mkdir -p /root/.ssh
134
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
135
+ - chmod 400 /root/.ssh/id_ed25519
136
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
137
+ >> /root/.ssh/known_hosts
138
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
139
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
140
+ - cachix use fluidattacks
141
+ - cachix watch-store fluidattacks &
142
+ id_tokens:
143
+ CI_JOB_JWT_V2:
144
+ aud: https://gitlab.com
145
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
146
+ interruptible: true
147
+ needs: []
148
+ retry:
149
+ max: 2
150
+ when: runner_system_failure
151
+ rules:
152
+ - if: $CI_COMMIT_BRANCH == "trunk"
153
+ when: never
154
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
155
+ when: never
156
+ - if: $CI_PIPELINE_SOURCE == "schedule"
157
+ when: never
158
+ - if: $CI_PIPELINE_SOURCE == "trigger"
159
+ when: never
160
+ - changes:
161
+ compare_to: refs/heads/trunk
162
+ paths:
163
+ - blends/**/*
164
+ script:
165
+ - pushd blends
166
+ - nix run .#blends-pipeline
167
+ stage: test
168
+ tags:
169
+ - aarch64
170
+ variables:
171
+ GIT_DEPTH: 3
172
+ blends-test ast_unittesting:
173
+ artifacts:
174
+ expire_in: 1 day
175
+ paths:
176
+ - blends/.coverage.*
177
+ before_script:
178
+ - mkdir -p /root/.ssh
179
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
180
+ - chmod 400 /root/.ssh/id_ed25519
181
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
182
+ >> /root/.ssh/known_hosts
183
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
184
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
185
+ - cachix use fluidattacks
186
+ - cachix watch-store fluidattacks &
187
+ id_tokens:
188
+ CI_JOB_JWT_V2:
189
+ aud: https://gitlab.com
190
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
191
+ interruptible: true
192
+ needs: []
193
+ retry:
194
+ max: 2
195
+ when: runner_system_failure
196
+ rules:
197
+ - if: $CI_COMMIT_BRANCH == "trunk"
198
+ when: never
199
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
200
+ when: never
201
+ - if: $CI_PIPELINE_SOURCE == "schedule"
202
+ when: never
203
+ - if: $CI_PIPELINE_SOURCE == "trigger"
204
+ when: never
205
+ - changes:
206
+ compare_to: refs/heads/trunk
207
+ paths:
208
+ - blends/**/*
209
+ script:
210
+ - pushd blends
211
+ - nix run .#blends-test ast_unittesting
212
+ stage: test
213
+ tags:
214
+ - aarch64
215
+ variables:
216
+ GIT_DEPTH: 3
217
+ blends-test content_unittesting:
218
+ artifacts:
219
+ expire_in: 1 day
220
+ paths:
221
+ - blends/.coverage.*
222
+ before_script:
223
+ - mkdir -p /root/.ssh
224
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
225
+ - chmod 400 /root/.ssh/id_ed25519
226
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
227
+ >> /root/.ssh/known_hosts
228
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
229
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
230
+ - cachix use fluidattacks
231
+ - cachix watch-store fluidattacks &
232
+ id_tokens:
233
+ CI_JOB_JWT_V2:
234
+ aud: https://gitlab.com
235
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
236
+ interruptible: true
237
+ needs: []
238
+ retry:
239
+ max: 2
240
+ when: runner_system_failure
241
+ rules:
242
+ - if: $CI_COMMIT_BRANCH == "trunk"
243
+ when: never
244
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
245
+ when: never
246
+ - if: $CI_PIPELINE_SOURCE == "schedule"
247
+ when: never
248
+ - if: $CI_PIPELINE_SOURCE == "trigger"
249
+ when: never
250
+ - changes:
251
+ compare_to: refs/heads/trunk
252
+ paths:
253
+ - blends/**/*
254
+ script:
255
+ - pushd blends
256
+ - nix run .#blends-test content_unittesting
257
+ stage: test
258
+ tags:
259
+ - aarch64
260
+ variables:
261
+ GIT_DEPTH: 3
262
+ blends-test functional:
263
+ artifacts:
264
+ expire_in: 1 day
265
+ paths:
266
+ - blends/.coverage.*
267
+ before_script:
268
+ - mkdir -p /root/.ssh
269
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
270
+ - chmod 400 /root/.ssh/id_ed25519
271
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
272
+ >> /root/.ssh/known_hosts
273
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
274
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
275
+ - cachix use fluidattacks
276
+ - cachix watch-store fluidattacks &
277
+ id_tokens:
278
+ CI_JOB_JWT_V2:
279
+ aud: https://gitlab.com
280
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
281
+ interruptible: true
282
+ needs: []
283
+ retry:
284
+ max: 2
285
+ when: runner_system_failure
286
+ rules:
287
+ - if: $CI_COMMIT_BRANCH == "trunk"
288
+ when: never
289
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
290
+ when: never
291
+ - if: $CI_PIPELINE_SOURCE == "schedule"
292
+ when: never
293
+ - if: $CI_PIPELINE_SOURCE == "trigger"
294
+ when: never
295
+ - changes:
296
+ compare_to: refs/heads/trunk
297
+ paths:
298
+ - blends/**/*
299
+ script:
300
+ - pushd blends
301
+ - nix run .#blends-test functional
302
+ stage: test
303
+ tags:
304
+ - aarch64
305
+ variables:
306
+ GIT_DEPTH: 3
307
+ blends-test stack_unittesting:
308
+ artifacts:
309
+ expire_in: 1 day
310
+ paths:
311
+ - blends/.coverage.*
312
+ before_script:
313
+ - mkdir -p /root/.ssh
314
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
315
+ - chmod 400 /root/.ssh/id_ed25519
316
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
317
+ >> /root/.ssh/known_hosts
318
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
319
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
320
+ - cachix use fluidattacks
321
+ - cachix watch-store fluidattacks &
322
+ id_tokens:
323
+ CI_JOB_JWT_V2:
324
+ aud: https://gitlab.com
325
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
326
+ interruptible: true
327
+ needs: []
328
+ retry:
329
+ max: 2
330
+ when: runner_system_failure
331
+ rules:
332
+ - if: $CI_COMMIT_BRANCH == "trunk"
333
+ when: never
334
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
335
+ when: never
336
+ - if: $CI_PIPELINE_SOURCE == "schedule"
337
+ when: never
338
+ - if: $CI_PIPELINE_SOURCE == "trigger"
339
+ when: never
340
+ - changes:
341
+ compare_to: refs/heads/trunk
342
+ paths:
343
+ - blends/**/*
344
+ script:
345
+ - pushd blends
346
+ - nix run .#blends-test stack_unittesting
347
+ stage: test
348
+ tags:
349
+ - aarch64
350
+ variables:
351
+ GIT_DEPTH: 3
352
+ blends-test syntax_unittesting:
353
+ artifacts:
354
+ expire_in: 1 day
355
+ paths:
356
+ - blends/.coverage.*
357
+ before_script:
358
+ - mkdir -p /root/.ssh
359
+ - echo "$UNIVERSE_SSH_KEY" > /root/.ssh/id_ed25519
360
+ - chmod 400 /root/.ssh/id_ed25519
361
+ - echo 'gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf'
362
+ >> /root/.ssh/known_hosts
363
+ - echo 'experimental-features = nix-command flakes' >> /etc/nix/nix.conf
364
+ - nix-env -iA cachix -f https://cachix.org/api/v1/install &> /dev/null
365
+ - cachix use fluidattacks
366
+ - cachix watch-store fluidattacks &
367
+ id_tokens:
368
+ CI_JOB_JWT_V2:
369
+ aud: https://gitlab.com
370
+ image: nixos/nix:latest@sha256:3bb728719e2c4e478df4c50b80f93adbe27d5c561d1417c3a2306eb914d910da
371
+ interruptible: true
372
+ needs: []
373
+ retry:
374
+ max: 2
375
+ when: runner_system_failure
376
+ rules:
377
+ - if: $CI_COMMIT_BRANCH == "trunk"
378
+ when: never
379
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
380
+ when: never
381
+ - if: $CI_PIPELINE_SOURCE == "schedule"
382
+ when: never
383
+ - if: $CI_PIPELINE_SOURCE == "trigger"
384
+ when: never
385
+ - changes:
386
+ compare_to: refs/heads/trunk
387
+ paths:
388
+ - blends/**/*
389
+ script:
390
+ - pushd blends
391
+ - nix run .#blends-test syntax_unittesting
392
+ stage: test
393
+ tags:
394
+ - aarch64
395
+ variables:
396
+ GIT_DEPTH: 3
@@ -0,0 +1,24 @@
1
+ Metadata-Version: 2.4
2
+ Name: fluid-blends
3
+ Version: 0.6.0
4
+ Summary: A Python library to generate and query ASTs, CFGs, and syntax graphs from multi-language source code
5
+ Author-email: Fluid Attacks Development Team <development@fluidattacks.com>
6
+ Requires-Python: <4.0,>=3.11
7
+ Requires-Dist: aiohttp>=3.13.3
8
+ Requires-Dist: networkx==3.5
9
+ Requires-Dist: tree-sitter-c-sharp==0.23.1
10
+ Requires-Dist: tree-sitter-dart-orchard==0.3.2
11
+ Requires-Dist: tree-sitter-go==0.23.4
12
+ Requires-Dist: tree-sitter-hcl==1.2.0
13
+ Requires-Dist: tree-sitter-java==0.23.5
14
+ Requires-Dist: tree-sitter-javascript==0.23.1
15
+ Requires-Dist: tree-sitter-json==0.24.8
16
+ Requires-Dist: tree-sitter-kotlin==1.1.0
17
+ Requires-Dist: tree-sitter-php==0.23.11
18
+ Requires-Dist: tree-sitter-python==0.23.6
19
+ Requires-Dist: tree-sitter-ruby==0.23.1
20
+ Requires-Dist: tree-sitter-scala==0.23.4
21
+ Requires-Dist: tree-sitter-swift==0.0.1
22
+ Requires-Dist: tree-sitter-typescript==0.23.2
23
+ Requires-Dist: tree-sitter-yaml==0.7.0
24
+ Requires-Dist: tree-sitter==0.25.2
File without changes
File without changes
@@ -0,0 +1,174 @@
1
+ import logging
2
+ from collections.abc import Iterator
3
+ from itertools import (
4
+ count,
5
+ )
6
+ from pathlib import Path
7
+
8
+ from tree_sitter import Node
9
+
10
+ from blends.content.content import get_content_by_path
11
+ from blends.models import Content, Graph, Language
12
+ from blends.tree import FIELDS_BY_LANGUAGE
13
+ from blends.tree.parse import ParsingError, get_tree
14
+
15
+ LOGGER = logging.getLogger(__name__)
16
+
17
+
18
+ def _hash_node(node: Node) -> int:
19
+ return hash((node.end_point, node.start_point, node.type))
20
+
21
+
22
+ def _is_node_terminal(node: Node, language: Language) -> bool:
23
+ return (
24
+ language == Language.YAML
25
+ and node.type
26
+ in [
27
+ "flow_mapping",
28
+ "single_quote_scalar",
29
+ "double_quote_scalar",
30
+ ]
31
+ ) or (language == Language.SWIFT and node.type == "bang")
32
+
33
+
34
+ def _has_content_node(node: Node, language: Language) -> bool:
35
+ return (
36
+ (
37
+ language == Language.CSHARP
38
+ and node.type
39
+ in {
40
+ "character_literal",
41
+ "predefined_type",
42
+ "string_literal",
43
+ "verbatim_string_literal",
44
+ }
45
+ )
46
+ or (
47
+ language == Language.DART
48
+ and node.type
49
+ in {
50
+ "list_literal",
51
+ "set_or_map_literal",
52
+ "string_literal",
53
+ }
54
+ )
55
+ or (
56
+ language == Language.GO
57
+ and node.type
58
+ in {
59
+ "interpreted_string_literal",
60
+ }
61
+ )
62
+ or (
63
+ language
64
+ in {
65
+ Language.JAVASCRIPT,
66
+ Language.TYPESCRIPT,
67
+ }
68
+ and node.type
69
+ in {
70
+ "template_string",
71
+ "regex",
72
+ }
73
+ )
74
+ or (
75
+ language == Language.KOTLIN
76
+ and node.type
77
+ in {
78
+ "string_literal",
79
+ }
80
+ )
81
+ or (language == Language.SWIFT and node.type == "bang")
82
+ or (
83
+ language == Language.YAML
84
+ and node.type
85
+ in {
86
+ "single_quote_scalar",
87
+ "double_quote_scalar",
88
+ "flow_mapping",
89
+ }
90
+ )
91
+ )
92
+
93
+
94
+ def _build_ast_graph(
95
+ content: Content,
96
+ node: Node,
97
+ counter: Iterator[str],
98
+ graph: Graph,
99
+ *,
100
+ _edge_index: str | None = None,
101
+ _parent: str | None = None,
102
+ _parent_fields: dict[int, str] | None = None,
103
+ ) -> Graph:
104
+ if not isinstance(node, Node):
105
+ raise NotImplementedError
106
+
107
+ n_id = next(counter)
108
+ raw_l, raw_c = node.start_point
109
+
110
+ graph.add_node(n_id, label_l=str(raw_l + 1), label_c=str(raw_c + 1), label_type=node.type)
111
+
112
+ if _parent is not None:
113
+ graph.add_edge(_parent, n_id, label_ast="AST", label_index=str(_edge_index))
114
+
115
+ if (field := (_parent_fields or {}).get(_hash_node(node))) and _parent is not None:
116
+ graph.nodes[_parent][f"label_field_{field}"] = n_id
117
+
118
+ if not node.children or _has_content_node(node, content.language):
119
+ node_content = content.content_bytes[node.start_byte : node.end_byte]
120
+ graph.nodes[n_id]["label_text"] = node_content.decode("latin-1")
121
+
122
+ if node.children and not _is_node_terminal(node, content.language):
123
+ for edge_index, child in enumerate(node.children):
124
+ child_node: Node = child
125
+ _build_ast_graph(
126
+ content,
127
+ child_node,
128
+ counter,
129
+ graph,
130
+ _edge_index=str(edge_index),
131
+ _parent=n_id,
132
+ _parent_fields={
133
+ _hash_node(child): fld
134
+ for fld in FIELDS_BY_LANGUAGE[content.language].get(node.type, ())
135
+ for child in [node.child_by_field_name(fld)]
136
+ if child
137
+ },
138
+ )
139
+
140
+ return graph
141
+
142
+
143
+ def get_ast_from_content(content: Content) -> Graph | None:
144
+ try:
145
+ tree = get_tree(content)
146
+ except ParsingError:
147
+ return None
148
+ counter = map(str, count(1))
149
+ try:
150
+ return _build_ast_graph(content, tree.root_node, counter, Graph())
151
+ except NotImplementedError:
152
+ LOGGER.exception("Error building the ast_graph for %s", content.path)
153
+
154
+ return None
155
+
156
+
157
+ def get_ast_graph_from_path(path: Path) -> Graph | None:
158
+ if (content := get_content_by_path(path)) is None:
159
+ LOGGER.error("Error extracting the content of %s", path)
160
+ return None
161
+
162
+ if content.language == Language.NOT_SUPPORTED:
163
+ LOGGER.warning("Unsupported language in %s", path)
164
+ return None
165
+
166
+ return get_ast_from_content(content)
167
+
168
+
169
+ def get_ast_graph_from_content(content: Content) -> Graph | None:
170
+ if content.language == Language.NOT_SUPPORTED:
171
+ LOGGER.warning("Unsupported language in %s", content.path)
172
+ return None
173
+
174
+ return get_ast_from_content(content)
File without changes