public virtual void visit(ICommonConstructorCall value)
 {
 }
예제 #2
0
 //Вызов конструктора параметра generic-типа
 public void ConvertGenericParamCtorCall(ICommonConstructorCall value)
 {
     Type gpar = helper.GetTypeReference(value.common_type).tp;
     MethodInfo create_inst = ActivatorCreateInstance.MakeGenericMethod(gpar);
     il.EmitCall(OpCodes.Call, create_inst, Type.EmptyTypes);
 }
예제 #3
0
		public virtual void visit(ICommonConstructorCall value)
		{

		}
예제 #4
0
 public void visit(ICommonConstructorCall value)
 {
     string s = value.GetType().Name + ".";
     //value.common_type
     //value.function
     prepare_string_node(value.last_result_function_call.ToString(), s + "last_result_function_call");
     prepare_base_node_collection(value.real_parameters, s + "real_parameters", "real_parameters", value.real_parameters.Length);
     //value.static_method
     prepare_node(value.type, s + "type");        
 }
예제 #5
0
 public void visit(ICommonConstructorCall value)
 {
     StringBuilder bodyBlock = new StringBuilder("");
     foreach (IExpressionNode nodeParameter in value.real_parameters)
     {
         nodeParameter.visit(this);
         bodyBlock.Append(ISemanticNodeConverter.SourceTextBuilder.GetNodeFromStack());
         if (value.real_parameters[value.real_parameters.Length - 1] != nodeParameter)
             bodyBlock.Append(", ");
     }
     if (bodyBlock.Length == 0)
         bodyBlock.Append("%empty%");
     ISemanticNodeConverter.SourceTextBuilder.AddNodeInToStack(bodyBlock.ToString());
     ISemanticNodeConverter.SourceTextBuilder.AddNodeInToStack(ISemanticNodeConverter.ConvertPABCNETNodeConstructorCall("constructor_call", value));            
 }