java jmod_Java JMod.FINAL属性代码示例

@SuppressWarnings("unchecked")

ClassGenerator(CodeGenerator codeGenerator, MappingSet mappingSet, SignatureHolder signature,

EvaluationVisitor eval, JDefinedClass clazz, JCodeModel model,

OptionSet optionManager) throws JClassAlreadyExistsException {

this.codeGenerator = codeGenerator;

this.clazz = clazz;

this.mappings = mappingSet;

this.sig = signature;

this.evaluationVisitor = eval;

this.model = model;

this.optionManager = optionManager;

blocks = (LinkedList[]) new LinkedList[sig.size()];

for (int i =0; i < sig.size(); i++) {

blocks[i] = Lists.newLinkedList();

}

rotateBlock();

for (SignatureHolder child : signature.getChildHolders()) {

Class> innerClass = child.getSignatureClass();

String innerClassName = innerClass.getSimpleName();

// Create the inner class as private final. If the template (super) class

// is static, then make the subclass static as well. Note the conversion

// from the JDK Modifier values to the JCodeModel JMod values: the

// values are different.

int mods = JMod.PRIVATE + JMod.FINAL;

if ((innerClass.getModifiers() & Modifier.STATIC) != 0) {

mods += JMod.STATIC;

}

JDefinedClass innerClazz = clazz._class(mods, innerClassName);

innerClasses.put(innerClassName, new ClassGenerator<>(codeGenerator, mappingSet, child, eval, innerClazz, model, optionManager));

}

long maxExprsNumber = optionManager != null ? optionManager.getOption(ExecConstants.CODE_GEN_EXP_IN_METHOD_SIZE_VALIDATOR) : 50;

maxIndex = Math.round((0xFFFF / (1 + 3. / (3 * sig.size() + maxExprsNumber)) - 1000) / 3);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值