List of usage examples for org.eclipse.jdt.core.dom IBinding getName
public String getName();
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; }