private final void initDefaultValues() { final ArrayList<StructFieldDefineImpl> args = this.statement.getArguments(); for (int i = 0, c = args.size(); i < c; i++) { StructFieldDefineImpl arg = args.get(i); if (arg.defaultValue != null && arg.defaultValue != NullExpr.NULL) { try { arg.setFieldValue(this.argValueObj, (ConstExpr) arg.defaultValue); } catch (ClassCastException e) { throw new IllegalArgumentException("不支持的默认值类型", e); } } } }
final void setArgumentValue(ArgumentDefine arg, Object argValue) { this.adapter.checkAccessible(); if (arg.getOwner() != this.statement.getArgumentsDefine()) { throw new IllegalArgumentException(); } ((StructFieldDefineImpl) arg).setFieldValueAsObject(this.argValueObj, argValue); }