remove get_var_from_proc (essentially the same as pic_unwrap_var)
This commit is contained in:
		
							parent
							
								
									12e453508d
								
							
						
					
					
						commit
						fce57ec8c9
					
				
							
								
								
									
										44
									
								
								src/var.c
								
								
								
								
							
							
						
						
									
										44
									
								
								src/var.c
								
								
								
								
							|  | @ -43,27 +43,6 @@ pic_var_set_force(pic_state *pic, struct pic_var *var, pic_value value) | ||||||
|   var->value = value; |   var->value = value; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct pic_var * |  | ||||||
| get_var_from_proc(pic_state *pic, struct pic_proc *proc) |  | ||||||
| { |  | ||||||
|   pic_value v; |  | ||||||
| 
 |  | ||||||
|   if (! pic_proc_func_p(proc)) { |  | ||||||
|     goto typeerror; |  | ||||||
|   } |  | ||||||
|   if (pic_proc_cv_size(pic, proc) != 1) { |  | ||||||
|     goto typeerror; |  | ||||||
|   } |  | ||||||
|   v = pic_proc_cv_ref(pic, proc, 0); |  | ||||||
|   if (! pic_var_p(v)) { |  | ||||||
|     goto typeerror; |  | ||||||
|   } |  | ||||||
|   return pic_var_ptr(v); |  | ||||||
| 
 |  | ||||||
|  typeerror: |  | ||||||
|   pic_errorf(pic, "expected parameter, but got ~s", v); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static pic_value | static pic_value | ||||||
| var_call(pic_state *pic) | var_call(pic_state *pic) | ||||||
| { | { | ||||||
|  | @ -105,7 +84,22 @@ pic_wrap_var(pic_state *pic, struct pic_var *var) | ||||||
| struct pic_var * | struct pic_var * | ||||||
| pic_unwrap_var(pic_state *pic, struct pic_proc *proc) | pic_unwrap_var(pic_state *pic, struct pic_proc *proc) | ||||||
| { | { | ||||||
|   return get_var_from_proc(pic, proc); |   pic_value v; | ||||||
|  | 
 | ||||||
|  |   if (! pic_proc_func_p(proc)) { | ||||||
|  |     goto typeerror; | ||||||
|  |   } | ||||||
|  |   if (pic_proc_cv_size(pic, proc) != 1) { | ||||||
|  |     goto typeerror; | ||||||
|  |   } | ||||||
|  |   v = pic_proc_cv_ref(pic, proc, 0); | ||||||
|  |   if (! pic_var_p(v)) { | ||||||
|  |     goto typeerror; | ||||||
|  |   } | ||||||
|  |   return pic_var_ptr(v); | ||||||
|  | 
 | ||||||
|  |  typeerror: | ||||||
|  |   pic_errorf(pic, "expected parameter, but got ~s", v); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static pic_value | static pic_value | ||||||
|  | @ -129,7 +123,7 @@ pic_var_parameter_ref(pic_state *pic) | ||||||
| 
 | 
 | ||||||
|   pic_get_args(pic, "l", &proc); |   pic_get_args(pic, "l", &proc); | ||||||
| 
 | 
 | ||||||
|   var = get_var_from_proc(pic, proc); |   var = pic_unwrap_var(pic, proc); | ||||||
|   return pic_var_ref(pic, var); |   return pic_var_ref(pic, var); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -142,7 +136,7 @@ pic_var_parameter_set(pic_state *pic) | ||||||
| 
 | 
 | ||||||
|   pic_get_args(pic, "lo", &proc, &v); |   pic_get_args(pic, "lo", &proc, &v); | ||||||
| 
 | 
 | ||||||
|   var = get_var_from_proc(pic, proc); |   var = pic_unwrap_var(pic, proc); | ||||||
|   /* no convert */ |   /* no convert */ | ||||||
|   pic_var_set_force(pic, var, v); |   pic_var_set_force(pic, var, v); | ||||||
|   return pic_none_value(); |   return pic_none_value(); | ||||||
|  | @ -156,7 +150,7 @@ pic_var_parameter_converter(pic_state *pic) | ||||||
| 
 | 
 | ||||||
|   pic_get_args(pic, "l", &proc); |   pic_get_args(pic, "l", &proc); | ||||||
| 
 | 
 | ||||||
|   var = get_var_from_proc(pic, proc); |   var = pic_unwrap_var(pic, proc); | ||||||
|   if (var->conv) { |   if (var->conv) { | ||||||
|     return pic_obj_value(var->conv); |     return pic_obj_value(var->conv); | ||||||
|   } |   } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki