本文整理汇总了Java中org.codehaus.groovy.ast.expr.ListExpression类的典型用法代码示例。如果您正苦于以下问题:Java ListExpression类的具体用法?Java ListExpression怎么用?Java ListExpression使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ListExpression类属于org.codehaus.groovy.ast.expr包,在下文中一共展示了ListExpression类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getConstantExpressions
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<ConstantExpression> getConstantExpressions(
ListExpression valueExpression) {
List<ConstantExpression> expressions = new ArrayList<ConstantExpression>();
for (Expression expression : valueExpression.getExpressions()) {
if (expression instanceof ConstantExpression
&& ((ConstantExpression) expression).getValue() instanceof String) {
expressions.add((ConstantExpression) expression);
}
else {
reportError(
"Each entry in the array must be an " + "inline string constant",
expression);
}
}
return expressions;
}
开发者ID:vikrammane23,项目名称:https-github.com-g0t4-jenkins2-course-spring-boot,代码行数:17,代码来源:DependencyManagementBomTransformation.java
示例2: getValue
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<String> getValue() {
Expression expression = findAnnotation().getMember("value");
if (expression instanceof ListExpression) {
List<String> list = new ArrayList<String>();
for (Expression ex : ((ListExpression) expression).getExpressions()) {
list.add((String) ((ConstantExpression) ex).getValue());
}
return list;
}
else if (expression == null) {
return null;
}
else {
throw new IllegalStateException("Member 'value' is not a ListExpression");
}
}
开发者ID:vikrammane23,项目名称:https-github.com-g0t4-jenkins2-course-spring-boot,代码行数:17,代码来源:GenericBomAstTransformationTests.java
示例3: transformInlineConstants
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private Expression transformInlineConstants(Expression exp) {
if (exp instanceof PropertyExpression) {
PropertyExpression pe = (PropertyExpression) exp;
if (pe.getObjectExpression() instanceof ClassExpression) {
ClassExpression ce = (ClassExpression) pe.getObjectExpression();
ClassNode type = ce.getType();
if (type.isEnum()) return exp;
Expression constant = findConstant(getField(type, pe.getPropertyAsString()));
if (constant != null) return constant;
}
} else if (exp instanceof ListExpression) {
ListExpression le = (ListExpression) exp;
ListExpression result = new ListExpression();
for (Expression e : le.getExpressions()) {
result.addExpression(transformInlineConstants(e));
}
return result;
}
return exp;
}
示例4: serialize
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private Expression serialize(Expression e) {
if (e instanceof AnnotationConstantExpression) {
AnnotationConstantExpression ace = (AnnotationConstantExpression) e;
return serialize((AnnotationNode) ace.getValue());
} else if (e instanceof ListExpression) {
boolean annotationConstant = false;
ListExpression le = (ListExpression) e;
List<Expression> list = le.getExpressions();
List<Expression> newList = new ArrayList<Expression>(list.size());
for (Expression exp: list) {
annotationConstant = annotationConstant || exp instanceof AnnotationConstantExpression;
newList.add(serialize(exp));
}
ClassNode type = ClassHelper.OBJECT_TYPE;
if (annotationConstant) type = type.makeArray();
return new ArrayExpression(type, newList);
}
return e;
}
示例5: getTargetListFromValue
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<AnnotationNode> getTargetListFromValue(AnnotationNode collector, AnnotationNode aliasAnnotationUsage, SourceUnit source) {
Expression memberValue = collector.getMember("value");
if (memberValue == null) {
return Collections.emptyList();
}
if (!(memberValue instanceof ListExpression)) {
addError("Annotation collector expected a list of classes, but got a "+memberValue.getClass(), collector, source);
return Collections.emptyList();
}
ListExpression memberListExp = (ListExpression) memberValue;
List<Expression> memberList = memberListExp.getExpressions();
if (memberList.isEmpty()) {
return Collections.emptyList();
}
List<AnnotationNode> ret = new ArrayList<AnnotationNode>();
for (Expression e : memberList) {
AnnotationNode toAdd = new AnnotationNode(e.getType());
toAdd.setSourcePosition(aliasAnnotationUsage);
ret.add(toAdd);
}
return ret;
}
示例6: getMemberStringList
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
public static List<String> getMemberStringList(AnnotationNode anno, String name) {
Expression expr = anno.getMember(name);
if (expr == null) {
return null;
}
if (expr instanceof ListExpression) {
List<String> list = new ArrayList<String>();
final ListExpression listExpression = (ListExpression) expr;
if (isUndefinedMarkerList(listExpression)) {
return null;
}
for (Expression itemExpr : listExpression.getExpressions()) {
if (itemExpr != null && itemExpr instanceof ConstantExpression) {
Object value = ((ConstantExpression) itemExpr).getValue();
if (value != null) list.add(value.toString());
}
}
return list;
}
return tokenize(getMemberStringValue(anno, name));
}
示例7: getMemberList
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
@Deprecated
public List<String> getMemberList(AnnotationNode anno, String name) {
List<String> list;
Expression expr = anno.getMember(name);
if (expr != null && expr instanceof ListExpression) {
list = new ArrayList<String>();
final ListExpression listExpression = (ListExpression) expr;
for (Expression itemExpr : listExpression.getExpressions()) {
if (itemExpr != null && itemExpr instanceof ConstantExpression) {
Object value = ((ConstantExpression) itemExpr).getValue();
if (value != null) list.add(value.toString());
}
}
} else {
list = tokenize(getMemberStringValue(anno, name));
}
return list;
}
示例8: convertToStringArray
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private static String[] convertToStringArray(final Expression options) {
if (options==null) {
return EMPTY_STRING_ARRAY;
}
if (options instanceof ConstantExpression) {
return new String[] { options.getText() };
}
if (options instanceof ListExpression) {
List<Expression> list = ((ListExpression) options).getExpressions();
List<String> result = new ArrayList<String>(list.size());
for (Expression expression : list) {
result.add(expression.getText());
}
return result.toArray(new String[result.size()]);
}
throw new IllegalArgumentException("Unexpected options for @ClosureParams:"+options);
}
示例9: getKnownImmutableClasses
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<String> getKnownImmutableClasses(AnnotationNode node) {
final List<String> immutableClasses = new ArrayList<String>();
final Expression expression = node.getMember(MEMBER_KNOWN_IMMUTABLE_CLASSES);
if (expression == null) return immutableClasses;
if (!(expression instanceof ListExpression)) {
addError("Use the Groovy list notation [el1, el2] to specify known immutable classes via \"" + MEMBER_KNOWN_IMMUTABLE_CLASSES + "\"", node);
return immutableClasses;
}
final ListExpression listExpression = (ListExpression) expression;
for (Expression listItemExpression : listExpression.getExpressions()) {
if (listItemExpression instanceof ClassExpression) {
immutableClasses.add(listItemExpression.getType().getName());
}
}
return immutableClasses;
}
示例10: getKnownImmutables
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<String> getKnownImmutables(AnnotationNode node) {
final List<String> immutables = new ArrayList<String>();
final Expression expression = node.getMember(MEMBER_KNOWN_IMMUTABLES);
if (expression == null) return immutables;
if (!(expression instanceof ListExpression)) {
addError("Use the Groovy list notation [el1, el2] to specify known immutable property names via \"" + MEMBER_KNOWN_IMMUTABLES + "\"", node);
return immutables;
}
final ListExpression listExpression = (ListExpression) expression;
for (Expression listItemExpression : listExpression.getExpressions()) {
if (listItemExpression instanceof ConstantExpression) {
immutables.add((String) ((ConstantExpression) listItemExpression).getValue());
}
}
return immutables;
}
示例11: indexExpression
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
protected Expression indexExpression(AST indexNode) {
AST bracket = indexNode.getFirstChild();
AST leftNode = bracket.getNextSibling();
Expression leftExpression = expression(leftNode);
AST rightNode = leftNode.getNextSibling();
Expression rightExpression = expression(rightNode);
// easier to massage here than in the grammar
if (rightExpression instanceof SpreadExpression) {
ListExpression wrapped = new ListExpression();
wrapped.addExpression(rightExpression);
rightExpression = wrapped;
}
BinaryExpression binaryExpression = new BinaryExpression(leftExpression, makeToken(Types.LEFT_SQUARE_BRACKET, bracket), rightExpression);
configureAST(binaryExpression, indexNode);
return binaryExpression;
}
示例12: containsSpreadExpression
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
public static boolean containsSpreadExpression(Expression arguments) {
List args = null;
if (arguments instanceof TupleExpression) {
TupleExpression tupleExpression = (TupleExpression) arguments;
args = tupleExpression.getExpressions();
} else if (arguments instanceof ListExpression) {
ListExpression le = (ListExpression) arguments;
args = le.getExpressions();
} else {
return arguments instanceof SpreadExpression;
}
for (Iterator iter = args.iterator(); iter.hasNext();) {
if (iter.next() instanceof SpreadExpression) return true;
}
return false;
}
示例13: annotationValueToExpression
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private Expression annotationValueToExpression (Object value) {
if (value == null || value instanceof String || value instanceof Number || value instanceof Character || value instanceof Boolean)
return new ConstantExpression(value);
if (value instanceof Class)
return new ClassExpression(ClassHelper.makeWithoutCaching((Class)value));
if (value.getClass().isArray()) {
ListExpression elementExprs = new ListExpression();
int len = Array.getLength(value);
for (int i = 0; i != len; ++i)
elementExprs.addExpression(annotationValueToExpression(Array.get(value, i)));
return elementExprs;
}
return null;
}
示例14: addDependencyManagementBom
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private void addDependencyManagementBom(ModuleNode node, String module) {
AnnotatedNode annotated = getAnnotatedNode(node);
if (annotated != null) {
AnnotationNode bom = getAnnotation(annotated);
List<Expression> expressions = new ArrayList<Expression>(
getConstantExpressions(bom.getMember("value")));
expressions.add(new ConstantExpression(module));
bom.setMember("value", new ListExpression(expressions));
}
}
开发者ID:vikrammane23,项目名称:https-github.com-g0t4-jenkins2-course-spring-boot,代码行数:11,代码来源:GenericBomAstTransformation.java
示例15: getConstantExpressions
import org.codehaus.groovy.ast.expr.ListExpression; //导入依赖的package包/类
private List<ConstantExpression> getConstantExpressions(Expression valueExpression) {
if (valueExpression instanceof ListExpression) {
return getConstantExpressions((ListExpression) valueExpression);
}
if (valueExpression instanceof ConstantExpression
&& ((ConstantExpression) valueExpression).getValue() instanceof String) {
return Arrays.asList((ConstantExpression) valueExpression);
}
return Collections.emptyList();
}
开发者ID:vikrammane23,项目名称:https-github.com-g0t4-jenkins2-course-spring-boot,代码行数:11,代码来源:GenericBomAstTransformation.java