private static CodeTree callMethod(CodeTree receiver, ExecutableElement method, CodeTree... boundValues) { CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); if (method.getModifiers().contains(STATIC)) { builder.startStaticCall(method.getEnclosingElement().asType(), method.getSimpleName().toString()); } else { builder.startCall(receiver, method.getSimpleName().toString()); } int index = -1; for (VariableElement parameter : method.getParameters()) { index++; if (index < boundValues.length) { CodeTree tree = boundValues[index]; if (tree != null) { builder.tree(tree); continue; } } builder.defaultValue(parameter.asType()); } builder.end(); return builder.build(); }
private static CodeTree callMethod(CodeTree receiver, ExecutableElement method, CodeTree... boundValues) { CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); if (method.getModifiers().contains(STATIC)) { builder.startStaticCall(method.getEnclosingElement().asType(), method.getSimpleName().toString()); } else { builder.startCall(receiver, method.getSimpleName().toString()); } int index = -1; for (VariableElement parameter : method.getParameters()) { index++; if (index < boundValues.length) { CodeTree tree = boundValues[index]; if (tree != null) { builder.tree(tree); continue; } } builder.defaultValue(parameter.asType()); } builder.end(); return builder.build(); }
public CodeTreeBuilder returnDefault() { ExecutableElement method = findMethod(); if (ElementUtils.isVoid(method.getReturnType())) { returnStatement(); } else { startReturn().defaultValue(method.getReturnType()).end(); } return this; }
public CodeTreeBuilder returnDefault() { ExecutableElement method = findMethod(); if (ElementUtils.isVoid(method.getReturnType())) { returnStatement(); } else { startReturn().defaultValue(method.getReturnType()).end(); } return this; }
values.add(createParameterReference(value, method.getMethod(), parameterIndex)); } else { values.add(CodeTreeBuilder.createBuilder().defaultValue(targetType).build());
values.add(createTypeSafeReference(shortCircuit, targetType)); } else { values.add(CodeTreeBuilder.createBuilder().defaultValue(targetType).build()); values.add(createTypeSafeReference(value, targetType)); } else { values.add(CodeTreeBuilder.createBuilder().defaultValue(targetType).build());
public CodeTreeBuilder defaultDeclaration(TypeMirror type, String name) { if (!ElementUtils.isVoid(type)) { startStatement(); type(type); string(" "); string(name); string(" = "); defaultValue(type); end(); // statement } return this; }
public CodeTreeBuilder defaultDeclaration(TypeMirror type, String name) { if (!ElementUtils.isVoid(type)) { startStatement(); type(type); string(" "); string(name); string(" = "); defaultValue(type); end(); // statement } return this; }
TypeMirror parameterTargetType = targetType.getFrameParameter(); if (parameterLocal == null) { bindings.add(CodeTreeBuilder.createBuilder().defaultValue(parameterTargetType).build()); } else { bindings.add(parameterLocal.createReference()); TypeMirror parameterTargetType = targetTypes.get(i); if (parameterLocal == null) { bindings.add(CodeTreeBuilder.createBuilder().defaultValue(parameterTargetType).build()); } else { bindings.add(parameterLocal.createReference());
private static CodeTree createShortCircuit(LocalVariable targetValue, LocalVariable shortCircuitValue, CodeTree tryExecute) { if (shortCircuitValue == null) { return tryExecute; } CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); builder.tree(shortCircuitValue.createDeclaration(shortCircuitValue.createReference())); builder.tree(targetValue.createDeclaration(builder.create().defaultValue(targetValue.getTypeMirror()).build())); builder.startIf().string(shortCircuitValue.getName()).end().startBlock(); builder.tree(tryExecute); builder.end(); return builder.build(); }
private CodeTree createExecute(CodeTreeBuilder parent, FrameState frameState, final ExecutableTypeData forType, SpecializationData specialization, NodeExecutionMode mode) { CodeTreeBuilder builder = parent.create(); if (mode.isSlowPath()) { builder.statement("lock.unlock()"); builder.statement("hasLock = false"); } if (specialization.getMethod() == null) { builder.tree(createThrowUnsupported(builder, frameState)); } else { if (isVoid(specialization.getMethod().getReturnType())) { builder.statement(callTemplateMethod(null, specialization, frameState)); if (isVoid(forType.getReturnType())) { builder.returnStatement(); } else { builder.startReturn().defaultValue(forType.getReturnType()).end(); } } else { builder.startReturn(); builder.tree(expectOrCast(specialization.getReturnType().getType(), forType, callTemplateMethod(null, specialization, frameState))); builder.end(); } } return createCatchRewriteException(builder, specialization, forType, frameState, builder.build(), mode); }
} else { execute.startReturn(); execute.defaultValue(forType.getReturnType()); execute.end();
builder.declaration(sType, localName, CodeTreeBuilder.createBuilder().defaultValue(sType).build());
castBuilder.string(" : ").defaultValue(targetType);