@SuppressWarnings("unchecked") @Override public <T, U> U getValue(T element) { return ((U) ((Object) (castTarget(element).getTypeCasts()))); }
private boolean shouldSetBracket(CtExpression<?> e) { if (!e.getTypeCasts().isEmpty()) { return true; } try { if ((e.getParent() instanceof CtBinaryOperator) || (e.getParent() instanceof CtUnaryOperator)) { return (e instanceof CtTargetedExpression) || (e instanceof CtAssignment) || (e instanceof CtConditional) || (e instanceof CtUnaryOperator) || e instanceof CtBinaryOperator; } if (e.getParent() instanceof CtTargetedExpression) { return (e instanceof CtBinaryOperator) || (e instanceof CtAssignment) || (e instanceof CtConditional) || (e instanceof CtUnaryOperator); } } catch (ParentNotInitializedException ex) { // nothing we accept not to have a parent } return false; }
/** * Enters an expression. */ protected void enterCtExpression(CtExpression<?> e) { if (!(e instanceof CtStatement)) { elementPrinterHelper.writeComment(e, CommentOffset.BEFORE); } getPrinterHelper().mapLine(e, sourceCompilationUnit); if (shouldSetBracket(e)) { context.parenthesedExpression.push(e); printer.writeSeparator("("); } if (!e.getTypeCasts().isEmpty()) { for (CtTypeReference<?> r : e.getTypeCasts()) { printer.writeSeparator("("); scan(r); printer.writeSeparator(")").writeSpace(); printer.writeSeparator("("); context.parenthesedExpression.push(e); } } }
@Override public <T> void scanCtExpression(CtExpression<T> expression) { super.scanCtExpression(expression); if (!isToBeProcessed && expression.getTypeCasts().size() > 0) { isToBeProcessed = iterateOnTypeReference(expression.getTypeCasts()); } }
private boolean shouldSetBracket(CtExpression<?> e) { if (e.getTypeCasts().size() != 0) { return true; } try { if ((e.getParent() instanceof CtBinaryOperator) || (e.getParent() instanceof CtUnaryOperator)) { return (e instanceof CtTargetedExpression) || (e instanceof CtAssignment) || (e instanceof CtConditional) || (e instanceof CtUnaryOperator); } if (e.getParent() instanceof CtTargetedExpression) { return (e instanceof CtBinaryOperator) || (e instanceof CtAssignment) || (e instanceof CtConditional); } } catch (ParentNotInitializedException ex) { // nothing we accept not to have a parent } return false; }
/** * Enters an expression. */ protected void enterCtExpression(CtExpression<?> e) { mapLine(line, e); if (shouldSetBracket(e)) { context.parenthesedExpression.push(e); write("("); } if (!e.getTypeCasts().isEmpty()) { for (CtTypeReference<?> r : e.getTypeCasts()) { write("("); DefaultJavaPrettyPrinter.this.scan(r); write(")"); write("("); context.parenthesedExpression.push(e); } } }
@SuppressWarnings("unchecked") @Override public <T> void scanCtExpression(CtExpression<T> expression) { for (int i = 0; i < expression.getTypeCasts().size(); i++) { CtTypeReference<T> t = (CtTypeReference<T>) expression.getTypeCasts().get(i); if (parameterNames.contains(t.getSimpleName())) { } else if (o instanceof CtTypeReference) { t = (CtTypeReference<T>) o; expression.getTypeCasts().set(i, t); } else { throw new RuntimeException("unsupported reference substitution");
if (! literal.getTypeCasts().isEmpty()){ classOfLiteral = literal.getTypeCasts().get(0).getActualClass(); } else { classOfLiteral = literal.getType().getActualClass();
clone.getTypeCasts().clear(); invocation.getParent(CtStatementList.class).insertBefore(statementTypeFilter, (CtStatement) clone); } else if (!(clone instanceof CtLiteral || clone instanceof CtVariableRead)) {