Package org.eclipse.jdt.core.dom

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


      if (!isStatic
          && TransformUtil.constexprValue(f.resolveBinding()) == null) {
        continue;
      }

      IVariableBinding vb = f.resolveBinding();
      boolean asMethod = TransformUtil.asMethod(vb);

      if (asMethod) {
        ITypeBinding tb = vb.getType();
        print(TransformUtil.varTypeCName(vb.getModifiers(), tb, deps));

        println("& " + qcname + "::" + CName.of(vb) + "()");
        printlni("{");
        indent++;
        printlni("clinit();");
        printlni("return " + CName.of(vb) + "_;");
        indent--;
        println("}");
      }

      printi(TransformUtil.fieldModifiers(type, node.getModifiers(),
          false, TransformUtil.constexprValue(f) != null));

      print(TransformUtil.varTypeCName(vb.getModifiers(), vb.getType(),
          deps));

      print(" ");

      print(qcname + "::");
View Full Code Here


  public boolean visit(SimpleName node) {
    IBinding b = node.resolveBinding();
    boolean ret = super.visit(node);

    if (b instanceof IVariableBinding) {
      IVariableBinding vb = (IVariableBinding) b;
      if (TransformUtil.asMethod(vb)) {
        if (vb.getDeclaringClass().isEqualTo(type)) {
          print("_");
        } else {
          print("()");
        }
      }
View Full Code Here

    return ret;
  }

  @Override
  public boolean visit(SingleVariableDeclaration node) {
    IVariableBinding vb = node.resolveBinding();
    if (!vb.isField()) {
      locals.get(locals.size() - 1).add(CName.of(vb));
    }

    ITypeBinding tb = node.getType().resolveBinding();
    if (node.getExtraDimensions() > 0) {
      tb = tb.createArrayType(node.getExtraDimensions());
    }

    if (node.isVarargs()) {
      tb = tb.createArrayType(1);
      print(TransformUtil.relativeRef(tb, type, true));
      print("/*...*/");
    } else {
      print(TransformUtil.varTypeCName(vb.getModifiers(), tb, type, deps));
    }

    print(" ");

    SimpleName name = node.getName();
View Full Code Here

    return false;
  }

  @Override
  public boolean visit(VariableDeclarationFragment node) {
    IVariableBinding vb = node.resolveBinding();
    if (!vb.isField()) {
      locals.get(locals.size() - 1).add(CName.of(vb));
    }

    // VariableDeclarationStatements lack ref - they can never be volatile
    if (node.getParent() instanceof VariableDeclarationExpression) {
      print(TransformUtil.ref(vb.getType()));
    }

    acceptVariableInit(vb, node.getName(), node.getInitializer());

    return false;
View Full Code Here

    if (!isActive()) {
      return false;
    }

    SimpleName fieldName = node.getName();
    IVariableBinding fieldBinding = (IVariableBinding) fieldName
        .resolveBinding();
    if (fieldBinding != null) {
      ITypeBinding declaringTypeBinding = fieldBinding
          .getDeclaringClass();
      Expression expression = node.getExpression();
      String fieldId = fieldName.getIdentifier();

      if (Modifier.isStatic(fieldBinding.getModifiers())) {
        push(new PushStaticFieldVariable(fieldId,
            getTypeName(declaringTypeBinding), fCounter));
        expression.accept(this);
        addPopInstruction();
      } else {
View Full Code Here

    case IBinding.TYPE:
      node.getName().accept(this);
      break;
    case IBinding.VARIABLE:
      SimpleName fieldName = node.getName();
      IVariableBinding fieldBinding = (IVariableBinding) resolveBinding(fieldName);
      if (fieldBinding == null) {
        return false;
      }
      ITypeBinding declaringTypeBinding = fieldBinding
          .getDeclaringClass();
      String fieldId = fieldName.getIdentifier();

      if (Modifier.isStatic(fieldBinding.getModifiers())) {
        push(new PushStaticFieldVariable(fieldId,
            getTypeName(declaringTypeBinding), fCounter));
      } else {
        if (declaringTypeBinding == null) {
          push(new PushArrayLength(fCounter));
View Full Code Here

    case IBinding.TYPE:
      ITypeBinding typeBinding = (ITypeBinding) binding;
      push(new PushType(getTypeName(typeBinding)));
      break;
    case IBinding.VARIABLE:
      IVariableBinding variableBinding = (IVariableBinding) binding;
      ITypeBinding declaringTypeBinding = variableBinding
          .getDeclaringClass();
      if (variableBinding.isField()) {
        if (Modifier.isStatic(variableBinding.getModifiers())) {
          push(new PushStaticFieldVariable(variableId,
              getTypeName(declaringTypeBinding), fCounter));
        } else {
          if (isALocalType(declaringTypeBinding)) {
            setHasError(true);
View Full Code Here

    if (!isActive()) {
      return false;
    }

    SimpleName fieldName = node.getName();
    IVariableBinding fieldBinding = (IVariableBinding) resolveBinding(fieldName);
    if (fieldBinding == null) {
      return false;
    }
    ITypeBinding declaringTypeBinding = fieldBinding.getDeclaringClass();
    String fieldId = fieldName.getIdentifier();

    if (Modifier.isStatic(fieldBinding.getModifiers())) {
      push(new PushStaticFieldVariable(fieldId,
          getTypeName(declaringTypeBinding), fCounter));
    } else {
      Name qualifier = node.getQualifier();
      int superLevel = 1;
View Full Code Here

      fNeedBindings = true;
      return false;
    }
    // if the node is 'this.<field>', and the field is static final
    Expression expression = node.getExpression();
    IVariableBinding binding = node.resolveFieldBinding();
    if (binding != null
        && expression.getNodeType() == ASTNode.THIS_EXPRESSION) {
      return binding.getConstantValue() != null;
    }
    return false;
  }
View Full Code Here

    if (!fBindingsResolved) {
      fNeedBindings = true;
      return false;
    }
    // if the field is static final
    IVariableBinding binding = node.resolveFieldBinding();
    if (binding != null) {
      return binding.getConstantValue() != null;
    }
    return false;
  }
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.