本文整理了Java中org.codehaus.groovy.ast.FieldNode.<init>()
方法的一些代码示例,展示了FieldNode.<init>()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FieldNode.<init>()
方法的具体详情如下:
包路径:org.codehaus.groovy.ast.FieldNode
类名称:FieldNode
方法名:<init>
暂无
代码示例来源:origin: org.codehaus.groovy/groovy
public PropertyNode(
String name, int modifiers, ClassNode type, ClassNode owner,
Expression initialValueExpression, Statement getterBlock,
Statement setterBlock) {
this(new FieldNode(name, modifiers & ACC_STATIC, type, owner, initialValueExpression), modifiers, getterBlock, setterBlock);
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static FieldNode createFieldCopy(ClassNode buildee, String fieldName, ClassNode fieldType) {
return new FieldNode(fieldName, ACC_PRIVATE, fieldType, buildee, DEFAULT_INITIAL_VALUE);
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static FieldNode newStatic(Class theClass, String name) throws SecurityException, NoSuchFieldException {
Field field = theClass.getField(name);
ClassNode fldType = ClassHelper.make(field.getType());
return new FieldNode(name, ACC_PUBLIC | ACC_STATIC, fldType, ClassHelper.make(theClass), null);
}
代码示例来源:origin: org.codehaus.groovy/groovy
public FieldNode addField(String name, int modifiers, ClassNode type, Expression initialValue) {
FieldNode node = new FieldNode(name, modifiers, type, redirect(), initialValue);
addField(node);
return node;
}
代码示例来源:origin: org.codehaus.groovy/groovy
public FieldNode addFieldFirst(String name, int modifiers, ClassNode type, Expression initialValue) {
FieldNode node = new FieldNode(name, modifiers, type, redirect(), initialValue);
addFieldFirst(node);
return node;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static FieldNode createFieldCopy(ClassNode builderClass, PropertyInfo prop) {
String propName = prop.getName();
return new FieldNode(propName.equals("class") ? "clazz" : propName, ACC_PRIVATE, newClass(prop.getType()), builderClass, DEFAULT_INITIAL_VALUE);
}
代码示例来源:origin: groovy/groovy-core
public void visit(ASTNode[] nodes, SourceUnit sourceUnit) {
ClassNode classNode = (ClassNode) nodes[1];
classNode.addField(new FieldNode("f1", ACC_PUBLIC, ClassHelper.OBJECT_TYPE, classNode, null));
}
代码示例来源:origin: org.codehaus.groovy/groovy
private void completeEnum(ClassNode enumClass) {
boolean isAic = isAnonymousInnerClass(enumClass);
// create MIN_VALUE and MAX_VALUE fields
FieldNode minValue = null, maxValue = null, values = null;
if (!isAic) {
ClassNode enumRef = enumClass.getPlainNodeReference();
// create values field
values = new FieldNode("$VALUES", PRIVATE_FS | Opcodes.ACC_SYNTHETIC, enumRef.makeArray(), enumClass, null);
values.setSynthetic(true);
addMethods(enumClass, values);
checkForAbstractMethods(enumClass);
// create MIN_VALUE and MAX_VALUE fields
minValue = new FieldNode("MIN_VALUE", PUBLIC_FS, enumRef, enumClass, null);
maxValue = new FieldNode("MAX_VALUE", PUBLIC_FS, enumRef, enumClass, null);
}
addInit(enumClass, minValue, maxValue, values, isAic);
}
代码示例来源:origin: groovy/groovy-core
public void visit(ASTNode[] nodes, SourceUnit sourceUnit) {
ClassNode classNode = (ClassNode) nodes[1];
classNode.addField(new FieldNode("f2", ACC_PUBLIC, ClassHelper.OBJECT_TYPE, classNode, null));
}
代码示例来源:origin: groovy/groovy-core
public void visit(ASTNode[] nodes, SourceUnit sourceUnit) {
ClassNode classNode = (ClassNode) nodes[1];
classNode.addField(new FieldNode("f3", ACC_PUBLIC, ClassHelper.OBJECT_TYPE, classNode, null));
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static List<FieldNode> convertParamsToFields(ClassNode builder, Parameter[] parameters) {
List<FieldNode> fieldNodes = new ArrayList<FieldNode>();
for(Parameter parameter: parameters) {
Map<String,ClassNode> genericsSpec = createGenericsSpec(builder);
ClassNode correctedType = correctToGenericsSpecRecurse(genericsSpec, parameter.getType());
FieldNode fieldNode = new FieldNode(parameter.getName(), parameter.getModifiers(), correctedType, builder, DEFAULT_INITIAL_VALUE);
fieldNodes.add(fieldNode);
builder.addField(fieldNode);
}
return fieldNodes;
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static FieldNode addEnumConstant(ClassNode enumClass, String name, Expression init) {
int modifiers = PUBLIC_FS | Opcodes.ACC_ENUM;
if (init != null && !(init instanceof ListExpression)) {
ListExpression list = new ListExpression();
list.addExpression(init);
init = list;
}
FieldNode fn = new FieldNode(name, modifiers, enumClass.getPlainNodeReference(), enumClass, init);
enumClass.addField(fn);
return fn;
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
protected void addTimeStamp(ClassNode node) {
if (node.getDeclaredField(Verifier.__TIMESTAMP) == null) { // in case if verifier visited the call already
FieldNode timeTagField = new FieldNode(
Verifier.__TIMESTAMP,
ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC,
ClassHelper.long_TYPE,
//"",
node,
new ConstantExpression(System.currentTimeMillis()));
// alternatively, FieldNode timeTagField = SourceUnit.createFieldNode("public static final long __timeStamp = " + System.currentTimeMillis() + "L");
timeTagField.setSynthetic(true);
node.addField(timeTagField);
timeTagField = new FieldNode(
Verifier.__TIMESTAMP__ + String.valueOf(System.currentTimeMillis()),
ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC,
ClassHelper.long_TYPE,
//"",
node,
new ConstantExpression((long) 0));
// alternatively, FieldNode timeTagField = SourceUnit.createFieldNode("public static final long __timeStamp = " + System.currentTimeMillis() + "L");
timeTagField.setSynthetic(true);
node.addField(timeTagField);
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
private Expression createFieldHelperCall(Expression exp, ClassNode weavedType, String propName) {
String method = Traits.helperGetterName(new FieldNode(propName, 0, ClassHelper.OBJECT_TYPE, weavedType, null));
MethodCallExpression mce = new MethodCallExpression(
createFieldHelperReceiver(),
method,
ArgumentListExpression.EMPTY_ARGUMENTS
);
mce.setSourcePosition(exp);
mce.setImplicitThis(false);
return mce;
}
代码示例来源:origin: org.codehaus.groovy/groovy
static FieldNode createFieldNode(FieldStub field, AsmReferenceResolver resolver, DecompiledClassNode owner) {
final ClassNode[] type = {resolver.resolveType(Type.getType(field.desc))};
if (field.signature != null) {
new SignatureReader(field.signature).accept(new TypeSignatureParser(resolver) {
@Override
void finished(ClassNode result) {
type[0] = applyErasure(result, type[0]);
}
});
}
ConstantExpression value = field.value == null ? null : new ConstantExpression(field.value);
return new FieldNode(field.fieldName, field.accessModifiers, type[0], owner, value);
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
private void setConstField(ConstantExpression constantExpression) {
final Object n = constantExpression.getValue();
if (!(n instanceof Number)) return;
if (n instanceof Integer || n instanceof Double) return;
if (n instanceof Long && (0L == (Long) n || 1L == (Long) n)) return; // LCONST_0, LCONST_1
boolean isPrimitive = isPrimitiveType(constantExpression.getType());
FieldNode field = isPrimitive ? const2Prims.get(n) : const2Objects.get(n);
if (field != null) {
constantExpression.setConstantName(field.getName());
return;
}
String name;
do {
name = "$const$" + index++;
} while (currentClass.getDeclaredField(name) != null);
// TODO consider moving initcode to <clinit> and remaking field final
field = new FieldNode(name,
Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC,
constantExpression.getType(),
currentClass,
constantExpression);
field.setSynthetic(true);
missingFields.add(field);
constantExpression.setConstantName(field.getName());
if (isPrimitive) {
const2Prims.put(n, field);
} else {
const2Objects.put(n, field);
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static FieldNode createFieldCopy(ClassNode buildee, Parameter param) {
Map<String,ClassNode> genericsSpec = createGenericsSpec(buildee);
extractSuperClassGenerics(param.getType(), buildee, genericsSpec);
ClassNode correctedParamType = correctToGenericsSpecRecurse(genericsSpec, param.getType());
return new FieldNode(param.getName(), ACC_PRIVATE, correctedParamType, buildee, param.getInitialExpression());
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static FieldNode createFieldCopy(ClassNode buildee, FieldNode fNode) {
Map<String,ClassNode> genericsSpec = createGenericsSpec(fNode.getDeclaringClass());
extractSuperClassGenerics(fNode.getType(), buildee, genericsSpec);
ClassNode correctedType = correctToGenericsSpecRecurse(genericsSpec, fNode.getType());
return new FieldNode(fNode.getName(), fNode.getModifiers(), correctedType, buildee, DEFAULT_INITIAL_VALUE);
}
代码示例来源:origin: groovy/groovy-core
new BinaryExpression(
new FieldExpression(
new FieldNode("bar", ACC_PRIVATE, ClassHelper.STRING_TYPE, classNode, ConstantExpression.NULL)),
Token.newSymbol("==", 0, 0),
new ConstantExpression("abc")));
new BinaryExpression(
new FieldExpression(
new FieldNode("result", ACC_PRIVATE, ClassHelper.STRING_TYPE, classNode, ConstantExpression.NULL)),
Token.newSymbol("=", 0, 0),
new ConstantExpression("worked")));
代码示例来源:origin: org.codehaus.groovy/groovy
FieldNode memoizedClosureField = new FieldNode(memoizedClosureFieldName, modifiers,
newClass(ClassHelper.CLOSURE_TYPE), null, memoizeClosureCallExpression);
ownerClassNode.addField(memoizedClosureField);
内容来源于网络,如有侵权,请联系作者删除!