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

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

Introduction

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

Prototype

public String getName();

Source Link

Document

Returns the name of this binding.

Usage

From source file:byke.DependencyAnalysis.java

License:Open Source License

private Node<IBinding> produceNode(String key, IBinding binding, JavaType kind) {
    Node<IBinding> node = _nodesByKey.get(key);
    if (null == node) {
        String name = binding == null ? key : binding.getName();
        if (binding != null && kind.equals(JavaType.METHOD)) {
            name += "(";

            ITypeBinding[] parameterTypes = ((IMethodBinding) binding).getParameterTypes();

            for (int i = 0; i < parameterTypes.length; i++) {
                name += parameterTypes[i].getName();

                if (i < parameterTypes.length - 1)
                    name += ",";
            }/* w w  w  .j a va2s. c  o m*/

            name += ")";
        }

        node = new Node<IBinding>(name, kind);
        node.payload(binding);
        _nodesByKey.put(key, node);
    }
    return node;
}

From source file:com.architexa.diagrams.jdt.builder.ReloASTExtractor.java

License:Open Source License

protected void initResource(Resource res, IBinding binding) {
    switch (binding.getKind()) {
    case IBinding.METHOD:
        rdfModel.addTypeStatement(res, RJCore.methodType);
        break;//from  w  ww.  j  av a2s . c o  m
    case IBinding.PACKAGE:
        rdfModel.addTypeStatement(res, RJCore.packageType);
        rdfModel.addStatement(res, RSECore.initialized, Boolean.toString(true));
        break;
    case IBinding.TYPE:
        if (((ITypeBinding) binding).isInterface())
            rdfModel.addStatement(res, RJCore.isInterface, RJCore.interfaceType);
        else
            rdfModel.addTypeStatement(res, RJCore.classType);
        break;
    case IBinding.VARIABLE:
        FieldDeclaration fieldDecl = (FieldDeclaration) getParent(FieldDeclaration.class);
        if (fieldDecl != null) {
            // field declaration
            rdfModel.addTypeStatement(res, RJCore.fieldType);
        } else {
            // variable declaration in methods
        }
        break;
    }
    rdfModel.addNameStatement(res, RSECore.name, binding.getName());
    rdfModel.addInitializedStatement(res, RSECore.initialized, Boolean.toString(true));
}

From source file:com.google.devtools.j2cpp.gen.CppStatementGenerator.java

License:Open Source License

@Override
public boolean visit(SimpleName node) {
    IBinding binding = Types.getBinding(node);
    if (binding instanceof IVariableBinding) {
        IVariableBinding var = (IVariableBinding) binding;
        if (Types.isPrimitiveConstant(var)) {
            buffer.append(NameTable.getPrimitiveConstantName(var));
        } else if (Types.isStaticVariable(var)) {
            printStaticVarReference(node);
        } else {/* w  w  w.  j  a  v a 2 s  . c  o  m*/
            String name = NameTable.getName(node);
            if (Options.inlineFieldAccess() && isProperty(node)) {
                buffer.append(NameTable.javaFieldToCpp(name));
            } else {
                if (isProperty(node)) {
                    buffer.append("self.");
                }
                buffer.append(name);
                if (!var.isField() && (fieldHiders.contains(var) || NameTable.isReservedName(name))) {
                    buffer.append("Arg");
                }
            }
        }
        return false;
    }
    if (binding instanceof ITypeBinding) {
        if (binding instanceof IOSTypeBinding) {
            buffer.append(binding.getName());
        } else {
            buffer.append(NameTable.javaTypeToCpp(((ITypeBinding) binding), false));
        }
    } else {
        buffer.append(node.getIdentifier());
    }
    return false;
}

From source file:com.google.devtools.j2cpp.types.Types.java

License:Open Source License

/**
 * Returns the signature of an element, defined in the Java Language
 * Specification 3rd edition, section 13.1.
 *//*from ww w  .  j  a  v a2s.  c o m*/
public static String getSignature(IBinding binding) {
    if (binding instanceof ITypeBinding) {
        return ((ITypeBinding) binding).getBinaryName();
    }
    if (binding instanceof IMethodBinding) {
        return getSignature((IMethodBinding) binding);
    }
    return binding.getName();
}

From source file:com.google.devtools.j2cpp.util.NameTable.java

License:Open Source License

/**
 * Returns a bound name that may have been renamed by a translation phase.
 *
 * @return the new name, or the old name if no renaming exists
 *//*from  w ww . ja va2 s  .  c o m*/
public static String getName(IBinding binding) {
    assert binding != null;
    binding = getBindingDeclaration(binding);
    String newName = instance.renamings.get(binding);
    if (newName != null) {
        return newName;
    }
    String name = binding.getName();
    if (binding instanceof IVariableBinding) {
        IVariableBinding var = (IVariableBinding) binding;
        if (isReservedName(name)) {
            name += "_";
        }
        if (var.isField()) {
            // Check if field has the same name as a method.
            ITypeBinding superclass = ((IVariableBinding) binding).getDeclaringClass();
            for (IMethodBinding method : superclass.getDeclaredMethods()) {
                if (method.getName().equals(name)) {
                    name = name + '_';
                    break;
                }
            }
        }
    }
    return name;
}

From source file:com.google.devtools.j2objc.ast.SimpleName.java

License:Apache License

public SimpleName(IBinding binding) {
    super(binding);
    identifier = binding.getName();
}

From source file:com.google.devtools.j2objc.gen.StatementGenerator.java

License:Open Source License

@Override
public boolean visit(SimpleName node) {
    IBinding binding = node.getBinding();
    if (binding instanceof IVariableBinding) {
        IVariableBinding var = (IVariableBinding) binding;
        if (BindingUtil.isPrimitiveConstant(var)) {
            buffer.append(nameTable.getPrimitiveConstantName(var));
        } else if (BindingUtil.isStatic(var)) {
            buffer.append(nameTable.getStaticVarQualifiedName(var));
        } else if (var.isField()) {
            buffer.append(NameTable.javaFieldToObjC(nameTable.getVariableName(var)));
        } else {/*from ww w  .ja va2 s .c  o m*/
            buffer.append(nameTable.getVariableName(var));
        }
        return false;
    }
    if (binding instanceof ITypeBinding) {
        if (binding instanceof IOSTypeBinding) {
            buffer.append(binding.getName());
        } else {
            buffer.append(nameTable.getFullName((ITypeBinding) binding));
        }
    } else {
        buffer.append(node.getIdentifier());
    }
    return false;
}

From source file:com.google.devtools.j2objc.translate.ASTFactory.java

License:Apache License

public static SimpleName newSimpleName(AST ast, IBinding binding) {
    String name = binding.getName();
    if (name.isEmpty()) {
        name = "$Unnamed$";
    }//from w  ww . ja v a  2  s.  com
    SimpleName nameNode = ast.newSimpleName(name);
    Types.addBinding(nameNode, binding);
    return nameNode;
}

From source file:com.servoy.eclipse.docgenerator.parser.JavadocExtractor.java

License:Open Source License

private ReferenceMetaModel extractBinding(IBinding bnd, Name qualifier, SimpleName name, List<?> parameters) {
    if (bnd != null) {
        String typeQualifiedName = null;
        String typeSimpleName = null;
        String[] argumentsTypesNames = null;
        QualifiedNameDisplayState qnameState = QualifiedNameDisplayState.None;
        if (bnd instanceof IVariableBinding) {
            //            IVariableBinding varBind = (IVariableBinding)bnd;
            //            if (varBind.getDeclaringClass() != null)
            //            {
            //               typeQualifiedName = varBind.getDeclaringClass().getQualifiedName();
            //               typeSimpleName = varBind.getDeclaringClass().getName();
            //            }
        } else if (bnd instanceof IMethodBinding) {
            IMethodBinding methBind = (IMethodBinding) bnd;
            //            if (methBind.getDeclaringClass() != null)
            //            {
            //               typeQualifiedName = methBind.getDeclaringClass().getQualifiedName();
            //               typeSimpleName = methBind.getDeclaringClass().getName();
            //            }
            ITypeBinding[] parTypes = methBind.getParameterTypes();
            argumentsTypesNames = new String[parTypes.length];
            for (int i = 0; i < parTypes.length; i++) {
                argumentsTypesNames[i] = parTypes[i].getName();
            }/*  w w w.  j a v  a 2s.  co  m*/
        }
        if (qualifier != null) {
            typeQualifiedName = qualifier.getFullyQualifiedName();
            int idx = typeQualifiedName.lastIndexOf('.');
            if (idx >= 0) {
                qnameState = QualifiedNameDisplayState.Full;
                typeSimpleName = typeQualifiedName.substring(idx + 1);
            } else {
                qnameState = QualifiedNameDisplayState.Simple;
                typeSimpleName = typeQualifiedName;
            }
        }
        ReferenceMetaModel ref = new ReferenceMetaModel(typeQualifiedName, typeSimpleName, bnd.getName(),
                argumentsTypesNames, qnameState);
        return ref;
    } else {
        String typeQualifiedName = null;
        String typeSimpleName = null;
        QualifiedNameDisplayState qnameState = QualifiedNameDisplayState.None;
        if (qualifier != null) {
            typeQualifiedName = qualifier.getFullyQualifiedName();
            int idx = typeQualifiedName.lastIndexOf('.');
            if (idx > 0) {
                typeSimpleName = typeQualifiedName.substring(idx + 1);
                qnameState = QualifiedNameDisplayState.Full;
            } else {
                typeSimpleName = typeQualifiedName;
                qnameState = QualifiedNameDisplayState.Simple;
            }
        }
        String[] argumentsTypesNames = null;
        if (parameters != null) {
            argumentsTypesNames = new String[parameters.size()];
            for (int i = 0; i < parameters.size(); i++) {
                Object oo = parameters.get(i);
                if (oo instanceof MethodRefParameter) {
                    MethodRefParameter par = (MethodRefParameter) oo;
                    if (par.getType() != null) {
                        ITypeBinding tBind = par.getType().resolveBinding();
                        if (tBind != null) {
                            argumentsTypesNames[i] = tBind.getQualifiedName();
                        } else {
                            argumentsTypesNames[i] = par.getType().toString();
                        }
                    } else {
                        warning(WarningType.Other, "Missing type for parameter: " + oo.toString());
                        argumentsTypesNames[i] = "?";
                    }
                } else {
                    warning(WarningType.Other, "Invalid type of parameter: " + oo.toString());
                    argumentsTypesNames[i] = oo.toString();
                }
            }
        }
        ReferenceMetaModel ref = new ReferenceMetaModel(typeQualifiedName, typeSimpleName,
                name.getFullyQualifiedName(), argumentsTypesNames, qnameState);
        return ref;
    }
}

From source file:edu.uci.ics.sourcerer.extractor.ast.ReferenceExtractorVisitor.java

License:Open Source License

/**
 * This method writes://  w  ww.  jav  a 2  s .c o  m
 *<ul>
 *  <li>For any field:
 *  <ul>
 *    <li>Reads relation to <code>IRelationWriter</code>.</li>
 *    <li>Writes relation to <code>IRelationWriter</code>.</li>
 *  </ul></li>
 *  <li>For any type reference:
 *  <ul>
 *    <li>Uses relation to <code>IRelationWriter</code>.</li>
 *  </ul></li>
 *</ul>
 */
@Override
public boolean visit(SimpleName node) {
    IBinding binding = node.resolveBinding();

    if (binding instanceof IVariableBinding) {
        IVariableBinding varBinding = (IVariableBinding) binding;
        if (varBinding.isField()) {
            ITypeBinding declaringClass = varBinding.getDeclaringClass();
            if (declaringClass != null) {
                declaringClass = declaringClass.getErasure();
            }
            String fqn = null;
            if (declaringClass == null) {
                if (binding.isRecovered()) {
                    fqn = getUnknownFqn(binding.getName());
                } else if (binding.getName().equals("length")) {
                    return true;
                } else {
                    logger.log(Level.SEVERE,
                            "Non-recovered field binding without a declaring class that's not an array.length!",
                            node);
                    return true;
                }
            } else {
                fqn = getTypeFqn(declaringClass) + "." + binding.getName();
            }
            // Write the relation
            if (inLhsAssignment) {
                relationWriter.writeWrites(fqnStack.getFqn(), fqn, getLocation(node));
            } else {
                relationWriter.writeReads(fqnStack.getFqn(), fqn, getLocation(node));
            }
            //        if (!inFieldDeclaration) {
            //          relationWriter.writeUses(fqnStack.getFqn(), fqn, getLocation(node));
            //        }
        } else {
            // Write the uses relation
            //        relationWriter.writeUses(fqnStack.getFqn(), getTypeFqn(getBaseType(varBinding.getType())), getLocation(node));
        }
    } else if (binding instanceof ITypeBinding) {
        ITypeBinding typeBinding = (ITypeBinding) binding;
        // Write the uses relation
        relationWriter.writeUses(fqnStack.getFqn(), getTypeFqn(getBaseType(typeBinding)), getLocation(node));
    }
    return true;
}