@Override public void visitCastExpression(CastExpression node) { TypeReference ref = getTypeFromCast(node); Node result = toTree(ref, FlagKey.NAMEREFERENCE_IS_TYPE); lombok.ast.Cast cast = new lombok.ast.Cast().astTypeReference((lombok.ast.TypeReference) result); cast.astOperand((lombok.ast.Expression)toTree(node.expression)); setConversionPositionInfo(cast, "type", toPosition(ref.sourceStart, ref.sourceEnd)); set(node, setPosition(node, cast)); }
@Override public void visitTypeCast(JCTypeCast node) { Cast cast = new Cast(); cast.rawOperand(toTree(node.getExpression())); cast.rawTypeReference(toTree(node.getType(), FlagKey.TYPE_REFERENCE)); set(node, cast); }
@Override public boolean visitCast(Cast node) { return posSet(node, treeMaker.TypeCast(toTree(node.rawTypeReference()), toExpression(node.astOperand()))); }
@Override public boolean visitCast(lombok.ast.Cast node) { Expression typeRef = toExpression(node.astTypeReference()); Expression operand = toExpression(node.astOperand()); CastExpression expr = createCastExpression(typeRef, operand); Position ecjTypePos = getConversionPositionInfo(node, "type"); typeRef.sourceStart = ecjTypePos == null ? posOfStructure(node, "(", true) + 1 : ecjTypePos.getStart(); typeRef.sourceEnd = ecjTypePos == null ? posOfStructure(node, ")", 0, false) - 2 : ecjTypePos.getEnd() - 1; expr.sourceStart = start(node); expr.sourceEnd = end(node); return set(node, expr); }
@Override public boolean visitCast(Cast node) { parensOpen(node); formatter.buildInline(node); formatter.append("("); visit(node.rawTypeReference()); formatter.append(")"); formatter.space(); visit(node.rawOperand()); formatter.closeInline(); parensClose(node); return true; }
if (node.getParent() instanceof Cast) { Cast cast = (Cast) node.getParent(); String castType = cast.astTypeReference().getTypeName(); StrictListAccessor<Expression, MethodInvocation> args = node.astArguments(); if (args.size() == 1) {
@Override public boolean visitCast(lombok.ast.Cast node) { Expression typeRef = toExpression(node.astTypeReference()); Expression operand = toExpression(node.astOperand()); CastExpression expr = createCastExpression(typeRef, operand); Position ecjTypePos = getConversionPositionInfo(node, "type"); typeRef.sourceStart = ecjTypePos == null ? posOfStructure(node, "(", true) + 1 : ecjTypePos.getStart(); typeRef.sourceEnd = ecjTypePos == null ? posOfStructure(node, ")", 0, false) - 2 : ecjTypePos.getEnd() - 1; expr.sourceStart = start(node); expr.sourceEnd = end(node); return set(node, expr); }
@Override public boolean visitCast(Cast node) { return posSet(node, treeMaker.TypeCast(toTree(node.rawTypeReference()), toExpression(node.astOperand()))); }
@Override public boolean visitCast(Cast node) { parensOpen(node); formatter.buildInline(node); formatter.append("("); visit(node.rawTypeReference()); formatter.append(")"); formatter.space(); visit(node.rawOperand()); formatter.closeInline(); parensClose(node); return true; }
@Override public void visitMethod(@NonNull JavaContext context, @Nullable AstVisitor visitor, @NonNull MethodInvocation node) { if (node.getParent() instanceof Cast) { Cast cast = (Cast) node.getParent(); StrictListAccessor<Expression, MethodInvocation> args = node.astArguments(); if (args.size() == 1) { String name = stripPackage(args.first().toString()); String expectedClass = getExpectedType(name); if (expectedClass != null) { String castType = cast.astTypeReference().getTypeName(); if (castType.indexOf('.') == -1) { expectedClass = stripPackage(expectedClass); } if (!castType.equals(expectedClass)) { // It's okay to mix and match // android.content.ClipboardManager and android.text.ClipboardManager if (isClipboard(castType) && isClipboard(expectedClass)) { return; } String message = String.format( "Suspicious cast to `%1$s` for a `%2$s`: expected `%3$s`", stripPackage(castType), name, stripPackage(expectedClass)); context.report(ISSUE, node, context.getLocation(cast), message); } } } } }
@Override public void visitTypeCast(JCTypeCast node) { Cast cast = new Cast(); cast.rawOperand(toTree(node.getExpression())); cast.rawTypeReference(toTree(node.getType(), FlagKey.TYPE_REFERENCE)); set(node, cast); }
@Override public void visitCastExpression(CastExpression node) { TypeReference ref = getTypeFromCast(node); Node result = toTree(ref, FlagKey.NAMEREFERENCE_IS_TYPE); lombok.ast.Cast cast = new lombok.ast.Cast().astTypeReference((lombok.ast.TypeReference) result); cast.astOperand((lombok.ast.Expression)toTree(node.expression)); setConversionPositionInfo(cast, "type", toPosition(ref.sourceStart, ref.sourceEnd)); set(node, setPosition(node, cast)); }
@Override public boolean visitCast(lombok.ast.Cast node) { Expression typeRef = toExpression(node.astTypeReference()); Expression operand = toExpression(node.astOperand()); CastExpression expr = createCastExpression(typeRef, operand); Position ecjTypePos = getConversionPositionInfo(node, "type"); typeRef.sourceStart = ecjTypePos == null ? posOfStructure(node, "(", true) + 1 : ecjTypePos.getStart(); typeRef.sourceEnd = ecjTypePos == null ? posOfStructure(node, ")", 0, false) - 2 : ecjTypePos.getEnd() - 1; expr.sourceStart = start(node); expr.sourceEnd = end(node); return set(node, expr); }
@Override public boolean visitCast(Cast node) { return posSet(node, treeMaker.TypeCast(toTree(node.rawTypeReference()), toExpression(node.astOperand()))); }
@Override public boolean visitCast(Cast node) { parensOpen(node); formatter.buildInline(node); formatter.append("("); visit(node.rawTypeReference()); formatter.append(")"); formatter.space(); visit(node.rawOperand()); formatter.closeInline(); parensClose(node); return true; }
@Override public void visitTypeCast(JCTypeCast node) { Cast cast = new Cast(); cast.rawOperand(toTree(node.getExpression())); cast.rawTypeReference(toTree(node.getType(), FlagKey.TYPE_REFERENCE)); set(node, cast); }
@Override public void visitCastExpression(CastExpression node) { TypeReference ref = getTypeFromCast(node); Node result = toTree(ref, FlagKey.NAMEREFERENCE_IS_TYPE); lombok.ast.Cast cast = new lombok.ast.Cast().astTypeReference((lombok.ast.TypeReference) result); cast.astOperand((lombok.ast.Expression)toTree(node.expression)); setConversionPositionInfo(cast, "type", toPosition(ref.sourceStart, ref.sourceEnd)); set(node, setPosition(node, cast)); }
Object operandValue = evaluate(cast.astOperand()); if (operandValue instanceof Number) { Number number = (Number)operandValue; String typeName = cast.astTypeReference().getTypeName(); if (typeName.equals("float")) { return number.floatValue();
public Node createUnaryPrefixExpression(Node operand, org.parboiled.Node<Node> opNode, String symbol) { if (opNode == null) return operand; if (!opNode.getChildren().isEmpty() && "cast".equals(opNode.getChildren().get(0).getLabel())) { return posify(new Cast().rawOperand(operand).rawTypeReference(opNode.getValue())); } else { if (symbol != null) symbol = symbol.trim(); if (!symbol.isEmpty()) { UnaryOperator op = UnaryOperator.fromSymbol(symbol, false); UnaryExpression expr = new UnaryExpression().rawOperand(operand); if (op != null) expr.astOperator(op); return posify(expr); } } return operand; }
Cast cast = (Cast) node; if (context != null) { ResolvedNode typeReference = context.resolve(cast.astTypeReference()); if (typeReference instanceof ResolvedClass) { return ((ResolvedClass) typeReference).getType(); TypeDescriptor viewType = evaluate(cast.astOperand()); if (viewType != null) { return viewType;