private static CodeTree string(String s) { return CodeTreeBuilder.singleString(s); }
private static CodeTree string(String s) { return CodeTreeBuilder.singleString(s); }
public CodeTree createReference() { if (accessorTree != null) { return accessorTree; } else { return CodeTreeBuilder.singleString(getName()); } }
public CodeTree createReference() { if (accessorTree != null) { return accessorTree; } else { return CodeTreeBuilder.singleString(getName()); } }
static CodeTree cast(TypeSystemData typeSystem, TypeMirror type, String content) { return cast(typeSystem, type, CodeTreeBuilder.singleString(content)); }
public CodeTreeBuilder declaration(TypeMirror type, String name, String init) { return declaration(type, name, singleString(init)); }
public CodeTreeBuilder declaration(String type, String name, String init) { return declaration(type, name, singleString(init)); }
public CodeTreeBuilder startSynchronized(String object) { return startSynchronized(singleString(object)); }
public CodeTreeBuilder declaration(TypeMirror type, String name, String init) { return declaration(type, name, singleString(init)); }
public CodeTreeBuilder startCall(String receiver, String callSite) { if (receiver != null) { return startCall(singleString(receiver), callSite); } else { return startCall(callSite); } }
public CodeTreeBuilder startCall(String receiver, String callSite) { if (receiver != null) { return startCall(singleString(receiver), callSite); } else { return startCall(callSite); } }
public void loadFastPathState(SpecializationData specialization) { for (CacheExpression cache : specialization.getCaches()) { Parameter cacheParameter = cache.getParameter(); String name = cacheParameter.getVariableElement().getSimpleName().toString(); set(cacheParameter.getLocalName(), new LocalVariable(cacheParameter.getType(), name, CodeTreeBuilder.singleString("this." + name), null)); } for (AssumptionExpression assumption : specialization.getAssumptionExpressions()) { String name = assumptionName(assumption); TypeMirror type = assumption.getExpression().getResolvedType(); set(name, new LocalVariable(type, name, CodeTreeBuilder.singleString("this." + name), null)); } }
private CodeTree callChildExecuteMethod(NodeExecutionData execution, ExecutableTypeData method, FrameState frameState) { return callMethod(CodeTreeBuilder.singleString(accessNodeField(execution)), method.getMethod(), bindExecuteMethodParameters(execution, method, frameState)); }
public void loadFastPathState(SpecializationData specialization) { for (CacheExpression cache : specialization.getCaches()) { Parameter cacheParameter = cache.getParameter(); String name = cacheParameter.getVariableElement().getSimpleName().toString(); set(cacheParameter.getLocalName(), new LocalVariable(cacheParameter.getType(), name, CodeTreeBuilder.singleString("this." + name))); } for (AssumptionExpression assumption : specialization.getAssumptionExpressions()) { String name = assumptionName(assumption); TypeMirror type = assumption.getExpression().getResolvedType(); set(name, new LocalVariable(type, name, CodeTreeBuilder.singleString("this." + name))); } }
private CodeTree createCallNext(CodeTreeBuilder parent, ExecutableTypeData currentType, ExecutableTypeData callType, LocalContext currentValues) { if (singleSpecializable) { return createThrowUnsupported(currentValues); } CodeTreeBuilder callBuilder = parent.create(); callBuilder.tree(createCallDelegateExecute(callBuilder, CodeTreeBuilder.singleString("getNext()"), currentValues, currentType, callType)); nextUsed = true; return callBuilder.build(); }
public CodeTree createLoad(FrameState frameState) { if (frameState.get(name) != null) { // already loaded return CodeTreeBuilder.singleString(""); } CodeTreeBuilder builder = CodeTreeBuilder.createBuilder(); String fieldName = name + "_"; LocalVariable var = new LocalVariable(bitSetType, name, null); CodeTreeBuilder init = builder.create(); init.tree(CodeTreeBuilder.singleString(fieldName)); builder.tree(var.createDeclaration(init.build())); frameState.set(name, var); return builder.build(); }
private static LocalVariable renameExecutableTypeParameter(CodeExecutableElement method, ExecutableTypeData executedType, int evaluatedIndex, TypeMirror targetType, LocalVariable var) { int parameterIndex = executedType.getParameterIndex(evaluatedIndex); int varArgsIndex = executedType.getVarArgsIndex(parameterIndex); LocalVariable returnVar = var; if (varArgsIndex >= 0) { returnVar = returnVar.accessWith(CodeTreeBuilder.singleString(VARARGS_NAME + "[" + varArgsIndex + "]")); } else { ((CodeVariableElement) method.getParameters().get(parameterIndex)).setName(returnVar.getName()); } if (!isObject(targetType)) { returnVar = returnVar.newType(targetType); } return returnVar; }
private static LocalVariable renameExecutableTypeParameter(CodeExecutableElement method, ExecutableTypeData executedType, int evaluatedIndex, TypeMirror targetType, LocalVariable var) { int parameterIndex = executedType.getParameterIndex(evaluatedIndex); int varArgsIndex = executedType.getVarArgsIndex(parameterIndex); LocalVariable returnVar = var; if (varArgsIndex >= 0) { returnVar = returnVar.accessWith(CodeTreeBuilder.singleString(VARARGS_NAME + "[" + varArgsIndex + "]")); } else { ((CodeVariableElement) method.getParameters().get(parameterIndex)).setName(returnVar.getName()); } if (!isObject(targetType)) { returnVar = returnVar.newType(targetType); } return returnVar; }
private Element createAcceptAndExecute() { ExecutableTypeData executableElement = createSpecializationNodeSignature(node.getSignatureSize()); LocalContext currentLocals = LocalContext.load(this, executableElement, varArgsThreshold); CodeExecutableElement executable = createExecuteMethod(null, executableElement, currentLocals, false, varArgsThreshold); executable.getModifiers().add(FINAL); CodeTreeBuilder builder = executable.createBuilder(); CodeTree receiver = CodeTreeBuilder.singleString("this"); builder.tree(createCallDelegateExecute(builder, receiver, currentLocals, executableElement, node.getGenericExecutableType(null))); return executable; }
private Element createGetNext(CodeTypeElement type) { if (!nextUsed) { return null; } CodeExecutableElement method = new CodeExecutableElement(modifiers(PROTECTED, FINAL), type.asType(), "getNext"); CodeTreeBuilder builder = method.createBuilder(); builder.startReturn().cast(type.asType(), CodeTreeBuilder.singleString("this.next")).end(); return method; }