public void GenerateFunction(CodeGenerator cg) { var params_ = new List <Type>(); foreach (var item in paramsTypes) { params_.Add(item.GetType(cg)); } FunctionInfo info = funcScope.FindFunction(id.name); builder = cg.typeBuilder.DefineMethod(info.ConvertedName, System.Reflection.MethodAttributes.Public | System.Reflection.MethodAttributes.Static, CallingConventions.Standard, functionReturnType.GetType(cg), params_.ToArray()); //buscar las variables para los parametros que recibira y crearlas si no existian for (int i = 0; i < paramList.parameters.Count; i++) { FieldDecNode currentField = paramList.parameters[i]; VariableInfo current = funcScope.ShortFindVariable(currentField.id.name); current.Create(cg); } }