enjoy 3.5

This commit is contained in:
James
2018-08-12 12:15:01 +08:00
parent 3e89651aa4
commit 1ce7068072
16 changed files with 183 additions and 95 deletions

View File

@@ -24,6 +24,17 @@ import com.jfinal.template.stat.Scope;
/**
* Method : expr '.' ID '(' exprList? ')'
*
* 每次通过 MethodKit.getMethod(...) 取 MethodInfo 而不是用属性持有其对象
* 是为了支持 target 对象的动态类型MethodInfo 中的 Method 被调用 15 次以后
* 会被 JDK 动态生成 GeneratedAccessorXXX 字节码,性能不是问题
* 唯一的性能损耗是从 HashMap 中获取 MethodInfo 对象,可以忽略不计
*
* 如果在未来通过结合 #dynamic(boolean) 指令来优化,需要在 Ctrl 中引入一个
* boolean dynamic = false 变量,而不能在 Env、Scope 引入该变量
*
* 还需要引入一个 NullMethodInfo 以及 isNull() 方法,此优化复杂度提高不少,
* 暂时不做此优化
*/
public class Method extends Expr {