| /* |
| * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Distribution License v. 1.0, which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| package com.sun.codemodel.tests.util; |
| |
| import java.io.StringWriter; |
| |
| import com.sun.codemodel.JDeclaration; |
| import com.sun.codemodel.JExpression; |
| import com.sun.codemodel.JFormatter; |
| import com.sun.codemodel.JGenerable; |
| |
| /** |
| * Various utilities for codemodel tests. |
| * |
| * @author Aleksei Valikov |
| */ |
| public class CodeModelTestsUtils { |
| |
| /** |
| * Hidden constructor. |
| */ |
| private CodeModelTestsUtils() { |
| } |
| |
| /** |
| * Prints an expression into a string. |
| * |
| * @param expression expression to print into a string. |
| * @return Expression formatted as a string. |
| */ |
| public static String toString(JExpression expression) { |
| if (expression == null) { |
| throw new IllegalArgumentException("Generable must not be null."); |
| } |
| final StringWriter stringWriter = new StringWriter(); |
| final JFormatter formatter = new JFormatter(stringWriter); |
| expression.generate(formatter); |
| return stringWriter.toString(); |
| } |
| |
| public static String declare(JDeclaration declaration) { |
| if (declaration == null) { |
| throw new IllegalArgumentException("Declaration must not be null."); |
| } |
| final StringWriter stringWriter = new StringWriter(); |
| final JFormatter formatter = new JFormatter(stringWriter); |
| declaration.declare(formatter); |
| return stringWriter.toString(); |
| } |
| |
| public static String generate(JGenerable generable) { |
| if (generable == null) { |
| throw new IllegalArgumentException("Generable must not be null."); |
| } |
| final StringWriter stringWriter = new StringWriter(); |
| final JFormatter formatter = new JFormatter(stringWriter); |
| generable.generate(formatter); |
| return stringWriter.toString(); |
| } |
| } |