Example usage for org.eclipse.jdt.core.dom VariableDeclarationFragment getExtraDimensions

List of usage examples for org.eclipse.jdt.core.dom VariableDeclarationFragment getExtraDimensions

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom VariableDeclarationFragment getExtraDimensions.

Prototype

public int getExtraDimensions() 

Source Link

Document

Returns the number of extra array dimensions over and above the explicitly-specified type.

Usage

From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java

License:Open Source License

@Override
public boolean visit(VariableDeclarationFragment node) {
    node.getName().accept(this);
    if (node.getAST().apiLevel() >= AST.JLS8) {
        List<Dimension> dimensions = node.extraDimensions();
        for (Iterator<Dimension> it = dimensions.iterator(); it.hasNext();) {
            Dimension e = it.next();
            e.accept(this);
        }/*from w  w w  . j  av a  2  s  .c o  m*/
    } else {
        for (int i = 0; i < node.getExtraDimensions(); i++) {
            this.fBuffer.append("[]"); //$NON-NLS-1$
        }
    }
    if (node.getInitializer() != null) {
        this.fBuffer.append("=");//$NON-NLS-1$
        node.getInitializer().accept(this);
    }
    return false;
}

From source file:boa.datagen.util.Java7Visitor.java

License:Apache License

@Override
public boolean visit(FieldDeclaration node) {
    List<boa.types.Ast.Variable> list = fields.peek();
    for (Object o : node.fragments()) {
        VariableDeclarationFragment f = (VariableDeclarationFragment) o;
        Variable.Builder b = Variable.newBuilder();
        //         b.setPosition(pos.build()); // FIXME
        b.setName(f.getName().getFullyQualifiedName());
        for (Object m : node.modifiers()) {
            if (((IExtendedModifier) m).isAnnotation())
                ((Annotation) m).accept(this);
            else/*from www.j a  v  a 2  s .  c o  m*/
                ((org.eclipse.jdt.core.dom.Modifier) m).accept(this);
            b.addModifiers(modifiers.pop());
        }
        boa.types.Ast.Type.Builder tb = boa.types.Ast.Type.newBuilder();
        String name = typeName(node.getType());
        for (int i = 0; i < f.getExtraDimensions(); i++)
            name += "[]";
        tb.setName(getIndex(name));
        tb.setKind(boa.types.Ast.TypeKind.OTHER);
        b.setVariableType(tb.build());
        if (f.getInitializer() != null) {
            f.getInitializer().accept(this);
            b.setInitializer(expressions.pop());
        }
        list.add(b.build());
    }
    return false;
}

From source file:boa.datagen.util.Java7Visitor.java

License:Apache License

@Override
public boolean visit(VariableDeclarationStatement node) {
    boa.types.Ast.Statement.Builder b = boa.types.Ast.Statement.newBuilder();
    //      b.setPosition(pos.build());
    List<boa.types.Ast.Statement> list = statements.peek();
    b.setKind(boa.types.Ast.Statement.StatementKind.EXPRESSION);
    boa.types.Ast.Expression.Builder eb = boa.types.Ast.Expression.newBuilder();
    //      eb.setPosition(pos.build());//FIXME
    eb.setKind(boa.types.Ast.Expression.ExpressionKind.VARDECL);
    for (Object o : node.fragments()) {
        VariableDeclarationFragment f = (VariableDeclarationFragment) o;
        Variable.Builder vb = Variable.newBuilder();
        //         vb.setPosition(pos.build());//FIXME
        vb.setName(f.getName().getFullyQualifiedName());
        for (Object m : node.modifiers()) {
            if (((IExtendedModifier) m).isAnnotation())
                ((Annotation) m).accept(this);
            else/*from  w  ww  . j  a  v a 2s .c o m*/
                ((org.eclipse.jdt.core.dom.Modifier) m).accept(this);
            vb.addModifiers(modifiers.pop());
        }
        boa.types.Ast.Type.Builder tb = boa.types.Ast.Type.newBuilder();
        String name = typeName(node.getType());
        for (int i = 0; i < f.getExtraDimensions(); i++)
            name += "[]";
        tb.setName(getIndex(name));
        tb.setKind(boa.types.Ast.TypeKind.OTHER);
        vb.setVariableType(tb.build());
        if (f.getInitializer() != null) {
            f.getInitializer().accept(this);
            vb.setInitializer(expressions.pop());
        }
        eb.addVariableDecls(vb.build());
    }
    b.setExpression(eb.build());
    list.add(b.build());
    return false;
}

From source file:boa.datagen.util.Java7Visitor.java

License:Apache License

@Override
public boolean visit(VariableDeclarationExpression node) {
    boa.types.Ast.Expression.Builder eb = boa.types.Ast.Expression.newBuilder();
    //      eb.setPosition(pos.build());
    eb.setKind(boa.types.Ast.Expression.ExpressionKind.VARDECL);
    for (Object o : node.fragments()) {
        VariableDeclarationFragment f = (VariableDeclarationFragment) o;
        Variable.Builder b = Variable.newBuilder();
        //         b.setPosition(pos.build());//FIXME
        b.setName(f.getName().getFullyQualifiedName());
        for (Object m : node.modifiers()) {
            if (((IExtendedModifier) m).isAnnotation())
                ((Annotation) m).accept(this);
            else/*w ww .  j a  v a  2s .  co  m*/
                ((org.eclipse.jdt.core.dom.Modifier) m).accept(this);
            b.addModifiers(modifiers.pop());
        }
        boa.types.Ast.Type.Builder tb = boa.types.Ast.Type.newBuilder();
        String name = typeName(node.getType());
        for (int i = 0; i < f.getExtraDimensions(); i++)
            name += "[]";
        tb.setName(getIndex(name));
        tb.setKind(boa.types.Ast.TypeKind.OTHER);
        b.setVariableType(tb.build());
        if (f.getInitializer() != null) {
            f.getInitializer().accept(this);
            b.setInitializer(expressions.pop());
        }
        eb.addVariableDecls(b.build());
    }
    expressions.push(eb.build());
    return false;
}

From source file:coloredide.utils.CopiedNaiveASTFlattener.java

License:Open Source License

public boolean visit(VariableDeclarationFragment node) {
    node.getName().accept(this);
    for (int i = 0; i < node.getExtraDimensions(); i++) {
        this.buffer.append("[]");//$NON-NLS-1$
    }/*  w ww.j  av a 2 s.c  o m*/
    if (node.getInitializer() != null) {
        this.buffer.append("=");//$NON-NLS-1$
        node.getInitializer().accept(this);
    }
    return false;
}

From source file:com.flamefire.importsmalinames.astutils.JavaTypesGatherVisitor.java

License:Open Source License

protected void handleVarDecl(String type, List<VariableDeclarationFragment> fragments) {
    if (curMethod == null)
        return;//from  w  w  w. ja v a  2 s .  co m
    for (VariableDeclarationFragment var : fragments) {
        // VariableDeclarationFragment: is the plain variable declaration
        // part.
        // Example: "int x=0, y=0;" contains two
        // VariableDeclarationFragments, "x=0" and "y=0"
        curMethod.variables
                .add(new JavaVariable(var.getName().toString(), type + getArrayDim(var.getExtraDimensions())));
    }
}

From source file:com.google.devtools.j2objc.ast.DebugASTPrinter.java

License:Apache License

@Override
public boolean visit(VariableDeclarationFragment node) {
    node.getName().accept(this);
    for (int i = 0; i < node.getExtraDimensions(); i++) {
        sb.print("[]");
    }/*from   w ww .  j av  a 2s. co m*/
    if (node.getInitializer() != null) {
        sb.print("=");
        node.getInitializer().accept(this);
    }
    return false;
}

From source file:edu.illinois.compositerefactorings.refactorings.copymembertosubtype.CopyMemberToSubtypeRefactoringProcessor.java

License:Open Source License

/**
 * {@link org.eclipse.jdt.internal.corext.refactoring.structure.PushDownRefactoringProcessor#createNewFieldDeclarationNode(MemberActionInfo, CompilationUnit, TypeVariableMaplet[], ASTRewrite, VariableDeclarationFragment)}
 *//* w w w  .j av  a  2  s.  c  om*/
private FieldDeclaration createNewFieldDeclarationNode(MemberActionInfo info, CompilationUnit declaringCuNode,
        TypeVariableMaplet[] mapping, ASTRewrite rewrite, VariableDeclarationFragment oldFieldFragment)
        throws JavaModelException {
    Assert.isTrue(info.isFieldInfo());
    IField field = (IField) info.getMember();
    AST ast = rewrite.getAST();
    VariableDeclarationFragment newFragment = ast.newVariableDeclarationFragment();
    newFragment.setExtraDimensions(oldFieldFragment.getExtraDimensions());
    Expression initializer = oldFieldFragment.getInitializer();
    if (initializer != null) {
        Expression newInitializer = null;
        if (mapping.length > 0)
            newInitializer = createPlaceholderForExpression(initializer, field.getCompilationUnit(), mapping,
                    rewrite);
        else
            newInitializer = createPlaceholderForExpression(initializer, field.getCompilationUnit(), rewrite);
        newFragment.setInitializer(newInitializer);
    }
    newFragment.setName(ast.newSimpleName(oldFieldFragment.getName().getIdentifier()));
    FieldDeclaration newField = ast.newFieldDeclaration(newFragment);
    FieldDeclaration oldField = ASTNodeSearchUtil.getFieldDeclarationNode(field, declaringCuNode);
    if (info.copyJavadocToCopiesInSubclasses())
        copyJavadocNode(rewrite, oldField, newField);
    copyAnnotations(oldField, newField);
    newField.modifiers().addAll(
            ASTNodeFactory.newModifiers(ast, info.getNewModifiersForCopyInSubclass(oldField.getModifiers())));
    Type oldType = oldField.getType();
    ICompilationUnit cu = field.getCompilationUnit();
    Type newType = null;
    if (mapping.length > 0) {
        newType = createPlaceholderForType(oldType, cu, mapping, rewrite);
    } else
        newType = createPlaceholderForType(oldType, cu, rewrite);
    newField.setType(newType);
    return newField;
}

From source file:java5totext.input.JDTVisitor.java

License:Open Source License

@Override
public void endVisit(org.eclipse.jdt.core.dom.VariableDeclarationFragment node) {
    VariableDeclarationFragment element = (VariableDeclarationFragment) this.binding.get(node);
    this.initializeNode(element, node);
    element.setExtraArrayDimensions(node.getExtraDimensions());
    element.setName(node.getName().getIdentifier());

    if (this.binding.get(node.getInitializer()) != null) {
        element.setInitializer((Expression) this.binding.get(node.getInitializer()));
    }/*from  ww  w  .j ava2 s.  c  om*/

    JDTVisitorUtils.manageBindingDeclaration(element, node.getName(), this);
}

From source file:net.sf.j2s.core.astvisitors.ASTScriptVisitor.java

License:Open Source License

private String prepareSimpleSerializable(TypeDeclaration node, List bodyDeclarations) {
    StringBuffer fieldsSerializables = new StringBuffer();
    ITypeBinding binding = node.resolveBinding();
    boolean isSimpleSerializable = binding != null
            && (Bindings.findTypeInHierarchy(binding, "net.sf.j2s.ajax.SimpleSerializable") != null);
    for (Iterator iter = bodyDeclarations.iterator(); iter.hasNext();) {
        ASTNode element = (ASTNode) iter.next();
        if (element instanceof FieldDeclaration) {
            if (node.isInterface()) {
                /*//from  www.j av  a 2 s  . c  o m
                 * As members of interface should be treated
                 * as final and for javascript interface won't
                 * get instantiated, so the member will be
                 * treated specially. 
                 */
                continue;
            }
            FieldDeclaration fieldDeclaration = (FieldDeclaration) element;

            if (isSimpleSerializable) {
                List fragments = fieldDeclaration.fragments();
                int modifiers = fieldDeclaration.getModifiers();
                if ((Modifier.isPublic(modifiers)/* || Modifier.isProtected(modifiers)*/)
                        && !Modifier.isStatic(modifiers) && !Modifier.isTransient(modifiers)) {
                    Type type = fieldDeclaration.getType();
                    int dims = 0;
                    if (type.isArrayType()) {
                        dims = 1;
                        type = ((ArrayType) type).getComponentType();
                    }
                    String mark = null;
                    if (type.isPrimitiveType()) {
                        PrimitiveType pType = (PrimitiveType) type;
                        Code code = pType.getPrimitiveTypeCode();
                        if (code == PrimitiveType.FLOAT) {
                            mark = "F";
                        } else if (code == PrimitiveType.DOUBLE) {
                            mark = "D";
                        } else if (code == PrimitiveType.INT) {
                            mark = "I";
                        } else if (code == PrimitiveType.LONG) {
                            mark = "L";
                        } else if (code == PrimitiveType.SHORT) {
                            mark = "S";
                        } else if (code == PrimitiveType.BYTE) {
                            mark = "B";
                        } else if (code == PrimitiveType.CHAR) {
                            mark = "C";
                        } else if (code == PrimitiveType.BOOLEAN) {
                            mark = "b";
                        }
                    }
                    ITypeBinding resolveBinding = type.resolveBinding();
                    if ("java.lang.String".equals(resolveBinding.getQualifiedName())) {
                        mark = "s";
                    } else {
                        ITypeBinding t = resolveBinding;
                        do {
                            String typeName = t.getQualifiedName();
                            if ("java.lang.Object".equals(typeName)) {
                                break;
                            }
                            if ("net.sf.j2s.ajax.SimpleSerializable".equals(typeName)) {
                                mark = "O";
                                break;
                            }
                            t = t.getSuperclass();
                            if (t == null) {
                                break;
                            }
                        } while (true);
                    }
                    if (mark != null) {
                        for (Iterator xiter = fragments.iterator(); xiter.hasNext();) {
                            VariableDeclarationFragment var = (VariableDeclarationFragment) xiter.next();
                            int curDim = dims + var.getExtraDimensions();
                            if (curDim <= 1) {
                                if (fieldsSerializables.length() > 0) {
                                    fieldsSerializables.append(", ");
                                }
                                /*
                                 * Fixed bug for the following scenario:
                                 * class NT extends ... {
                                 *    public boolean typing;
                                 *    public void typing() {
                                 *    }
                                 * }
                                 */
                                String fieldName = var.getName().toString();
                                if (checkKeyworkViolation(fieldName)) {
                                    fieldName = "$" + fieldName;
                                }
                                String prefix = null;
                                if (binding != null && checkSameName(binding, fieldName)) {
                                    prefix = "$";
                                }
                                if (binding != null && isInheritedFieldName(binding, fieldName)) {
                                    fieldName = getFieldName(binding, fieldName);
                                }
                                if (prefix != null) {
                                    fieldName = prefix + fieldName;
                                }

                                fieldsSerializables.append("\"" + fieldName + "\", \"");
                                if (mark.charAt(0) == 's' && curDim == 1) {
                                    fieldsSerializables.append("AX");
                                } else if (curDim == 1) {
                                    fieldsSerializables.append("A");
                                    fieldsSerializables.append(mark);
                                } else {
                                    fieldsSerializables.append(mark);
                                }
                                fieldsSerializables.append("\"");
                            }
                        }
                    }
                }
            }
        }
    }
    return fieldsSerializables.toString();
}