标签: code-generation

如何在C#中自动生成logger调用到源代码中?

我想在方法体中产生什么:

private void SomeMethod()
{
Logger.Log("Entering SomeMethod.");

// do stuff here

Logger.Log("Exiting SomeMethod.")
}
Run Code Online (Sandbox Code Playgroud)

有没有可以为我生成的工具?如果没有,我想自己实现一个,那么我从哪里开始,我应该考虑使用哪个库来识别c#源代码中的方法?简单的正则表达式应该足够了吗?

c# logging code-generation

0
推荐指数
2
解决办法
638
查看次数

AS 3中是否有装饰器/宏/注释?

我正在寻找相似的Python装饰器/ Lisp宏/ Java注释(是的,我知道这些不一定等同于它们)在Actionscript中.提供类似功能的工具也很棒(我在Linux上使用Eclipse的Flex Builder插件).

我正在编写Flex应用程序,这就是我想要完成的任务:

我在不同的类中封装了各种远程功能集(有时称为"消息传递网关"或"远程代理"),其中每个方法都镜像服务器上的方法,如下所示:

class UserManagementService extends MyHttpService {
  //...
  private final _urlBase:String = "http://example.com/services/users"
  //...

  public function usrGet(ix:int):User
  {
     url = urlBase + "/get";
     mp:Dictionary = new Dictionary();
     mp["ix"] = ix;
     result:User = this._service.varSend(url, this.sEncodeParams(mp), Class("User"));
     return result;
  }
  //...
}
Run Code Online (Sandbox Code Playgroud)

因为我已经在函数声明中有了远程函数的参数和返回类型,所以只需添加URL后缀就好了,就像这样(Python启发的伪代码):

@remotify("/get")
public function usrGet(ix:int):User { }
Run Code Online (Sandbox Code Playgroud)

现在,这不是很整洁吗?;-)

apache-flex actionscript code-generation

0
推荐指数
1
解决办法
143
查看次数

Delphi如何编译我的代码

Delphi编译器将如何编译以下代码;

uses a_big_unit;


procedure TForm1.Button1Click(Sender: TObject);
var
acompont : T_a_big_component ;
begin

if (true = false ) then // or            if false then
begin
  bc :=  Tbig_component.create(self)

end;
Run Code Online (Sandbox Code Playgroud)

在此代码中,true = false将永远不会发生,因此组件acompont将永远不会创建.

当delphi在优化模式下编译时,这些未使用的单元和代码将被省略

当使用单位时

在delphi 7中,即使你只使用XPMan单元; (不使用任何组件(TXPManifest1)),仍然使用单位,每个组件都以主题显示;

有些人说德尔福如果不需要就会省略单位;

那么Delphi如何识别一个单元是否对它所调用的单元产生影响

delphi compiler-construction optimization code-generation

0
推荐指数
1
解决办法
626
查看次数

EntitiesToDTOs(实体框架DTO生成器)是否支持延迟加载?

我有一些亲子关系的实体:家庭(父母)和更新(孩子).我想阅读没有相应更新的家庭列表.只有17个家庭,但大约有60,000个更新,所以我真的不想要更新.

我使用EntitiesToDTOs从Family实体生成DTO,并创建一个汇编程序,用于将Family实体转换为FamilyDTO.汇编程序的ToDTO方法如下所示:

public static FamilyDTO ToDTO(this Family entity)
{
    if (entity == null) return null;

    var dto = new FamilyDTO();

    dto.FamilyCode = entity.FamilyCode;
    dto.FamilyName = entity.FamilyName;
    dto.CreateDatetime = entity.CreateDatetime;
    dto.Updates_ID = entity.Updates.Select(p => p.ID).ToList();

    entity.OnDTO(dto);

    return dto;
}
Run Code Online (Sandbox Code Playgroud)

当我运行汇编程序时,我发现每个生成的FamilyDTO都填充了Updates_ID列表,尽管EF模型(edmx文件)的延迟加载设置为true.是否可以配置EntitiesToDTOs以支持延迟加载子元素,还是始终使用预先加载?我在EntitiesToDTOs中看不到任何可以设置为在生成汇编程序时支持延迟加载的选项.

顺便说一下,我是一个使用EntitiesToDTOs几乎每天都重新组装汇编程序的大型团队的一员,所以如果可能的话,我宁愿不手工修改汇编程序.

c# add-in code-generation entity-framework dto

0
推荐指数
1
解决办法
3622
查看次数

使用Clang作为API

我对Clang API了解不多,所以请原谅这个愚蠢的问题.

如果我正在为与C++具有相同或相似功能的语言构建编译器,我可以使用Clang API来为我的代码生成负责吗?例如,假设我实现了一个解析器来解析以下代码:

def class Adder
   def func Add(x as int, y as int) as int
     return x + y
Run Code Online (Sandbox Code Playgroud)

现在说我解析了这段代码并且我有AST,我可以使用Clang API为我生成这个类的代码吗?

我知道我可以使用LLVM API,但我已经这样做了,但是LLVM的级别相对较低而且它不支持OOP,所以我必须自己支持它们,这根本不是一件容易的事.所以我想知道是否还有雇用Clang为我做这项工作.如果是的话,如果您能提供示例和链接,我将不胜感激.

谢谢

code-generation llvm clang

0
推荐指数
1
解决办法
154
查看次数

Android Studio 无法识别生成的自定义类

我的问题与IDE严格相关。我有一个自定义类生成器并且它可以正常工作(构建项目后类在 gen 文件夹中)。不幸的是,Android Studio 无法解析我项目中的这些类。但最有趣的部分是:当我对正确的导入进行硬编码并使用此类(即使编译器将此部分变为红色)并运行一个项目时......它起作用了。

我尝试了清理项目/重建/重置 Android Studio ......没有任何帮助。任何想法如何解决这个问题?

ide android code-generation android-studio

0
推荐指数
1
解决办法
1582
查看次数

为什么default和empty构造函数在C++中生成不同的机器代码?

当查看GCC 7.1为以下代码生成x86-64asm时,我发现a生成代码的构造函数虽然b没有构造函数的标签.

class a {
public:
  int aint;

  a() { }
};

class b {
public:
  int bint;

  b() = default;
};

int main() {
  a ac;
    //         lea     rax, [rbp-4]
    //         mov     rdi, rax
    //         call    a::a()
  ac.aint = 2;
    //         mov     DWORD PTR [rbp-4], 2


  b bc;             // no instructions for this statement
  bc.bint = 5;
    //         mov     DWORD PTR [rbp-8], 5

  return 0;
} 
Run Code Online (Sandbox Code Playgroud)

为什么这里为构造函数生成的代码会如此不同?为什么不a() { …

c++ x86 gcc code-generation

0
推荐指数
1
解决办法
103
查看次数

Spark 如何做字节码到机器码指令运行时的转换?

在阅读了一些关于 的文章后Whole State Code Generation,spark 做了字节码优化,将查询计划转换为优化的执行计划。

https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-sql-whole-stage-codegen.html

现在我的下一个问题是,但在完成了与字节码和所有相关的这些优化之后,将这些字节码指令转换为机器代码指令可能仍然是一个可能的瓶颈,因为这是由 JIT 在流程运行时单独完成的为了进行这种优化,JIT 必须有足够的运行次数。

spark 是否会做任何与优化字节码(它是 的结果whole stage code gen)到机器码的动态/运行时转换相关的事情,或者它是否依赖 JIT 将这些字节码指令转换为机器码指令。因为如果它依赖于 JIT,那么就会涉及某些不确定性。

optimization jit code-generation bytecode apache-spark

0
推荐指数
1
解决办法
849
查看次数

Kubernetes 客户端代码生成器:代码是否只能存在于本地而不存在于核心生成器运行的存储库中?

我正在尝试使用 k8s.io/code-generator 生成客户端代码。这些是我遵循的说明:https://itnext.io/how-to-generate-client-codes-for-kubernetes-custom-resource-definitions-crd-b4b9907769ba

我的问题是,我的 go 模块是否需要存在于存储库中,或者我可以简单地在仅存在于我的本地系统而不是任何存储库上的 go 模块上运行generate-groups.sh 脚本吗?

我已经尝试过运行它,据我了解,需要有一个存储库包含我的本地 go 模块的所有内容。我的理解正确吗?

code-generation go kubernetes client-go

0
推荐指数
1
解决办法
3012
查看次数

如何从数组和命令模板生成bash命令?

现在我使用这个 bash 命令:

$ yarn b types && yarn w types && yarn g types && yarn s types
Run Code Online (Sandbox Code Playgroud)

是否可以在 bash 中生成这样的命令?(伪代码):

$ exec ['b', 'w', 'g', 's'].map(input => `yarn ${input} types`).join(" && ")
Run Code Online (Sandbox Code Playgroud)

如果可能的话,这里会使用哪种语法?

我将在我的 package.json 文件(节点)中使用此脚本。纱线工作区 foreach 不适合这里,因为它的输出很差

bash code-generation

0
推荐指数
1
解决办法
57
查看次数