本文整理了Java中org.codehaus.groovy.ast.Parameter.getType()
方法的一些代码示例,展示了Parameter.getType()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parameter.getType()
方法的具体详情如下:
包路径:org.codehaus.groovy.ast.Parameter
类名称:Parameter
方法名:getType
暂无
代码示例来源:origin: org.codehaus.groovy/groovy
protected static ClassNode[] extractTypesFromParameters(final Parameter[] parameters) {
ClassNode[] params = new ClassNode[parameters.length];
for (int i = 0; i < params.length; i++) {
params[i] = parameters[i].getType();
}
return params;
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static boolean equalParameterTypes(Parameter[] p1, Parameter[] p2) {
if (p1.length != p2.length) return false;
for (int i = 0; i < p1.length; i++) {
if (!p1[i].getType().equals(p2[i].getType())) return false;
}
return true;
}
代码示例来源:origin: org.codehaus.groovy/groovy
static boolean isVargs(Parameter[] params) {
if (params.length == 0) return false;
if (params[params.length - 1].getType().isArray()) return true;
return false;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean hasEqualParameterTypes(Parameter[] first, Parameter[] second) {
if (first.length != second.length) return false;
for (int i = 0; i < first.length; i++) {
String ft = first[i].getType().getName();
String st = second[i].getType().getName();
if (ft.equals(st)) continue;
return false;
}
return true;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean isVargs(Parameter[] p) {
if (p.length==0) return false;
ClassNode clazz = p[p.length-1].getType();
return (clazz.isArray());
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean hasGenerics(Parameter[] param) {
if (param.length == 0) return false;
for (int i = 0; i < param.length; i++) {
ClassNode type = param[i].getType();
if (hasGenerics(type)) return true;
}
return false;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private void checkGenericsUsage(ASTNode ref, Parameter[] params) {
for (Parameter p : params) {
checkGenericsUsage(ref, p.getType());
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static String getMethodDescriptor(ClassNode returnType, Parameter[] parameters) {
StringBuilder buffer = new StringBuilder(100);
buffer.append("(");
for (Parameter parameter : parameters) {
buffer.append(getTypeDescription(parameter.getType()));
}
buffer.append(")");
buffer.append(getTypeDescription(returnType));
return buffer.toString();
}
代码示例来源:origin: org.codehaus.groovy/groovy
/**
* @deprecated use MethodNodeUtils#methodDescriptorWithoutReturnType(MethodNode) instead
*/
@Deprecated
public static String makeDescriptorWithoutReturnType(MethodNode mn) {
StringBuilder sb = new StringBuilder();
sb.append(mn.getName()).append(':');
for (Parameter p : mn.getParameters()) {
sb.append(p.getType()).append(',');
}
return sb.toString();
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean equalParametersNormal(MethodNode m1, MethodNode m2) {
Parameter[] p1 = m1.getParameters();
Parameter[] p2 = m2.getParameters();
if (p1.length != p2.length) return false;
for (int i = 0; i < p2.length; i++) {
ClassNode type = p2[i].getType();
ClassNode parameterType = p1[i].getType();
if (!parameterType.equals(type)) return false;
}
return true;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static Parameter[] cleanParameters(Parameter[] parameters) {
Parameter[] params = new Parameter[parameters.length];
for (int i = 0; i < params.length; i++) {
params[i] = new Parameter(cleanType(parameters[i].getType()), parameters[i].getName());
}
return params;
}
代码示例来源: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 void makeLocalVariablesOffset(Parameter[] paras, boolean isInStaticContext) {
resetVariableIndex(isInStaticContext);
for (Parameter para : paras) {
makeNextVariableID(para.getType(), false);
}
localVariableOffset = nextVariableIndex;
resetVariableIndex(isInStaticContext);
}
代码示例来源: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
private static ClassNode getConstructorArgumentType(Expression arg, ConstructorNode node) {
if (!(arg instanceof VariableExpression)) return arg.getType();
VariableExpression vexp = (VariableExpression) arg;
String name = vexp.getName();
for (Parameter param : node.getParameters()) {
if (param.getName().equals(name)) {
return param.getType();
}
}
return vexp.getType();
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static void removeInitialValues(Parameter[] params) {
for (int i = 0; i < params.length; i++) {
if (params[i].hasInitialExpression()) {
Parameter p = new Parameter(params[i].getType(), params[i].getName());
p.setOriginType(p.getOriginType());
params[i] = p;
}
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
private int addExpression(Parameter[] newParams, ArgumentListExpression arguments, int index, Parameter parameter) {
newParams[index++] = parameter;
arguments.addExpression(
new CastExpression(
parameter.getType(),
new VariableExpression(parameter.getName())
)
);
return index;
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static String getParameterText(Parameter node) {
if (node == null) return "<unknown>";
String name = node.getName() == null ? "<unknown>" : node.getName();
String type = getClassText(node.getType());
if (node.getInitialExpression() != null) {
return type + " " + name + " = " + node.getInitialExpression().getText();
}
return type + " " + name;
}
代码示例来源:origin: org.codehaus.groovy/groovy
@Override
public void visitMethod(MethodNode node) {
Parameter[] parameters = node.getParameters();
for (Parameter param : parameters) {
ClassNode paramType = param.getType();
checkGenericsUsage(paramType, paramType.redirect());
}
ClassNode returnType = node.getReturnType();
checkGenericsUsage(returnType, returnType.redirect());
super.visitMethod(node);
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static MethodNode correctToGenericsSpec(Map<String, ClassNode> genericsSpec, MethodNode mn) {
ClassNode correctedType = correctToGenericsSpecRecurse(genericsSpec, mn.getReturnType());
Parameter[] origParameters = mn.getParameters();
Parameter[] newParameters = new Parameter[origParameters.length];
for (int i = 0; i < origParameters.length; i++) {
Parameter origParameter = origParameters[i];
newParameters[i] = new Parameter(correctToGenericsSpecRecurse(genericsSpec, origParameter.getType()), origParameter.getName(), origParameter.getInitialExpression());
}
return new MethodNode(mn.getName(), mn.getModifiers(), correctedType, newParameters, mn.getExceptions(), mn.getCode());
}
内容来源于网络,如有侵权,请联系作者删除!