Package org.eclipse.jdt.core.dom

Examples of org.eclipse.jdt.core.dom.IVariableBinding


      Expression leftHandSide = node.getLeftHandSide();
      if (leftHandSide instanceof Name) {
        int startLine = lineNumber(node.getStartPosition());
        if (fLineNumber < startLine) {
          if (fBindingsResolved) {
            IVariableBinding binding = (IVariableBinding) ((Name) leftHandSide)
                .resolveBinding();
            if (binding != null
                && (!binding.isField() || Modifier
                    .isStatic(binding.getModifiers()))) {
              node.getRightHandSide().accept(this);
            }
          } else {
            fNeedBindings = true;
          }
View Full Code Here


  private IASTExpression convertSimleName(final SimpleName simpleName) {
    final IBinding binding = simpleName.resolveBinding();
    final ITypeBinding typeBinding = simpleName.resolveTypeBinding();
    if (binding.getKind() == IBinding.VARIABLE) {
      final IVariableBinding variableBinding = (IVariableBinding) binding;
      if (variableBinding.isEnumConstant()) {
        final ICPPASTQualifiedName qualifiedName = f.newQualifiedName();
        qualifiedName.addName(f.newName(typeBinding.getName().toCharArray()));
        qualifiedName.addName(new NameInfo(simpleName).getName());
        return f.newIdExpression(qualifiedName);
      } else if (((variableBinding.getModifiers() & Modifier.STATIC) != 0) && ((variableBinding.getModifiers() & Modifier.FINAL) != 0)) {
        final ICPPASTQualifiedName qualifiedName = f.newQualifiedName();
        qualifiedName.addName(f.newName(variableBinding.getDeclaringClass().getName().toCharArray()));
        qualifiedName.addName(new NameInfo(simpleName).getName());
        return f.newIdExpression(qualifiedName);
      } else if (typeDeclaration != null) {
        final List<String> tokens = new NameInfo(typeDeclaration.getName()).tokenize();
        if ((variableBinding.getDeclaringClass() != null) && !variableBinding.getDeclaringClass().getName().equals(tokens.get(tokens.size() - 1))) {
          if (!typeDeclaration.resolveBinding().isSubTypeCompatible(variableBinding.getDeclaringClass())) {
            final ICPPASTFieldReference fieldReference = f.newFieldReference(new NameInfo(simpleName).getName(), f.newIdExpression(f.newName("__parent".toCharArray())));
            fieldReference.setIsPointerDereference(true);
            return fieldReference;
          }
        }
      }
      variableBinding.getDeclaringClass();
      typeBinding.getDeclaringClass();
    }
    return f.newIdExpression(new NameInfo(simpleName).getName());
  }
View Full Code Here

  private IASTExpression convertQualifiedName(final QualifiedName qualifiedName) {
    final IBinding binding = qualifiedName.resolveBinding();
    final ITypeBinding typeBinding = qualifiedName.resolveTypeBinding();
    if (binding.getKind() == IBinding.VARIABLE) {
      final IVariableBinding variableBinding = (IVariableBinding) binding;
      if (variableBinding.isEnumConstant()) {
        final ICPPASTQualifiedName qName = f.newQualifiedName();
        qName.addName(f.newName(typeBinding.getName().toCharArray()));
        qName.addName(new NameInfo(qualifiedName.getName()).getName());
        return f.newIdExpression(qName);
      } else if (((variableBinding.getModifiers() & Modifier.STATIC) != 0) && ((variableBinding.getModifiers() & Modifier.FINAL) != 0)) {
        final ICPPASTQualifiedName qName = f.newQualifiedName();
        qName.addName(f.newName(variableBinding.getDeclaringClass().getName().toCharArray()));
        qName.addName(new NameInfo(qualifiedName.getName()).getName());
        return f.newIdExpression(qName);
        // } else if (typeBinding.isEnum()) {
        // IASTIdExpression idExpression = f.newIdExpression(new NameInfo(simpleName).getName());
        // return f.newUnaryExpression(IASTUnaryExpression.op_star, idExpression);
View Full Code Here

      IBinding binding = node.resolveBinding();
      if (binding == null)
        return false;
      if (binding.getKind() != IBinding.VARIABLE)
        return false;
      IVariableBinding variableBinding = (IVariableBinding) binding;
      if (variableBinding.isField()) {
        if ((variableBinding.getModifiers() & org.eclipse.jdt.core.dom.Modifier.FINAL) == 0)
          return false;
      } else {
        assert node.isSimpleName();
      }
      if (node.isQualifiedName()) {
View Full Code Here

      IBinding binding = qn.resolveBinding();
      if (binding == null)
        return false;
      if (binding.getKind() != IBinding.VARIABLE)
        return false;
      IVariableBinding variableBinding = (IVariableBinding) binding;
      assert variableBinding.isField();
      if ((variableBinding.getModifiers() & org.eclipse.jdt.core.dom.Modifier.FINAL) == 0)
        return false;
      node = qn.getQualifier();
      if (node.isSimpleName()){
        break;
      } else {
View Full Code Here

  private void updateScope(Name node) {
    Element xml = (Element) xmlElementStack.peek();
    IBinding binding = Utils.getBinding(node);
    if (binding != null && binding.getKind() == IBinding.VARIABLE) {
      IVariableBinding varBinding = (IVariableBinding) binding;
      if (varBinding.isField()) {
        xml.setAttribute("scope", "field");
        if ((varBinding.getModifiers() & org.eclipse.jdt.core.dom.Modifier.PRIVATE) > 0) {
          xml.setAttribute("private", varBinding.getDeclaringClass()
              .getName());
        }
      } else {
        xml.setAttribute("scope", "local");
      }
View Full Code Here

  public static boolean isFloatType(Expression expr) {
    return isFloatType(expr.resolveTypeBinding());
  }

  public static boolean isIntegerType(VariableDeclaration variableDeclaration) {
    IVariableBinding variableBinding = variableDeclaration.resolveBinding();
    return isIntegerType(variableBinding.getType());
  }
View Full Code Here

    IBinding binding = name.resolveBinding();
    if (binding == null)
      throw new FatalAIError("Cannot resolve type binding for: '%s'", name);
    if (binding.getKind() != IBinding.VARIABLE)
      return null;
    IVariableBinding varBinding = (IVariableBinding) binding;
    if (varBinding.isField())
      return null;
    IMethodBinding variableMethod = varBinding.getDeclaringMethod();
    //match declaration block
    ASTNode enclosingDeclarationBlock = ASTUtils.findAncestorOfType(name, ASTNode.METHOD_DECLARATION, ASTNode.INITIALIZER);
    if (variableMethod != null) {
      if (enclosingDeclarationBlock.getNodeType() != ASTNode.METHOD_DECLARATION)
        return null; // we are in initializer
      IMethodBinding enclosingMethod = ((MethodDeclaration)enclosingDeclarationBlock).resolveBinding();
      if (varBinding.getDeclaringMethod() != enclosingMethod)
        return null;
    } else {//variable is defined in initializer
      if (enclosingDeclarationBlock.getNodeType() != ASTNode.INITIALIZER)
        return null; // we are some method
      //hopefully we are ok :/
View Full Code Here

      T value = getValue(exprNode.resolveConstantExpressionValue());
      if (value != null)
        return value;
      // field access??
      if (exprNode.getNodeType() == ASTNode.FIELD_ACCESS) {
        IVariableBinding fieldBinding = ((FieldAccess) exprNode).resolveFieldBinding();
        return getValue(fieldBinding.getConstantValue());
      } else if (exprNode.getNodeType() == ASTNode.SUPER_FIELD_ACCESS) {
        IVariableBinding fieldBinding = ((SuperFieldAccess) exprNode).resolveFieldBinding();
        return getValue(fieldBinding.getConstantValue());
      } else
        return null;
    }
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.core.dom.IVariableBinding

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.