标签: code-generation

将参数传递给生成器中的 Rails 3 模板

在 Rails 2 生成器中,可以通过以下方式将数据传递给模板

record.template(
  "src.html.erb",
  "dest.html.erb",
  :assigns => { :id => id, :name => name }
Run Code Online (Sandbox Code Playgroud)

在 Rails 3 中,看起来模板是新方法。不幸的是,它看起来像第三个参数,config,只接受一个:verbose选项。试图通过传递值:assigns似乎不起作用。

有谁知道如何将动态值传递给我的 Rails 3 模板?

templates code-generation generator ruby-on-rails-3

2
推荐指数
1
解决办法
2952
查看次数

如何使用Sun/Oracle CodeModel库键入强制转换?

我正在尝试使用Java CodeModel库来生成一些代码.在我生成的代码中,我需要执行类型转换.我想要这样的东西......

foo.setBar( ((TypeCastToThis)someVariable).getBar() );
Run Code Online (Sandbox Code Playgroud)

我在库中找到的唯一支持是使用JCast JExpr.cast(JType类型,JExpression expr).但是根据Eclipse,返回类型JCast不是公共的.确切的错误是:"类型com.sun.codemodel.JCast不可见".

这是我正在做的一个简单的例子.

import java.io.File;

import com.sun.codemodel.JBlock;
import com.sun.codemodel.JCast;  //<-- Eclipse flags this as an error
import com.sun.codemodel.JClass;
import com.sun.codemodel.JClassAlreadyExistsException;
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JDefinedClass;
import com.sun.codemodel.JExpr;
import com.sun.codemodel.JMethod;
import com.sun.codemodel.JMod;
import com.sun.codemodel.JVar;



public class CastTest
{

    public static void main(String[] args) throws JClassAlreadyExistsException
    {
        // TODO Auto-generated method stub

        JCodeModel codeModel = new JCodeModel();
        JDefinedClass testClass = codeModel._class("MyTestClass");

        JMethod testMeth = testClass.method(JMod.PUBLIC, codeModel.VOID, "TypeCastTestMethod");

        JBlock testMethBody = testMeth.body();

        JVar castMeVar = …
Run Code Online (Sandbox Code Playgroud)

java code-generation sun-codemodel

2
推荐指数
1
解决办法
1601
查看次数

python中的宏

在我的项目中,我必须经常重复这部分代码:

class SimplePhysicObject(Object):
    def __init__(self):
        super(Object, self).__init__('SimplePhysicObject')
Run Code Online (Sandbox Code Playgroud)

但不是SimplePhysicObject每次都有新的字符串.有没有办法编写一些宏来使这项工作更容易?就像是:

DoTemplate(NewObject)
==>
class NewObject(Object):
    def __init__(self):
        super(Object, self).__init__('NewObject')
Run Code Online (Sandbox Code Playgroud)

UPD抱歉,Object我之前在代码中声明了我自己的类

python macros code-generation macropy

2
推荐指数
1
解决办法
3483
查看次数

使用 JAXB 生成的代码中没有枚举

我的枚举类

@XmlType
@XmlEnum(Integer.class)
public enum  Error {

 @XmlEnumValue("1")
    ENUM_VALUE_1(1, "some string 1", "some string 1"),
 @XmlEnumValue("2")
    ENUM_VALUE_2(2, "some string 2", "some string 2");

  private Error(int errorCode, String msgKey, String message) {
    this.errorCode = errorCode;
    this.msgKey = msgKey;
    this.message = message;
 }
}
Run Code Online (Sandbox Code Playgroud)

生成的 xsd

<xs:simpleType name="error">
   <xs:restriction base="xs:int">
     <xs:enumeration value="1"/>
     <xs:enumeration value="2"/>
   </xs:restriction>
</xs:simpleType> 
Run Code Online (Sandbox Code Playgroud)

我正在使用的绑定

 <jaxb:bindings schemaLocation="schema.xsd">
     <jaxb:bindings node="//xs:simpleType[@name='error']">
         <jaxb:typesafeEnumClass ref="packageName.Error" />
     </jaxb:bindings>
 </jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)

问题是没有生成枚举文件。我正在使用“maven-jaxb2-plugin”进行代码生成。

enums code-generation jaxb

2
推荐指数
1
解决办法
4455
查看次数

Omnigraffle Classes图表编码

我用OmniGraffle Pro工具制作了我的UML类图,但是我想自动地从它的图中制作C代码.也许有人知道我怎么做到这一点?
谢谢.

wysiwyg uml code-generation

2
推荐指数
1
解决办法
9543
查看次数

跨包使用 go/parser

我使用go/parser来解析 golang 文件并检查它的 AST。我有一个特定的问题,我想使用 go/parser 但我遇到了障碍。

考虑以下文件存在于 GOPATH/src 中

$GOPATH/src/
    example.go
    example_package/
        example_package.go
Run Code Online (Sandbox Code Playgroud)

以下是上述文件的内容

例子.go

package main

import (
    "example_package"
)

type MyObject struct {
    base *example_package.BaseObject
}

func DoMyThing(arg *example_package.FirstArg) {
    arg.Write(10)
}

func DoMyAnotherThing() {
}

func main() {
    example_package.GetItStarted(&MyObject{})
}
Run Code Online (Sandbox Code Playgroud)

example_package.go

package example_package

func GetItStarted(obj interface{}) {
}

type FirstArg interface {
    Read() int
    Write(x int)
}

type BaseObject struct {
}

func (p *BaseObject) DoSomething(arg *FirstArg, a int) {
    arg.Write(arg.Read() + a)
}
Run Code Online (Sandbox Code Playgroud)

我的意图是编写一个名为 …

parsing code-generation abstract-syntax-tree go

2
推荐指数
1
解决办法
932
查看次数

从 JOOQ 中的代码生成中排除特定模式

我目前正在尝试使用 JOOQ 基于我现有的 Postgres DB 生成类。在我的 JOOQ .xml 配置中,我省略了任何 inputSchema 标记,以便 JOOQ 生成它找到的所有模式:

     <schemata>
      <schema>
      </schema>
     </schemata>   
Run Code Online (Sandbox Code Playgroud)

但是,我想从生成的内容中排除信息模式。有没有办法以黑名单方式做到这一点?或者我是否必须为除信息架构之外的所有架构添加输入架构?

java orm code-generation jooq

2
推荐指数
1
解决办法
674
查看次数

Python 中要避免的变量名

某处是否有一个列表(或者更好的是一个模块!),我可以用它来检查字符串是否是变量名称的“坏”选择,其中“坏”被定义为“是关键字或内置 -在功能等”?

我有一个从 Jinja 模板(准确地说是 Django 模型)生成 Python 类的脚本,我想修复由于我上面提到的原因而不适合的任何字段名称。

到目前为止,我有一张看起来像这样的支票:

def is_bad_name(name):
    return keyword.iskeyword(name) or (name in ["type"])
Run Code Online (Sandbox Code Playgroud)

因此,表达我的问题的另一种方式是:除了“类型”之外,我还应该在该列表中添加什么?

我意识到不可能有任何完整的列表,因为它会根据我正在使用的其他模块中定义的内容而有所不同,但我想知道是否有一个很好的列表,列出了几乎永远不会使用的东西。谢谢!

python code-generation reserved-words

2
推荐指数
1
解决办法
3286
查看次数

如何修改 Mips 中 .text 段内的 .data 值?

我在 .data 段声明的 Mips 中有一个全局变量

.data
   globalVariable:  .word  10
Run Code Online (Sandbox Code Playgroud)

如何访问和修改 .text 段中的内容?

compiler-construction assembly code-generation mips

2
推荐指数
1
解决办法
4151
查看次数

如何在 Telosys CLI 中设置 JDBC 驱动 JAR 以创建 dbmodel

我定期使用 Telosys Eclipse 插件从 PostgreSQL 数据库构建的“dbmodel”生成我的 Java 代码。在带有 Java 项目的 Eclipse 中,JDBC 驱动程序已经在 J​​ava 构建路径中,因此创建“dbmodel”非常容易。

现在我正在尝试使用 Telosys CLI(而不是 Eclipse 插件)为 NodeJS 生成 JavaScript 代码。我想从另一个 PostgreSQL 数据库创建一个新的“dbmodel”,问题是:使用 Telosys CLI 如何指定必须用于创建这个新“dbmodel”的 JDBC 驱动程序(jar 文件)?

code-generation jar jdbc telosys

2
推荐指数
1
解决办法
621
查看次数