org.codehaus.groovy.ast.FieldNode.isPublic()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.9k)|赞(0)|评价(0)|浏览(64)

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

FieldNode.isPublic介绍

暂无

代码示例

代码示例来源:origin: org.codehaus.groovy/groovy

private static void ensureNotPublic(AbstractASTTransformation xform, String cNode, FieldNode fNode) {
  String fName = fNode.getName();
  // TODO: do we need to lock down things like: $ownClass
  if (fNode.isPublic() && !fName.contains("$") && !(fNode.isStatic() && fNode.isFinal())) {
    xform.addError("Public field '" + fName + "' not allowed for " + MY_TYPE_NAME + " class '" + cNode + "'.", fNode);
  }
}

代码示例来源:origin: org.codehaus.groovy/groovy

private static boolean isDirectAccessAllowed(FieldNode a, ClassNode receiver, boolean isSamePackage) {
  ClassNode declaringClass = a.getDeclaringClass().redirect();
  ClassNode receiverType = receiver.redirect();
  // first, direct access from within the class or inner class nodes
  if (declaringClass.equals(receiverType)) return true;
  if (receiverType instanceof InnerClassNode) {
    while (receiverType instanceof InnerClassNode) {
      if (declaringClass.equals(receiverType)) return true;
      receiverType = receiverType.getOuterClass();
    }
  }
  // no getter
  return a.isPublic() || (a.isProtected() && isSamePackage);
}

代码示例来源:origin: org.codehaus.groovy/groovy

private void setPropertyOfSuperClass(ClassNode classNode, PropertyExpression expression, MethodVisitor mv) {
  String fieldName = expression.getPropertyAsString();
  FieldNode fieldNode = classNode.getSuperClass().getField(fieldName);
  if (null == fieldNode) {
    throw new RuntimeParserException("Failed to find field[" + fieldName + "] of " + classNode.getName() + "'s super class", expression);
  }
  if (fieldNode.isFinal()) {
    throw new RuntimeParserException("Cannot modify final field[" + fieldName + "] of " + classNode.getName() + "'s super class", expression);
  }
  MethodNode setter = findSetterOfSuperClass(classNode, fieldNode);
  MethodNode getter = findGetterOfSuperClass(classNode, fieldNode);
  if (fieldNode.isPrivate() && !getterAndSetterExists(setter, getter)) {
    throw new RuntimeParserException("Cannot access private field[" + fieldName + "] of " + classNode.getName() + "'s super class", expression);
  }
  OperandStack operandStack = controller.getOperandStack();
  operandStack.doAsType(fieldNode.getType());
  mv.visitVarInsn(ALOAD, 0);
  operandStack.push(classNode);
  operandStack.swap();
  String owner = BytecodeHelper.getClassInternalName(classNode.getSuperClass().getName());
  String desc = BytecodeHelper.getTypeDescription(fieldNode.getType());
  if (fieldNode.isPublic() || fieldNode.isProtected()) {
    mv.visitFieldInsn(PUTFIELD, owner, fieldName, desc);
  } else {
    mv.visitMethodInsn(INVOKESPECIAL, owner, setter.getName(), BytecodeHelper.getMethodDescriptor(setter), false);
  }
}

代码示例来源:origin: org.codehaus.groovy/groovy

if (fn!=null && receiverType!=current && !fn.isPublic()) {

代码示例来源:origin: org.codehaus.groovy/groovy

(field.isPublic()? Traits.PUBLIC_FIELD_PREFIX : Traits.PRIVATE_FIELD_PREFIX)+
    Traits.remappedFieldName(field.getOwner(), field.getName());
dummyField = new FieldNode(

代码示例来源:origin: org.codehaus.groovy/groovy

current = current.getSuperClass();
if (field!=null && (field.isProtected() || field.isPublic())) {
  visitFieldExpression(new FieldExpression(field));
  return;

代码示例来源:origin: org.kohsuke.droovy/groovy

private void ensureNotPublic(String cNode, FieldNode fNode) {
  String fName = fNode.getName();
  // TODO: do we need to lock down things like: $ownClass
  if (fNode.isPublic() && !fName.contains("$")) {
    throw new RuntimeException("Public field '" + fName + "' not allowed for " + MY_TYPE_NAME + " class '" + cNode + "'.");
  }
}

代码示例来源:origin: org.codehaus.groovy/groovy-jdk14

private void ensureNotPublic(String cNode, FieldNode fNode) {
  String fName = fNode.getName();
  // TODO: do we need to lock down things like: $ownClass
  if (fNode.isPublic() && !fName.contains("$")) {
    throw new RuntimeException("Public field '" + fName + "' not allowed for " + MY_TYPE_NAME + " class '" + cNode + "'.");
  }
}

代码示例来源:origin: com.thinkaurelius.groovy-shaded-asm/groovy-shaded-asm

private void ensureNotPublic(String cNode, FieldNode fNode) {
  String fName = fNode.getName();
  // TODO: do we need to lock down things like: $ownClass
  if (fNode.isPublic() && !fName.contains("$") && !(fNode.isStatic() && fNode.isFinal())) {
    addError("Public field '" + fName + "' not allowed for " + MY_TYPE_NAME + " class '" + cNode + "'.", fNode);
  }
}

代码示例来源:origin: org.kohsuke.droovy/groovy

private void createConstructorMapCommon(ClassNode cNode, FieldExpression constructorStyle, BlockStatement body) {
  final List<FieldNode> fList = cNode.getFields();
  for (FieldNode fNode : fList) {
    if (!fNode.isPublic() && !fNode.getName().contains("$") && (cNode.getProperty(fNode.getName()) == null)) {
      body.addStatement(createConstructorStatementDefault(fNode));
    }
  }
  body.addStatement(assignStatement(constructorStyle, ConstantExpression.TRUE));
  final Parameter[] params = new Parameter[]{new Parameter(HASHMAP_TYPE, "args")};
  cNode.addConstructor(new ConstructorNode(ACC_PUBLIC, params, ClassNode.EMPTY_ARRAY, new IfStatement(
      equalsNullExpr(new VariableExpression("args")),
      new EmptyStatement(),
      body)));
}

代码示例来源:origin: com.thinkaurelius.groovy-shaded-asm/groovy-shaded-asm

private void createConstructorMapCommon(ClassNode cNode, BlockStatement body) {
  final List<FieldNode> fList = cNode.getFields();
  for (FieldNode fNode : fList) {
    if (fNode.isPublic()) continue; // public fields will be rejected elsewhere
    if (cNode.getProperty(fNode.getName()) != null) continue; // a property
    if (fNode.isFinal() && fNode.isStatic()) continue;
    if (fNode.getName().contains("$")) continue; // internal field
    if (fNode.isFinal() && fNode.getInitialExpression() != null)
      body.addStatement(checkFinalArgNotOverridden(cNode, fNode));
    body.addStatement(createConstructorStatementDefault(fNode));
  }
  final Parameter[] params = new Parameter[]{new Parameter(HASHMAP_TYPE, "args")};
  cNode.addConstructor(new ConstructorNode(ACC_PUBLIC, params, ClassNode.EMPTY_ARRAY, new IfStatement(
      equalsNullExpr(new VariableExpression("args")),
      new EmptyStatement(),
      body)));
}

代码示例来源:origin: org.codehaus.groovy/groovy-jdk14

private void createConstructorMapCommon(ClassNode cNode, FieldExpression constructorStyle, BlockStatement body) {
  final List<FieldNode> fList = cNode.getFields();
  for (FieldNode fNode : fList) {
    if (!fNode.isPublic() && !fNode.getName().contains("$") && (cNode.getProperty(fNode.getName()) == null)) {
      body.addStatement(createConstructorStatementDefault(fNode));
    }
  }
  body.addStatement(assignStatement(constructorStyle, ConstantExpression.TRUE));
  final Parameter[] params = new Parameter[]{new Parameter(HASHMAP_TYPE, "args")};
  cNode.addConstructor(new ConstructorNode(ACC_PUBLIC, params, ClassNode.EMPTY_ARRAY, new IfStatement(
      equalsNullExpr(new VariableExpression("args")),
      new EmptyStatement(),
      body)));
}

相关文章