org.eclipse.jdt.internal.compiler.lookup.BlockScope.needBlankFinalFieldInitializationCheck()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(16.0k)|赞(0)|评价(0)|浏览(139)

本文整理了Java中org.eclipse.jdt.internal.compiler.lookup.BlockScope.needBlankFinalFieldInitializationCheck()方法的一些代码示例,展示了BlockScope.needBlankFinalFieldInitializationCheck()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BlockScope.needBlankFinalFieldInitializationCheck()方法的具体详情如下:
包路径:org.eclipse.jdt.internal.compiler.lookup.BlockScope
类名称:BlockScope
方法名:needBlankFinalFieldInitializationCheck

BlockScope.needBlankFinalFieldInitializationCheck介绍

[英]Returns true if the context requires to check initialization of final blank fields. in other words, it is inside an initializer, a constructor or a clinit
[中]如果上下文需要检查最终空白字段的初始化,则返回true。换句话说,它位于初始值设定项、构造函数或clinit中

代码示例

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

@Override
public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this, currentScope);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: trylimits/Eclipse-Postfix-Code-Completion

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {

  switch (this.bits & RestrictiveFlagMASK) {
    case Binding.FIELD : // reading a field
      // check if reading a final blank field
      FieldBinding fieldBinding;
      if ((fieldBinding = (FieldBinding) this.binding).isBlankFinal()
          && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
        FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
        if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
          currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
        }
      }
      break;
    case Binding.LOCAL : // reading a local variable
      LocalVariableBinding localBinding;
      if (!flowInfo.isDefinitelyAssigned(localBinding = (LocalVariableBinding) this.binding)) {
        currentScope.problemReporter().uninitializedLocalVariable(localBinding, this);
      }
      if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) {
        localBinding.useFlag = LocalVariableBinding.USED;
      } else if (localBinding.useFlag == LocalVariableBinding.UNUSED) {
        localBinding.useFlag = LocalVariableBinding.FAKE_USED;
      }
  }
  return flowInfo;
}
/**

代码示例来源:origin: org.eclipse.jdt.core.compiler/ecj

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {
  boolean nonStatic = !this.binding.isStatic();
  this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic);
  if (nonStatic) {
    this.receiver.checkNPE(currentScope, flowContext, flowInfo, 1);
  }

  if (valueRequired || currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_4) {
    manageSyntheticAccessIfNecessary(currentScope, flowInfo, true /*read-access*/);
  }
  if (currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_7) {
    FieldBinding fieldBinding = this.binding;
    if (this.receiver.isThis() && fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
      FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
      if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
        currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
      }
    }
  }
  return flowInfo;
}

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {
  boolean nonStatic = !this.binding.isStatic();
  this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic);
  if (nonStatic) {
    this.receiver.checkNPE(currentScope, flowContext, flowInfo, 1);
  }

  if (valueRequired || currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_4) {
    manageSyntheticAccessIfNecessary(currentScope, flowInfo, true /*read-access*/);
  }
  if (currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_7) {
    FieldBinding fieldBinding = this.binding;
    if (this.receiver.isThis() && fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
      FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
      if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
        currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
      }
    }
  }
  return flowInfo;
}

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {
  boolean nonStatic = !this.binding.isStatic();
  this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic);
  if (nonStatic) {
    this.receiver.checkNPE(currentScope, flowContext, flowInfo, 1);
  }

  if (valueRequired || currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_4) {
    manageSyntheticAccessIfNecessary(currentScope, flowInfo, true /*read-access*/);
  }
  if (currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_7) {
    FieldBinding fieldBinding = this.binding;
    if (this.receiver.isThis() && fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
      FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
      if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
        currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
      }
    }
  }
  return flowInfo;
}

代码示例来源:origin: org.eclipse.scout.sdk.deps/ecj

public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {
  boolean nonStatic = !this.binding.isStatic();
  this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic);
  if (nonStatic) {
    this.receiver.checkNPE(currentScope, flowContext, flowInfo, 1);
  }

  if (valueRequired || currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_4) {
    manageSyntheticAccessIfNecessary(currentScope, flowInfo, true /*read-access*/);
  }
  if (currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_7) {
    FieldBinding fieldBinding = this.binding;
    if (this.receiver.isThis() && fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
      FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
      if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
        currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
      }
    }
  }
  return flowInfo;
}

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

@Override
public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) {
  boolean nonStatic = !this.binding.isStatic();
  this.receiver.analyseCode(currentScope, flowContext, flowInfo, nonStatic);
  if (nonStatic) {
    this.receiver.checkNPE(currentScope, flowContext, flowInfo, 1);
  }

  if (valueRequired || currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_4) {
    manageSyntheticAccessIfNecessary(currentScope, flowInfo, true /*read-access*/);
  }
  if (currentScope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_7) {
    FieldBinding fieldBinding = this.binding;
    if (this.receiver.isThis() && fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
      FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
      if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {
        currentScope.problemReporter().uninitializedBlankFinalField(fieldBinding, this);
      }
    }
  }
  return flowInfo;
}

代码示例来源:origin: org.eclipse.jdt.core.compiler/ecj

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: com.vaadin/vaadin-client-compiler-deps

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: com.ovea.tajin.server/tajin-server-tomcat7

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: org.eclipse.scout.sdk.deps/ecj

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

if (fieldBinding.isBlankFinal() && currentScope.needBlankFinalFieldInitializationCheck(fieldBinding)) {
  FlowInfo fieldInits = flowContext.getInitsForFinalBlankInitializationCheck(fieldBinding.declaringClass.original(), flowInfo);
  if (!fieldInits.isDefinitelyAssigned(fieldBinding)) {

相关文章

BlockScope类方法