本文整理了Java中org.codehaus.groovy.ast.Parameter.getName()
方法的一些代码示例,展示了Parameter.getName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parameter.getName()
方法的具体详情如下:
包路径:org.codehaus.groovy.ast.Parameter
类名称:Parameter
方法名:getName
暂无
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean clashesWithOtherParams(String name, Parameter[] params, int i) {
for (int j = 0; j < params.length; j++) {
if (i == j) continue;
if (params[j].getName().equals(name)) return true;
}
return false;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private void addVariablesToStack(Parameter[] params) {
Set<String> names = new HashSet<String>(varStack.getLast());
for (Parameter param : params) {
names.add(param.getName());
}
varStack.add(names);
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static String getParamName(Parameter[] params, int i, String fieldName) {
String name = params[i].getName();
while(name.equals(fieldName) || clashesWithOtherParams(name, params, i)) {
name = "_" + name;
}
return name;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private void verifyParameters(List<Parameter> parameters, AST firstParameterNode) {
if (parameters.size() <= 1) return;
Parameter first = parameters.get(0);
if (firstParamIsVarArg) {
throw new ASTRuntimeException(firstParameterNode, "The var-arg parameter " + first.getName() + " must be the last parameter.");
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
@Override
public void visitCatchStatement(CatchStatement statement) {
varStack.getLast().add(statement.getVariable().getName());
super.visitCatchStatement(statement);
varStack.getLast().remove(statement.getVariable().getName());
}
代码示例来源:origin: spockframework/spock
private void checkAllParametersAreDataVariables(Parameter[] parameters) {
for (Parameter param : parameters)
if (!isDataProcessorVariable(param.getName()))
resources.getErrorReporter().error(param, "Parameter '%s' does not refer to a data variable", param.getName());
}
代码示例来源:origin: org.codehaus.groovy/groovy
public static Parameter[] cloneParams(Parameter[] source) {
Parameter[] result = new Parameter[source.length];
for (int i = 0; i < source.length; i++) {
Parameter srcParam = source[i];
Parameter dstParam = new Parameter(srcParam.getOriginType(), srcParam.getName());
result[i] = dstParam;
}
return result;
}
代码示例来源: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 visitForLoop(ForStatement forLoop) {
Expression exp = forLoop.getCollectionExpression();
exp.visit(this);
Parameter loopParam = forLoop.getVariable();
if (loopParam != null) {
varStack.getLast().add(loopParam.getName());
}
super.visitForLoop(forLoop);
}
代码示例来源: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 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: spockframework/spock
private boolean handleImplicitCallOnMethodParam(MethodCallExpression expr) {
if (!expr.isImplicitThis()) return false;
String methodName = expr.getMethodAsString();
List<Parameter> params = Arrays.asList(resources.getCurrentMethod().getAst().getParameters());
for (Parameter param : params) {
if (param.getName().equals(methodName)) {
expr.setMethod(new ConstantExpression("call"));
expr.setObjectExpression(new VariableExpression(methodName));
return true;
}
}
return false;
}
代码示例来源: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
private static Parameter[] makeRawTypes(Parameter[] params, Map<GenericsType, GenericsType> genericsPlaceholderAndTypeMap) {
Parameter[] newParam = new Parameter[params.length];
for (int i = 0; i < params.length; i++) {
Parameter oldP = params[i];
ClassNode actualType = GenericsUtils.findActualTypeByGenericsPlaceholderName(oldP.getType().getUnresolvedName(), genericsPlaceholderAndTypeMap);
Parameter newP = new Parameter(makeRawType(null == actualType ? oldP.getType() : actualType), oldP.getName());
newParam[i] = newP;
}
return newParam;
}
代码示例来源: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
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());
}
代码示例来源:origin: org.codehaus.groovy/groovy
private boolean processImplicitNamedParam(MethodNode mNode, Parameter mapParam, ArgumentListExpression args, List<String> propNames, Parameter fromParam) {
boolean required = fromParam.hasInitialExpression();
String name = fromParam.getName();
if (hasDuplicates(mNode, propNames, name)) return false;
AnnotationNode namedParam = new AnnotationNode(NAMED_PARAM_TYPE);
namedParam.addMember("value", constX(name));
namedParam.addMember("type", classX(fromParam.getType()));
namedParam.addMember("required", constX(required, true));
mapParam.addAnnotation(namedParam);
args.addExpression(propX(varX(mapParam), name));
return true;
}
代码示例来源:origin: spockframework/spock
private void addFeatureMetadata(FeatureMethod feature) {
AnnotationNode ann = new AnnotationNode(nodeCache.FeatureMetadata);
ann.setMember(FeatureMetadata.NAME, new ConstantExpression(feature.getName()));
ann.setMember(FeatureMetadata.ORDINAL, new ConstantExpression(feature.getOrdinal()));
ann.setMember(FeatureMetadata.LINE, new ConstantExpression(feature.getAst().getLineNumber()));
ann.setMember(FeatureMetadata.BLOCKS, blockAnnElems = new ListExpression());
ListExpression paramNames = new ListExpression();
for (Parameter param : feature.getAst().getParameters())
paramNames.addExpression(new ConstantExpression(param.getName()));
ann.setMember(FeatureMetadata.PARAMETER_NAMES, paramNames);
feature.getAst().addAnnotation(ann);
}
内容来源于网络,如有侵权,请联系作者删除!