private static String getFieldSource(IField field, SourceTuple tuple) throws CoreException { if (Flags.isEnum(field.getFlags())) { String source= field.getSource(); if (source != null) return source; } else { if (tuple.node == null) { ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); parser.setSource(tuple.unit); tuple.node= (CompilationUnit) parser.createAST(null); } FieldDeclaration declaration= ASTNodeSearchUtil.getFieldDeclarationNode(field, tuple.node); if (declaration.fragments().size() == 1) return getSourceOfDeclararationNode(field, tuple.unit); VariableDeclarationFragment declarationFragment= ASTNodeSearchUtil.getFieldDeclarationFragmentNode(field, tuple.node); IBuffer buffer= tuple.unit.getBuffer(); StringBuffer buff= new StringBuffer(); buff.append(buffer.getText(declaration.getStartPosition(), ((ASTNode) declaration.fragments().get(0)).getStartPosition() - declaration.getStartPosition())); buff.append(buffer.getText(declarationFragment.getStartPosition(), declarationFragment.getLength())); buff.append(";"); //$NON-NLS-1$ return buff.toString(); } return ""; //$NON-NLS-1$ }
private static String getFieldSource(IField field, SourceTuple tuple) throws CoreException { if (Flags.isEnum(field.getFlags())) { String source= field.getSource(); if (source != null) return source; } else { if (tuple.node == null) { ASTParser parser= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); parser.setSource(tuple.unit); tuple.node= (CompilationUnit) parser.createAST(null); } FieldDeclaration declaration= ASTNodeSearchUtil.getFieldDeclarationNode(field, tuple.node); if (declaration.fragments().size() == 1) return getSourceOfDeclararationNode(field, tuple.unit); VariableDeclarationFragment declarationFragment= ASTNodeSearchUtil.getFieldDeclarationFragmentNode(field, tuple.node); IBuffer buffer= tuple.unit.getBuffer(); StringBuilder buff= new StringBuilder(); buff.append(buffer.getText(declaration.getStartPosition(), ((ASTNode) declaration.fragments().get(0)).getStartPosition() - declaration.getStartPosition())); buff.append(buffer.getText(declarationFragment.getStartPosition(), declarationFragment.getLength())); buff.append(";"); //$NON-NLS-1$ return buff.toString(); } return ""; //$NON-NLS-1$ }
private static String getFieldSource(IField field, SourceTuple tuple) throws CoreException { if (Flags.isEnum(field.getFlags())) { String source= field.getSource(); if (source != null) return source; } else { if (tuple.node == null) { ASTParser parser= ASTParser.newParser(AST.JLS3); parser.setSource(tuple.unit); tuple.node= (CompilationUnit) parser.createAST(null); } FieldDeclaration declaration= ASTNodeSearchUtil.getFieldDeclarationNode(field, tuple.node); if (declaration.fragments().size() == 1) return getSourceOfDeclararationNode(field, tuple.unit); VariableDeclarationFragment declarationFragment= ASTNodeSearchUtil.getFieldDeclarationFragmentNode(field, tuple.node); IBuffer buffer= tuple.unit.getBuffer(); StringBuffer buff= new StringBuffer(); buff.append(buffer.getText(declaration.getStartPosition(), ((ASTNode) declaration.fragments().get(0)).getStartPosition() - declaration.getStartPosition())); buff.append(buffer.getText(declarationFragment.getStartPosition(), declarationFragment.getLength())); buff.append(";"); //$NON-NLS-1$ return buff.toString(); } return ""; //$NON-NLS-1$ }
/** * Returns the field which corresponds to the specified variable declaration * fragment * * @param fragment * the variable declaration fragment * @return the corresponding field * @throws JavaModelException * if an error occurs */ protected final IField getCorrespondingField(final VariableDeclarationFragment fragment) throws JavaModelException { final IBinding binding= fragment.getName().resolveBinding(); if (binding instanceof IVariableBinding) { final IVariableBinding variable= (IVariableBinding) binding; if (variable.isField()) { final ICompilationUnit unit= RefactoringASTParser.getCompilationUnit(fragment); final IJavaElement element= unit.getElementAt(fragment.getStartPosition()); if (element instanceof IField) return (IField) element; } } return null; }
/** * Returns the field which corresponds to the specified variable declaration * fragment * * @param fragment * the variable declaration fragment * @return the corresponding field * @throws JavaModelException * if an error occurs */ protected final IField getCorrespondingField(final VariableDeclarationFragment fragment) throws JavaModelException { final IBinding binding= fragment.getName().resolveBinding(); if (binding instanceof IVariableBinding) { final IVariableBinding variable= (IVariableBinding) binding; if (variable.isField()) { final ICompilationUnit unit= RefactoringASTParser.getCompilationUnit(fragment); final IJavaElement element= unit.getElementAt(fragment.getStartPosition()); if (element instanceof IField) return (IField) element; } } return null; }
/** * Returns the field which corresponds to the specified variable declaration * fragment * * @param fragment * the variable declaration fragment * @return the corresponding field * @throws JavaModelException * if an error occurs */ protected final IField getCorrespondingField(final VariableDeclarationFragment fragment) throws JavaModelException { final IBinding binding= fragment.getName().resolveBinding(); if (binding instanceof IVariableBinding) { final IVariableBinding variable= (IVariableBinding) binding; if (variable.isField()) { final ICompilationUnit unit= RefactoringASTParser.getCompilationUnit(fragment); final IJavaElement element= unit.getElementAt(fragment.getStartPosition()); if (element instanceof IField) return (IField) element; } } return null; }
ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8_INTERNAL) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
IVariableBinding fieldBinding = fieldFrag.resolveBinding(); memberEntities.add(new FieldEntity(fieldFrag.getName().getIdentifier(), fieldBinding.getType(), quals, makePosition(fieldFrag.getStartPosition(), fieldFrag.getStartPosition() + fieldFrag.getLength()), handleAnnotations(fieldBinding), makePosition(fieldFrag.getName())));
ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
@Override ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); if (this.ast.apiLevel >= AST.JLS8_INTERNAL) { result.extraDimensions().addAll( ASTNode.copySubtrees(target, extraDimensions())); } else { result.internalSetExtraDimensions(getExtraDimensions()); } result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
ASTNode clone0(AST target) { VariableDeclarationFragment result = new VariableDeclarationFragment(target); result.setSourceRange(getStartPosition(), getLength()); result.setName((SimpleName) getName().clone(target)); result.setExtraDimensions(getExtraDimensions()); result.setInitializer( (Expression) ASTNode.copySubtree(target, getInitializer())); return result; }
public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); int extraDims= rewriteExtraDimensions(node, VariableDeclarationFragment.EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); if (node.getAST().apiLevel() < JLS8_INTERNAL) { int extraDims= rewriteExtraDimensions(node, INTERNAL_FRAGMENT_EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } } else { pos = rewriteExtraDimensionsInfo(node, pos, VariableDeclarationFragment.EXTRA_DIMENSIONS2_PROPERTY); } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); if (node.getAST().apiLevel() < AST.JLS8) { int extraDims= rewriteExtraDimensions(node, INTERNAL_FRAGMENT_EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } } else { pos = rewriteExtraDimensionsInfo(node, pos, VariableDeclarationFragment.EXTRA_DIMENSIONS2_PROPERTY); } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); if (node.getAST().apiLevel() < AST.JLS8) { int extraDims= rewriteExtraDimensions(node, INTERNAL_FRAGMENT_EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } } else { pos = rewriteExtraDimensionsInfo(node, pos, VariableDeclarationFragment.EXTRA_DIMENSIONS2_PROPERTY); } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); if (node.getAST().apiLevel() < AST.JLS8) { int extraDims= rewriteExtraDimensions(node, INTERNAL_FRAGMENT_EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } } else { pos = rewriteExtraDimensionsInfo(node, pos, VariableDeclarationFragment.EXTRA_DIMENSIONS2_PROPERTY); } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
@Override public boolean visit(VariableDeclarationFragment node) { if (!hasChildrenChanges(node)) { return doVisitUnchangedChildren(node); } int pos= rewriteRequiredNode(node, VariableDeclarationFragment.NAME_PROPERTY); if (node.getAST().apiLevel() < JLS8_INTERNAL) { int extraDims= rewriteExtraDimensions(node, INTERNAL_FRAGMENT_EXTRA_DIMENSIONS_PROPERTY, pos); if (extraDims > 0) { int kind= getChangeKind(node, VariableDeclarationFragment.INITIALIZER_PROPERTY); if (kind == RewriteEvent.REMOVED) { try { pos= getScanner().getPreviousTokenEndOffset(TerminalTokens.TokenNameEQUAL, pos); } catch (CoreException e) { handleException(e); } } else { pos= node.getStartPosition() + node.getLength(); // insert pos } } } else { pos = rewriteExtraDimensionsInfo(node, pos, VariableDeclarationFragment.EXTRA_DIMENSIONS2_PROPERTY); } rewriteNode(node, VariableDeclarationFragment.INITIALIZER_PROPERTY, pos, this.formatter.VAR_INITIALIZER); return false; }
public VariableDeclaration(CompilationUnit cu, String filePath, VariableDeclarationFragment 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); ASTNode scopeNode = getScopeNode(fragment); int startOffset = 0; if(variableDeclarationType.equals(VariableDeclarationType.FIELD_DECLARATION)) { //field declarations have the entire type declaration as scope, regardless of the location they are declared startOffset = scopeNode.getStartPosition(); } else { startOffset = fragment.getStartPosition(); } int endOffset = scopeNode.getStartPosition() + scopeNode.getLength(); this.scope = new VariableScope(cu, filePath, startOffset, endOffset); }