Package org.eclipse.jdt.internal.compiler.ast

Examples of org.eclipse.jdt.internal.compiler.ast.SingleNameReference


    QualifiedNameReference ref = (QualifiedNameReference) nameRef;
    if (isRecoveredName(ref.tokens)) return;
    if (ref.indexOfFirstFieldBinding >= 1)
      end = (int) ref.sourcePositions[ref.indexOfFirstFieldBinding - 1];
  } else {
    SingleNameReference ref = (SingleNameReference) nameRef;
    if (isRecoveredName(ref.token)) return;
  }
  this.handle(
    IProblem.UndefinedName,
    arguments,
View Full Code Here


public void generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) {
  // optimizing assignment like: i = i + 1 or i = 1 + i
  if (assignment.expression.isCompactableOperation()) {
    BinaryExpression operation = (BinaryExpression) assignment.expression;
    int operator = (operation.bits & OperatorMASK) >> OperatorSHIFT;
    SingleNameReference variableReference;
    if ((operation.left instanceof SingleNameReference) && ((variableReference = (SingleNameReference) operation.left).binding == this.binding)) {
      // i = i + value, then use the variable on the right hand side, since it has the correct implicit conversion
      variableReference.generateCompoundAssignment(currentScope, codeStream, this.syntheticAccessors == null ? null : this.syntheticAccessors[WRITE], operation.right, operator, operation.implicitConversion, valueRequired);
      if (valueRequired) {
        codeStream.generateImplicitConversion(assignment.implicitConversion);
      }
      return;
    }
    if ((operation.right instanceof SingleNameReference)
        && ((operator == PLUS) || (operator == MULTIPLY)) // only commutative operations
        && ((variableReference = (SingleNameReference) operation.right).binding == this.binding)
        && (operation.left.constant != Constant.NotAConstant) // exclude non constant expressions, since could have side-effect
        && (((operation.left.implicitConversion & IMPLICIT_CONVERSION_MASK) >> 4) != T_JavaLangString) // exclude string concatenation which would occur backwards
        && (((operation.right.implicitConversion & IMPLICIT_CONVERSION_MASK) >> 4) != T_JavaLangString)) { // exclude string concatenation which would occur backwards
      // i = value + i, then use the variable on the right hand side, since it has the correct implicit conversion
      variableReference.generateCompoundAssignment(currentScope, codeStream, this.syntheticAccessors == null ? null : this.syntheticAccessors[WRITE], operation.left, operator, operation.implicitConversion, valueRequired);
      if (valueRequired) {
        codeStream.generateImplicitConversion(assignment.implicitConversion);
      }
      return;
    }
View Full Code Here

public void invalidField(NameReference nameRef, FieldBinding field) {
  if (nameRef instanceof QualifiedNameReference) {
    QualifiedNameReference ref = (QualifiedNameReference) nameRef;
    if (isRecoveredName(ref.tokens)) return;
  } else {
    SingleNameReference ref = (SingleNameReference) nameRef;
    if (isRecoveredName(ref.token)) return;
  }
  int id = IProblem.UndefinedField;
  switch (field.problemId()) {
    case ProblemReasons.NotFound :
View Full Code Here

    QualifiedNameReference ref = (QualifiedNameReference) nameRef;
    if (isRecoveredName(ref.tokens)) return;
    if (ref.indexOfFirstFieldBinding >= 1)
      end = (int) ref.sourcePositions[ref.indexOfFirstFieldBinding - 1];
  } else {
    SingleNameReference ref = (SingleNameReference) nameRef;
    if (isRecoveredName(ref.token)) return;
    int numberOfParens = (ref.bits & ASTNode.ParenthesizedMASK) >> ASTNode.ParenthesizedSHIFT;
    if (numberOfParens != 0) {
      sourceStart = retrieveStartingPositionAfterOpeningParenthesis(sourceStart, end, numberOfParens);
      end = retrieveEndingPositionAfterOpeningParenthesis(sourceStart, end, numberOfParens);
View Full Code Here

      LocalVariableBinding localVariable = (LocalVariableBinding)singleNameReference.binding;
      if (localVariable != null) {
        return this.getTypeBinding(localVariable.type);
      }
    } if (node instanceof SingleNameReference) {
      SingleNameReference singleNameReference = (SingleNameReference) node;
      return this.getTypeBinding(singleNameReference.resolvedType);
    } else if (node instanceof QualifiedSuperReference) {
      QualifiedSuperReference qualifiedSuperReference = (QualifiedSuperReference) node;
      return this.getTypeBinding(qualifiedSuperReference.qualification.resolvedType);
    } else if (node instanceof LocalDeclaration) {
View Full Code Here

      ITypeBinding typeBinding = this.getTypeBinding(typeDeclaration.binding);
      if (typeBinding != null) {
        return typeBinding;
      }
    } if (node instanceof SingleNameReference) {
      SingleNameReference singleNameReference = (SingleNameReference) node;
      if (singleNameReference.isTypeReference()) {
        return this.getTypeBinding(singleNameReference.resolvedType);
      } else {
        // this is a variable or a field
        Binding binding = singleNameReference.binding;
        if (binding != null) {
View Full Code Here

        FieldBinding fieldBinding = null;
        if (defaultValue instanceof QualifiedNameReference) {
          QualifiedNameReference nameReference = (QualifiedNameReference) defaultValue;
          fieldBinding = (FieldBinding) nameReference.binding;
        } else if (defaultValue instanceof SingleNameReference) {
          SingleNameReference nameReference = (SingleNameReference) defaultValue;
          fieldBinding = (FieldBinding) nameReference.binding;
        } else {
          this.contentsOffset = attributeOffset;
        }
        if (fieldBinding != null) {
View Full Code Here

        FieldBinding fieldBinding = null;
        if (defaultValue instanceof QualifiedNameReference) {
          QualifiedNameReference nameReference = (QualifiedNameReference) defaultValue;
          fieldBinding = (FieldBinding) nameReference.binding;
        } else if (defaultValue instanceof SingleNameReference) {
          SingleNameReference nameReference = (SingleNameReference) defaultValue;
          fieldBinding = (FieldBinding) nameReference.binding;
        } else {
          this.contentsOffset = attributeOffset;
        }
        if (fieldBinding != null) {
View Full Code Here

public void invalidField(NameReference nameRef, FieldBinding field) {
  if (nameRef instanceof QualifiedNameReference) {
    QualifiedNameReference ref = (QualifiedNameReference) nameRef;
    if (isRecoveredName(ref.tokens)) return;
  } else {
    SingleNameReference ref = (SingleNameReference) nameRef;
    if (isRecoveredName(ref.token)) return;
  }
  int id = IProblem.UndefinedField;
  switch (field.problemId()) {
    case ProblemReasons.NotFound :
View Full Code Here

    QualifiedNameReference ref = (QualifiedNameReference) nameRef;
    if (isRecoveredName(ref.tokens)) return;
    if (ref.indexOfFirstFieldBinding >= 1)
      end = (int) ref.sourcePositions[ref.indexOfFirstFieldBinding - 1];
  } else {
    SingleNameReference ref = (SingleNameReference) nameRef;
    if (isRecoveredName(ref.token)) return;
    int numberOfParens = (ref.bits & ASTNode.ParenthesizedMASK) >> ASTNode.ParenthesizedSHIFT;
    if (numberOfParens != 0) {
      sourceStart = retrieveStartingPositionAfterOpeningParenthesis(sourceStart, end, numberOfParens);
      end = retrieveEndingPositionAfterOpeningParenthesis(sourceStart, end, numberOfParens);
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.internal.compiler.ast.SingleNameReference

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.