version 1.8, 1999/10/01 03:09:14
|
version 1.9, 1999/10/02 05:49:59
|
Line 345 class metal_class_class extends metal_ba
|
Line 345 class metal_class_class extends metal_ba
|
return(0); |
return(0); |
} |
} |
$evaluate_context=$context; |
$evaluate_context=$context; |
if(!$compiler->GetValidExpression(&$evaluate_context,$this->return_type,"NOTLEFT","it was not specified a valid CLASS FUNCTION RETURN expression",1) |
if(!$compiler->GetValidExpression(&$evaluate_context,$this->return_type,"NOTLEFT","it was not specified a valid CLASS FUNCTION RETURN ".$this->return_type." expression",1) |
|| !$compiler->GetExpressionValue(&$context,&$evaluate_context->result,&$return_value)) |
|| !$compiler->GetExpressionValue(&$context,&$evaluate_context->result,&$return_value)) |
return(0); |
return(0); |
$context->result[]=array( |
$context->result[]=array( |
Line 373 class metal_class_class extends metal_ba
|
Line 373 class metal_class_class extends metal_ba
|
"Type"=>$this->variables[$name]["TYPE"], |
"Type"=>$this->variables[$name]["TYPE"], |
"Side"=>"ANY" |
"Side"=>"ANY" |
), |
), |
|
"Type"=>"EXPRESSION" |
|
); |
|
break; |
|
case "OBJECTVARIABLE": |
|
$object_variable=array(); |
|
$elements=$arguments_code->structure[$arguments->path]["Elements"]; |
|
for($element=0;$element<$elements;$element++) |
|
{ |
|
$element_path=$arguments->path.",$element"; |
|
$data=$arguments_code->structure[$element_path]; |
|
if(GetType($data)=="array") |
|
{ |
|
switch($data["Tag"]) |
|
{ |
|
case "OBJECT": |
|
if(IsSet($object_variable["OBJECT"])) |
|
{ |
|
$compiler->SetElementError($arguments->file,$element_path,"it was specified the CLASS OBJECT VARIABLE OBJECT argument more than once"); |
|
return(0); |
|
} |
|
$evaluate_context=$arguments; |
|
$evaluate_context->path=$element_path; |
|
if(!$compiler->GetValidExpression(&$evaluate_context,"OBJECT","NOTLEFT","it was not specified a valid CLASS OBJECT VARIABLE OBJECT expression",1) |
|
|| !$compiler->GetExpressionValue(&$context,&$evaluate_context->result,&$object_variable["OBJECT"])) |
|
return(0); |
|
break; |
|
default: |
|
$compiler->SetElementError($argument->file,$element_path,$data["Tag"]." is not a supported CLASS OBJECT VARIABLE argument"); |
|
return(0); |
|
} |
|
} |
|
else |
|
{ |
|
if(!$compiler->CheckWhiteSpace($arguments->file,$data,$element_path)) |
|
return(0); |
|
} |
|
} |
|
if(!IsSet($object_variable["OBJECT"])) |
|
{ |
|
$compiler->SetElementError($arguments->file,$arguments->path,"it was not specified the CLASS OBJECT VARIABLE OBJECT argument"); |
|
return(0); |
|
} |
|
if(!$compiler->GetValidName($context->file,$context->path,&$name,"it was not specified a valid CLASS VARIABLE name")) |
|
return(0); |
|
if(!IsSet($this->variables[$name])) |
|
{ |
|
$compiler->SetElementError($context->file,$context->path,"it was not specified a defined CLASS VARIABLE name"); |
|
return(0); |
|
} |
|
$context->result[]=array( |
|
"Data"=>array( |
|
"Value"=>$object_variable["OBJECT"]."->$name", |
|
"Type"=>$this->variables[$name]["TYPE"], |
|
"Side"=>"ANY" |
|
), |
"Type"=>"EXPRESSION" |
"Type"=>"EXPRESSION" |
); |
); |
break; |
break; |