Example usage for org.eclipse.jdt.core.dom QualifiedName getName

List of usage examples for org.eclipse.jdt.core.dom QualifiedName getName

Introduction

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

Prototype

public SimpleName getName() 

Source Link

Document

Returns the name part of this qualified name.

Usage

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;
}