List of usage examples for org.eclipse.jdt.core.dom QualifiedName getName
public SimpleName getName()
From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java
License:Open Source License
@Override public boolean visit(QualifiedName node) { node.getQualifier().accept(this); this.fBuffer.append(".");//$NON-NLS-1$ node.getName().accept(this); return false; }
From source file:ca.mcgill.cs.swevo.ppa.inference.QNameInferenceStrategy.java
License:Open Source License
public boolean isSafe(ASTNode node) { QualifiedName qName = (QualifiedName) node; boolean leftSafe = true; boolean rightSafe = true; Expression left = qName.getQualifier(); Expression right = qName.getName(); if (indexer.isIndexable(left)) { leftSafe = indexer.isSafe(left); }/* w ww .ja v a2 s . c o m*/ if (indexer.isIndexable(right)) { rightSafe = indexer.isSafe(right); } return leftSafe && rightSafe; }
From source file:ca.mcgill.cs.swevo.ppa.inference.QNameInferenceStrategy.java
License:Open Source License
public void makeSafe(ASTNode node, TypeFact typeFact) { QualifiedName qName = (QualifiedName) node; Name right = qName.getName(); if (qNameChanged(node, typeFact)) { if (!indexer.isSafe(right)) { ITypeBinding oldBinding = typeFact.getOldType(); ITypeBinding newBinding = typeFact.getNewType(); ITypeBinding rightBinding = getRightBinding(right); if (rightBinding == null || !rightBinding.isEqualTo(newBinding)) { TypeFact tFact = new TypeFact(indexer.getMainIndex(right), oldBinding, typeFact.getOldDirection(), newBinding, typeFact.getNewDirection(), typeFact.getStrategy()); ppaEngine.reportTypeFact(tFact); }// w w w . j a v a2s . com } // } else if (nameChanged(node, typeFact)) { } // else { // // } }
From source file:ca.mcgill.cs.swevo.ppa.inference.QNameInferenceStrategy.java
License:Open Source License
public void makeSafeSecondary(ASTNode node, TypeFact typeFact) { ITypeBinding oldBinding = typeFact.getOldType(); QualifiedName qName = (QualifiedName) node; Expression left = qName.getQualifier(); Expression right = qName.getName(); if (indexer.isIndexable(right) && indexer.getMainIndex(right).equals(typeFact.getIndex())) { ITypeBinding newBinding = PPABindingsUtil.getTypeBinding(right); // ITypeBinding realBinding = qName.resolveTypeBinding(); TypeFact tFact = new TypeFact(getMainIndex(node), oldBinding, typeFact.getOldDirection(), newBinding, typeFact.getNewDirection(), typeFact.getStrategy()); ppaEngine.reportTypeFact(tFact); }/*from w w w . j a va 2s . c o m*/ if (indexer.isIndexable(left) && indexer.getMainIndex(left).equals(typeFact.getIndex())) { } }
From source file:ca.mcgill.cs.swevo.ppa.inference.QNameInferenceStrategy.java
License:Open Source License
@Override public List<PPAIndex> getSecondaryIndexes(ASTNode node) { QualifiedName qName = (QualifiedName) node; List<PPAIndex> indexes = new ArrayList<PPAIndex>(); Expression left = qName.getQualifier(); Expression right = qName.getName(); if (indexer.isIndexable(left)) { PPAIndex tempIndex = indexer.getMainIndex(left); indexes.add(tempIndex);/* w w w.j a va 2 s. com*/ } if (indexer.isIndexable(right)) { PPAIndex tempIndex = indexer.getMainIndex(right); indexes.add(tempIndex); } return indexes; }
From source file:ca.mcgill.cs.swevo.ppa.PPAASTUtil.java
License:Open Source License
/** * <p>/* w w w. j a va 2 s .co m*/ * Returns the name + its qualifier if any. Does not return the suffix of * the FQN. * </p> * <ol> * <li>A : returns A</li> * <li>A.B : returns A</li> * <li>C.A : return C.A</li> * <li>C.A.B : returns C.A</li> * </ol> * * @param name * @return */ public static String getQualifierPlusName(SimpleName name) { String qualifierPlusName = name.getFullyQualifiedName(); ASTNode parent = name.getParent(); if (parent != null && parent instanceof QualifiedName) { QualifiedName qName = (QualifiedName) parent; if (qName.getName().equals(name)) { qualifierPlusName = qName.getFullyQualifiedName(); } } return qualifierPlusName; }
From source file:ca.mcgill.cs.swevo.ppa.PPAASTUtil.java
License:Open Source License
public static boolean isIndicationOfField(Name node) { boolean isField = false; ASTNode parent = node.getParent();//from ww w .j a v a 2s .c o m // The thing here is that if the parent is a qualified name, go one // level up. // If the parent is still a qualified name, then, it means we were in // the middle, so this is // not necessarily a field. if (parent instanceof QualifiedName) { QualifiedName qName = (QualifiedName) parent; if (qName.getName().equals(node)) { node = (Name) parent; parent = parent.getParent(); } } if (parent instanceof ArrayAccess) { isField = true; // } else if (parent instanceof ArrayCreation) { // isField = true; } else if (parent instanceof ArrayInitializer) { isField = true; } else if (parent instanceof Assignment) { isField = true; } else if (parent instanceof CastExpression) { CastExpression cExpression = (CastExpression) parent; isField = cExpression.getExpression().equals(node); } else if (parent instanceof ConditionalExpression) { isField = true; } else if (parent instanceof InfixExpression) { isField = true; } else if (parent instanceof WhileStatement) { isField = true; } else if (parent instanceof DoStatement) { isField = true; } else if (parent instanceof ForStatement) { ForStatement forStatement = (ForStatement) parent; isField = forStatement.getExpression().equals(node); } else if (parent instanceof PrefixExpression) { isField = true; } else if (parent instanceof PostfixExpression) { isField = true; } else if (parent instanceof ReturnStatement) { isField = true; } else if (parent instanceof InstanceofExpression) { InstanceofExpression ioe = (InstanceofExpression) parent; isField = ioe.getLeftOperand().equals(node); } else if (parent instanceof FieldAccess) { isField = true; } else if (parent instanceof SuperFieldAccess) { isField = true; } else if (parent instanceof MethodInvocation) { MethodInvocation mi = (MethodInvocation) parent; for (Object object : mi.arguments()) { if (node == object) { isField = true; break; } } } else if (parent instanceof ClassInstanceCreation) { ClassInstanceCreation cic = (ClassInstanceCreation) parent; for (Object object : cic.arguments()) { if (node == object) { isField = true; break; } } } else if (parent instanceof VariableDeclarationFragment) { isField = true; } return isField; }
From source file:cc.kave.eclipse.namefactory.NodeFactory.java
License:Apache License
private static Name createQualifiedName(ASTNode node) { StringBuilder sb = new StringBuilder(); QualifiedName qualifiedNameNode = (QualifiedName) node; sb.append("["); String typeName = BindingFactory.getBindingName(qualifiedNameNode.resolveTypeBinding()); sb.append(CsTypeName.newTypeName(typeName).getIdentifier()); sb.append("] ["); sb.append(getDeclaringType(qualifiedNameNode)); sb.append("] "); sb.append(qualifiedNameNode.getName().getIdentifier()); return CsFieldName.newFieldName(sb.toString()); }
From source file:cc.kave.eclipse.namefactory.visitors.QualifiedNameVisitor.java
License:Apache License
@Override public boolean visit(QualifiedName node) { if (node.getName().isSimpleName() && !(node.getParent() instanceof QualifiedName) && !(node.getParent() instanceof ImportDeclaration) && !(node.getParent() instanceof PackageDeclaration)) { names.add(node);/* w ww . ja va 2 s . co m*/ NodeFactory.createNodeName(node); } return super.visit(node); }
From source file:changetypes.ASTVisitorAtomicChange.java
License:Open Source License
public boolean visit(QualifiedName node) { if ((this.mtbStack.isEmpty()) && (!this.itbStack.isEmpty())) { return false; }/*from w ww . j a va 2 s . c o m*/ if (!this.mtbStack.isEmpty()) { if (node.getName().getIdentifier().equals("length")) { return true; } try { return visitName(node.resolveBinding(), (IMethodBinding) this.mtbStack.peek()); } catch (Exception localException) { System.err.println( "Cannot resolve qualified name \"" + node.getFullyQualifiedName().toString() + "\""); return false; } } return false; }