private void removeExtraDimensions(SingleVariableDeclaration oldParam) { if (oldParam.getExtraDimensions() != 0) { getASTRewrite().set(oldParam, SingleVariableDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(0), fDescription); } }
public static String getSignatureFromMethodDeclaration(MethodDeclaration methodDeclaration) { String methodName = methodDeclaration.isConstructor() ? "" : methodDeclaration.getName().getIdentifier(); // if (methodName.equals("allObjectsSorted")) { // System.out.println(); // } StringBuilder sb = new StringBuilder(); sb.append(methodName); sb.append('('); Iterator<SingleVariableDeclaration> parameters = methodDeclaration.parameters().iterator(); while (parameters.hasNext()) { SingleVariableDeclaration parameter = parameters.next(); Type parameterType = parameter.getType(); String typeName = normalizeTypeName(parameterType, parameter.getExtraDimensions(), parameter.isVarargs()); sb.append(typeName); if (parameters.hasNext()) { sb.append(", "); } } sb.append(')'); String methodSignature = sb.toString(); return methodSignature; }
public static String getSignatureFromMethodDeclaration(MethodDeclaration methodDeclaration) { String methodName = methodDeclaration.isConstructor() ? "" : methodDeclaration.getName().getIdentifier(); // if (methodName.equals("allObjectsSorted")) { // System.out.println(); // } StringBuilder sb = new StringBuilder(); sb.append(methodName); sb.append('('); @SuppressWarnings("unchecked") Iterator<SingleVariableDeclaration> parameters = methodDeclaration.parameters().iterator(); while (parameters.hasNext()) { SingleVariableDeclaration parameter = parameters.next(); Type parameterType = parameter.getType(); String typeName = normalizeTypeName(parameterType, parameter.getExtraDimensions(), parameter.isVarargs()); sb.append(typeName); if (parameters.hasNext()) { sb.append(", "); } } sb.append(')'); String methodSignature = sb.toString(); return methodSignature; }
@Override public boolean visit(SingleVariableDeclaration node) { AST ast = node.getAST(); if (node.getExtraDimensions() > 0) { Type type = (Type) ASTNode.copySubtree(ast, node.getType()); for (int i = node.getExtraDimensions(); i > 0; i--) { type = ast.newArrayType(type); } node.setType(type); node.setExtraDimensions(0); } return true; } }
private int getExtraDimensions() { ASTNode parentLocal = type.getParent(); if (parentLocal instanceof FieldDeclaration) { for (Object f : ((FieldDeclaration) parentLocal).fragments()) { if (f instanceof VariableDeclarationFragment) { return ((VariableDeclarationFragment) f).getExtraDimensions(); } } } if (parentLocal instanceof SingleVariableDeclaration) { return ((SingleVariableDeclaration) parentLocal).getExtraDimensions(); } return 0; }
/** * Returns the type signatures of the parameter types of the * current <code>MethodDeclaration</code> */ protected String[] convertASTMethodTypesToSignatures() { if (this.parameterTypes == null) { if (this.createdNode != null) { MethodDeclaration methodDeclaration = (MethodDeclaration) this.createdNode; List parameters = methodDeclaration.parameters(); int size = parameters.size(); this.parameterTypes = new String[size]; Iterator iterator = parameters.iterator(); // convert the AST types to signatures for (int i = 0; i < size; i++) { SingleVariableDeclaration parameter = (SingleVariableDeclaration) iterator.next(); String typeSig = Util.getSignature(parameter.getType()); int extraDimensions = parameter.getExtraDimensions(); if (methodDeclaration.isVarargs() && i == size-1) extraDimensions++; this.parameterTypes[i] = Signature.createArraySignature(typeSig, extraDimensions); } } } return this.parameterTypes; } @Override
/** * Returns the type signatures of the parameter types of the * current <code>MethodDeclaration</code> */ protected String[] convertASTMethodTypesToSignatures() { if (this.parameterTypes == null) { if (this.createdNode != null) { MethodDeclaration methodDeclaration = (MethodDeclaration) this.createdNode; List parameters = methodDeclaration.parameters(); int size = parameters.size(); this.parameterTypes = new String[size]; Iterator iterator = parameters.iterator(); // convert the AST types to signatures for (int i = 0; i < size; i++) { SingleVariableDeclaration parameter = (SingleVariableDeclaration) iterator.next(); String typeSig = Util.getSignature(parameter.getType()); int extraDimensions = parameter.getExtraDimensions(); if (methodDeclaration.isVarargs() && i == size-1) extraDimensions++; this.parameterTypes[i] = Signature.createArraySignature(typeSig, extraDimensions); } } } return this.parameterTypes; } protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException {
final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { internalSetExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
@Override final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { internalSetExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { internalSetExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { setExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { internalSetExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
final int internalGetSetIntProperty(SimplePropertyDescriptor property, boolean get, int value) { if (property == MODIFIERS_PROPERTY) { if (get) { return getModifiers(); } else { setModifiers(value); return 0; } } if (property == EXTRA_DIMENSIONS_PROPERTY) { if (get) { return getExtraDimensions(); } else { internalSetExtraDimensions(value); return 0; } } // allow default implementation to flag the error return super.internalGetSetIntProperty(property, get, value); }
public static void extractParametersAndReturnType(MethodDeclaration methodDeclaration, SDMethod method) { Type returnType = methodDeclaration.getReturnType2(); if (returnType != null) { method.setReturnType(AstUtils.normalizeTypeName(returnType, methodDeclaration.getExtraDimensions(), false)); } else { method.setReturnType(null); } Iterator<SingleVariableDeclaration> parameters = methodDeclaration.parameters().iterator(); while (parameters.hasNext()) { SingleVariableDeclaration parameter = parameters.next(); Type parameterType = parameter.getType(); String typeName = AstUtils.normalizeTypeName(parameterType, parameter.getExtraDimensions(), parameter.isVarargs()); method.addParameter(parameter.getName().getIdentifier(), typeName); } }
public boolean visit(SingleVariableDeclaration node) { if (node.getAST().apiLevel() == AST.JLS2) { printModifiers(node.getModifiers()); } if (node.getAST().apiLevel() >= AST.JLS3) { printModifiers(node.modifiers()); } node.getType().accept(this); if (node.getAST().apiLevel() >= AST.JLS3) { if (node.isVarargs()) { this.fBuffer.append("...");//$NON-NLS-1$ } } this.fBuffer.append(" ");//$NON-NLS-1$ node.getName().accept(this); 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; }
public boolean visit(SingleVariableDeclaration node) { printIndent(); if (node.getAST().apiLevel() == JLS2) { printModifiers(node.getModifiers()); } if (node.getAST().apiLevel() >= AST.JLS3) { printModifiers(node.modifiers()); } node.getType().accept(this); if (node.getAST().apiLevel() >= AST.JLS3) { if (node.isVarargs()) { this.buffer.append("...");//$NON-NLS-1$ } } this.buffer.append(" ");//$NON-NLS-1$ node.getName().accept(this); for (int i = 0; i < node.getExtraDimensions(); i++) { this.buffer.append("[]"); //$NON-NLS-1$ } if (node.getInitializer() != null) { this.buffer.append("=");//$NON-NLS-1$ node.getInitializer().accept(this); } return false; }
public VariableDeclaration(CompilationUnit cu, String filePath, SingleVariableDeclaration fragment) { this.locationInfo = new LocationInfo(cu, filePath, fragment); this.variableName = fragment.getName().getIdentifier(); this.initializer = fragment.getInitializer() != null ? new AbstractExpression(cu, filePath, fragment.getInitializer()) : null; this.type = UMLType.extractTypeObject(UMLType.getTypeName(extractType(fragment), fragment.getExtraDimensions())); this.variableDeclarationType = extractVariableDeclarationType(fragment); int startOffset = fragment.getStartPosition(); ASTNode scopeNode = getScopeNode(fragment); int endOffset = scopeNode.getStartPosition() + scopeNode.getLength(); this.scope = new VariableScope(cu, filePath, startOffset, endOffset); }
ASTNode clone0(AST target) { SingleVariableDeclaration result = new SingleVariableDeclaration(target); result.setSourceRange(getStartPosition(), getLength()); if (this.ast.apiLevel == AST.JLS2_INTERNAL) { result.setModifiers(getModifiers()); } else { result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); result.setVarargs(isVarargs()); } result.setType((Type) getType().clone(target)); if (this.ast.apiLevel >= AST.JLS8_INTERNAL) { result.varargsAnnotations().addAll( ASTNode.copySubtrees(target, varargsAnnotations())); } result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8_INTERNAL) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, this.extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
ASTNode clone0(AST target) { SingleVariableDeclaration result = new SingleVariableDeclaration(target); result.setSourceRange(getStartPosition(), getLength()); if (this.ast.apiLevel == AST.JLS2_INTERNAL) { result.setModifiers(getModifiers()); } else { result.modifiers().addAll(ASTNode.copySubtrees(target, modifiers())); result.setVarargs(isVarargs()); } result.setType((Type) getType().clone(target)); result.setExtraDimensions(getExtraDimensions()); result.setName((SimpleName) getName().clone(target)); result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
public boolean visit(SingleVariableDeclaration node) { IValue name = values.string(node.getName().getFullyQualifiedName()); IValueList extendedModifiers = parseExtendedModifiers(node.modifiers()); IValue type = visitChild(node.getType()); IValue initializer = node.getInitializer() == null ? null : visitChild(node.getInitializer()); ownValue = constructDeclarationNode("parameter", type, name, values.integer(node.getExtraDimensions()), initializer); if (node.getAST().apiLevel() >= AST.JLS3 && node.isVarargs()) ownValue = constructDeclarationNode("vararg", type, name); setKeywordParameters("modifiers", extendedModifiers); return false; }