List of usage examples for org.eclipse.jdt.core.dom VariableDeclarationFragment getExtraDimensions
public int getExtraDimensions()
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(); }