The following features are supported:
ArrayInitializer: { [ Expression { , Expression} [ , ]] }
2309231023112312231323142315231623172318231923202321
if (value.equalsIgnoreCase(SUPPRESS_ALL) || issue != null && issue.getId().equalsIgnoreCase(value)) { return true; } } else if (valueNode instanceof ArrayInitializer) { ArrayInitializer array = (ArrayInitializer) valueNode; StrictListAccessor<Expression, ArrayInitializer> expressions = array.astExpressions(); if (expressions == null) { continue; } Iterator<Expression> arrayIterator = expressions.iterator(); while (arrayIterator.hasNext()) {
52385239524052415242524352445245524652475248
if (contentsOffset + 3 >= this.contents.length) { resizeContents(3); } contents[contentsOffset++] = (byte) '['; if (defaultValue instanceof ArrayInitializer) { ArrayInitializer arrayInitializer = (ArrayInitializer) defaultValue; int arrayLength = arrayInitializer.expressions != null ? arrayInitializer.expressions.length : 0; contents[contentsOffset++] = (byte) (arrayLength >> 8); contents[contentsOffset++] = (byte) arrayLength; for (int i = 0; i < arrayLength; i++) { generateElementValue(arrayInitializer.expressions[i], defaultValueBinding.leafComponentType(), attributeOffset);
2464246524662467246824692470247124722473247424752476
this.scribe.printNextToken(TerminalTokens.TokenNameRBRACKET, this.preferences.insert_space_before_closing_bracket_in_array_allocation_expression); } else { this.scribe.printNextToken(TerminalTokens.TokenNameRBRACKET, this.preferences.insert_space_between_empty_brackets_in_array_allocation_expression); } } final ArrayInitializer initializer = arrayAllocationExpression.initializer; if (initializer != null) { initializer.traverse(this, scope); } if (numberOfParens > 0) { manageClosingParenthesizedExpression(arrayAllocationExpression, numberOfParens); }
800801802803804805806807808809810
// generateAnnotation((Annotation) defaultValue, // attributeOffset); } else if (defaultValueBinding.isArrayType()) { // array type if (defaultValue instanceof ArrayInitializer) { ArrayInitializer arrayInitializer = (ArrayInitializer) defaultValue; int arrayLength = arrayInitializer.expressions != null ? arrayInitializer.expressions.length : 0; AnnotationValue[] values = new AnnotationValue[arrayLength]; for (int i = 0; i < arrayLength; i++) { values[i] = generateElementValue(arrayInitializer.expressions[i], defaultValueBinding.leafComponentType());// , // attributeOffset
197198199200201202203204205206207
136137138139140141142143144145146
if (this.annotations[i] instanceof MarkerAnnotation) { return true; } else if (this.annotations[i] instanceof SingleMemberAnnotation) { SingleMemberAnnotation sma = (SingleMemberAnnotation) this.annotations[i]; if (sma.memberValue instanceof ArrayInitializer) { ArrayInitializer memberValue = (ArrayInitializer) sma.memberValue; for (int j = 0; j < memberValue.expressions.length; j++) { if (memberValue.expressions[j] instanceof StringLiteral) { StringLiteral val = (StringLiteral) memberValue.expressions[j]; if (new String(val.source()).equals(NOEXPLICITCONSTRUCTORCALL)) return true;
210211212213214215216217218219220
if (explicitConstructor == null) nExprs = 0; else nExprs = explicitConstructor.parameters.length; ArrayInitializer init = new ArrayInitializer(); init.expressions = new Expression[nExprs + nParams]; int index = 0; for (int i = 0; i < nExprs; i++) { if (i >= (explicitConstructorCall.arguments == null ? 0 : explicitConstructorCall.arguments.length)) { init.expressions[index++] = new NullLiteral(0, 0);
495051525354555657585960
* Add operand to expression. This just adds the supplied operand expression as a new initializer value. * * @param operand */ protected void addOperand(Expression operand) { ArrayInitializer init = m_arrayCreation.getInitializer(); if (init == null) { init = m_ast.newArrayInitializer(); m_arrayCreation.setInitializer(init); } init.expressions().add(operand); }
211212213214215216217218219220221
/** * Example: new int[10]{1,2,3,4,5,6,7,8,9,10}; */ public boolean visit(ArrayCreation node) { List dimensions = node.dimensions(); ArrayInitializer arrayInitializer = node.getInitializer(); List<ControlFlowNode> cfns = null; if(dimensions != null && dimensions.size() > 0) { // Handle dimension expressions cfns = createCFNListFromASTNodeList(dimensions);
104510461047104810491050105110521053105410551056
protected void parseAnnotationListElement(HashMap<String, String> elems, String annotationName, String nameProp, String colProp, Expression exp) { if (exp instanceof ArrayInitializer) { ArrayInitializer ai = (ArrayInitializer) exp; List<Expression> expL = ai.expressions(); for (Expression e : expL) { parseAnnotationElement(elems, annotationName, nameProp, colProp, e); } }