public static CodeTree check(TypeSystemData typeSystem, TypeMirror type, CodeTree content) { if (ElementUtils.isObject(type)) { return content; } CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); TypeCheckData check = typeSystem.getCheck(type); if (check == null) { builder.instanceOf(content, ElementUtils.boxType(typeSystem.getContext(), type)); } else { builder.startStaticCall(typeSystem.getTemplateType().asType(), check.getMethodName()).tree(content).end(); } return builder.build(); }
static CodeTree check(TypeSystemData typeSystem, TypeMirror type, CodeTree content) { if (ElementUtils.isObject(type)) { return content; } CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); TypeCheckData check = typeSystem.getCheck(type); if (check == null) { builder.instanceOf(content, ElementUtils.boxType(typeSystem.getContext(), type)); } else { builder.startStaticCall(typeSystem.getTemplateType().asType(), check.getMethodName()).tree(content).end(); } return builder.build(); }
builder.statement("break"); } else { // can throw UnexpectedResultException builder.string("result").instanceOf(boxed(returnTypeMirror, context.getEnvironment().getTypeUtils())).end(); builder.startBlock(); builder.startStatement().string(returnName).string(" = ");
} else { builder.declaration(cache.getExpression().getResolvedType(), fieldName, value); builder.startIf().string(fieldName).instanceOf(castType).end().startBlock(); builder.startStatement().startCall(insertTarget, insertName); builder.startGroup().cast(castType).string(fieldName).end();
builder.startIf().string("ex").instanceOf(context.getType(UnexpectedResultException.class)).end().startBlock(); builder.tree(createReturnUnexpectedResult(forType, true)); builder.end().startElseBlock();