spoon.reflect.code.CtBlock Maven / Gradle / Ivy
/*
* SPDX-License-Identifier: (MIT OR CECILL-C)
*
* Copyright (C) 2006-2019 INRIA and contributors
*
* Spoon is available either under the terms of the MIT License (see LICENSE-MIT.txt) of the Cecill-C License (see LICENSE-CECILL-C.txt). You as the user are entitled to choose the terms under which to adopt Spoon.
*/
package spoon.reflect.code;
import spoon.template.TemplateParameter;
/**
* This code element represents a block of code, that is to say a list of
* statements enclosed in curly brackets.
*
* Example:
* { // <-- block start
* System.out.println("foo");
* }
*
*
* When the context calls for a return
* value, the block should contain a return statement as a lastly reachable
* statement. The returned type if any is given by R.
*/
public interface CtBlock extends CtStatement, CtStatementList, TemplateParameter {
@Override
CtBlock clone();
/**
* If the block is a method body, then all statements inside the body are commented out.
* Internally, they are replaced by a CtComment.
*/
@Override
void comment();
}