用于更改/修改代码的用户定义注释

时间:2012-08-25 22:36:04

标签: java annotations

例如,我有这段代码:

// ...
for (int i = 0; i < 5000; ++i) {
    for (int j = 0; j < 7000; ++j) {
        // Do something...
    }
}
// ...

我可以使用注释更改它吗?如果是的话,我该怎么做呢?像这样:

// ...
@SplitFor(value="i < 2000, j < 3000")
for (int i = 0; i < 5000; ++i) {
    for (int j = 0; j < 7000; ++j) {
        // Do something...
    }
}
// ...

应翻译为:

// ...
for (int i = 0; i < 2000; ++i) {
    for (int j = 0; j < 3000; ++j) {
        // Do something...
    }
}
// ...

有可能吗?如果是 - 如何?

P.S .: 这可以用于简单的并行化:例如,我可以在Fork / Join框架中生成拆分循环。

1 个答案:

答案 0 :(得分:1)

通常,您可以通过以下两种方式之一完成此操作:

  1. 注释处理器,它将看到注释,并改变类代码
  2. Aspectj,它可以找到注释,并进行代码的运行时编织,但我不确定它对块代码替换会有什么功能。通常人们在建议之前/之后使用它来代替代码。