protected void verifyVariableModifiers(VariableNode v) {
    ModifiersSet modifiersSet = v.getModifiers();
    if (modifiersSet == null) return;

    ASModifier[] modifiers = modifiersSet.getAllModifiers();
    IExpressionNode site = v.getNameExpressionNode();
    for (ASModifier modifier : modifiers) {
      if (modifier == ASModifier.NATIVE) {
        classScope.addProblem(new NativeVariableProblem(site));
      } else if (modifier == ASModifier.DYNAMIC) {
        classScope.addProblem(new DynamicNotOnClassProblem(site));
      } else if (modifier == ASModifier.FINAL) {
        classScope.addProblem(new FinalOutsideClassProblem(site));
      } else if (modifier == ASModifier.OVERRIDE) {
        classScope.addProblem(new InvalidOverrideProblem(site));
      } else if (modifier == ASModifier.VIRTUAL) {
        classScope.addProblem(new VirtualOutsideClassProblem(site));
      }
    }
    classScope.getMethodBodySemanticChecker().checkForDuplicateModifiers(v);
  }