ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalModule[iI"DSL:ETI"Prism::DSL;T0o:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"The DSL module provides a set of methods that can be used to create prism nodes in a more concise manner. For example, instead of writing:;To:RDoc::Markup::Verbatim;[I"'source = Prism::Source.for("[1]") ;TI" ;TI"Prism::ArrayNode.new( ;TI" source, ;TI" 0, ;TI"* Prism::Location.new(source, 0, 3), ;TI" 0, ;TI" [ ;TI"! Prism::IntegerNode.new( ;TI" source, ;TI" 0, ;TI". Prism::Location.new(source, 1, 1), ;TI"- Prism::IntegerBaseFlags::DECIMAL, ;TI" 1 ;TI" ) ;TI" ], ;TI"* Prism::Location.new(source, 0, 1), ;TI") Prism::Location.new(source, 2, 1) ;TI") ;T: @format0o; ;[I"you could instead write:;To; ;[I"class Builder ;TI" include Prism::DSL ;T@I"# attr_reader :default_source ;T@I" def initialize ;TI") @default_source = source("[1]") ;TI" end ;T@I" def build ;TI" array_node( ;TI"; location: location(start_offset: 0, length: 3), ;TI" elements: [ ;TI" integer_node( ;TI"? location: location(start_offset: 1, length: 1), ;TI"3 flags: integer_base_flag(:decimal), ;TI" value: 1 ;TI" ) ;TI" ], ;TI"> opening_loc: location(start_offset: 0, length: 1), ;TI"= closing_loc: location(start_offset: 2, length: 1) ;TI" ) ;TI" end ;TI" end ;T; 0o; ;[I"PThis is mostly helpful in the context of generating trees programmatically.;T: @fileI"lib/prism/dsl.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[[I"alias_global_variable_node;TI"lib/prism/dsl.rb;T[I"alias_method_node;T@W[I"alternation_pattern_node;T@W[I" and_node;T@W[I"arguments_node;T@W[I"arguments_node_flag;T@W[I"array_node;T@W[I"array_node_flag;T@W[I"array_pattern_node;T@W[I"assoc_node;T@W[I"assoc_splat_node;T@W[I"back_reference_read_node;T@W[I"begin_node;T@W[I"block_argument_node;T@W[I"block_local_variable_node;T@W[I"block_node;T@W[I"block_parameter_node;T@W[I"block_parameters_node;T@W[I"break_node;T@W[I"call_and_write_node;T@W[I"call_node;T@W[I"call_node_flag;T@W[I"call_operator_write_node;T@W[I"call_or_write_node;T@W[I"call_target_node;T@W[I"capture_pattern_node;T@W[I"case_match_node;T@W[I"case_node;T@W[I"class_node;T@W[I""class_variable_and_write_node;T@W[I"'class_variable_operator_write_node;T@W[I"!class_variable_or_write_node;T@W[I"class_variable_read_node;T@W[I"class_variable_target_node;T@W[I"class_variable_write_node;T@W[I"constant_and_write_node;T@W[I"!constant_operator_write_node;T@W[I"constant_or_write_node;T@W[I"!constant_path_and_write_node;T@W[I"constant_path_node;T@W[I"&constant_path_operator_write_node;T@W[I" constant_path_or_write_node;T@W[I"constant_path_target_node;T@W[I"constant_path_write_node;T@W[I"constant_read_node;T@W[I"constant_target_node;T@W[I"constant_write_node;T@W[I" def_node;T@W[I"defined_node;T@W[I"else_node;T@W[I"embedded_statements_node;T@W[I"embedded_variable_node;T@W[I"encoding_flag;T@W[I"ensure_node;T@W[I"false_node;T@W[I"find_pattern_node;T@W[I"flip_flop_node;T@W[I"float_node;T@W[I" for_node;T@W[I"forwarding_arguments_node;T@W[I"forwarding_parameter_node;T@W[I"forwarding_super_node;T@W[I"#global_variable_and_write_node;T@W[I"(global_variable_operator_write_node;T@W[I""global_variable_or_write_node;T@W[I"global_variable_read_node;T@W[I" global_variable_target_node;T@W[I"global_variable_write_node;T@W[I"hash_node;T@W[I"hash_pattern_node;T@W[I" if_node;T@W[I"imaginary_node;T@W[I"implicit_node;T@W[I"implicit_rest_node;T@W[I" in_node;T@W[I"index_and_write_node;T@W[I"index_operator_write_node;T@W[I"index_or_write_node;T@W[I"index_target_node;T@W[I"%instance_variable_and_write_node;T@W[I"*instance_variable_operator_write_node;T@W[I"$instance_variable_or_write_node;T@W[I" instance_variable_read_node;T@W[I""instance_variable_target_node;T@W[I"!instance_variable_write_node;T@W[I"integer_base_flag;T@W[I"integer_node;T@W[I"&interpolated_match_last_line_node;T@W[I")interpolated_regular_expression_node;T@W[I"interpolated_string_node;T@W[I""interpolated_string_node_flag;T@W[I"interpolated_symbol_node;T@W[I"interpolated_x_string_node;T@W[I" it_local_variable_read_node;T@W[I"it_parameters_node;T@W[I"keyword_hash_node;T@W[I"keyword_hash_node_flag;T@W[I" keyword_rest_parameter_node;T@W[I"lambda_node;T@W[I""local_variable_and_write_node;T@W[I"'local_variable_operator_write_node;T@W[I"!local_variable_or_write_node;T@W[I"local_variable_read_node;T@W[I"local_variable_target_node;T@W[I"local_variable_write_node;T@W[I" location;T@W[I"loop_flag;T@W[I"match_last_line_node;T@W[I"match_predicate_node;T@W[I"match_required_node;T@W[I"match_write_node;T@W[I"missing_node;T@W[I"module_node;T@W[I"multi_target_node;T@W[I"multi_write_node;T@W[I"next_node;T@W[I" nil_node;T@W[I"no_keywords_parameter_node;T@W[I"numbered_parameters_node;T@W[I"!numbered_reference_read_node;T@W[I"$optional_keyword_parameter_node;T@W[I"optional_parameter_node;T@W[I" or_node;T@W[I"parameter_flag;T@W[I"parameters_node;T@W[I"parentheses_node;T@W[I"parentheses_node_flag;T@W[I"pinned_expression_node;T@W[I"pinned_variable_node;T@W[I"post_execution_node;T@W[I"pre_execution_node;T@W[I"program_node;T@W[I"range_flag;T@W[I"range_node;T@W[I"rational_node;T@W[I"redo_node;T@W[I"regular_expression_flag;T@W[I"regular_expression_node;T@W[I"$required_keyword_parameter_node;T@W[I"required_parameter_node;T@W[I"rescue_modifier_node;T@W[I"rescue_node;T@W[I"rest_parameter_node;T@W[I"retry_node;T@W[I"return_node;T@W[I"self_node;T@W[I"shareable_constant_node;T@W[I"!shareable_constant_node_flag;T@W[I"singleton_class_node;T@W[I" source;T@W[I"source_encoding_node;T@W[I"source_file_node;T@W[I"source_line_node;T@W[I"splat_node;T@W[I"statements_node;T@W[I"string_flag;T@W[I"string_node;T@W[I"super_node;T@W[I"symbol_flag;T@W[I"symbol_node;T@W[I"true_node;T@W[I"undef_node;T@W[I"unless_node;T@W[I"until_node;T@W[I"when_node;T@W[I"while_node;T@W[I"x_string_node;T@W[I"yield_node;T@W[;[[;[[I"default_location;T@W[I"default_node;T@W[I"default_source;T@W[[U:RDoc::Context::Section[i0o;;[; 0; 0[@BI" Prism;TcRDoc::NormalModule