org.neo4j.codegen.MethodWriter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of neo4j-codegen Show documentation
Show all versions of neo4j-codegen Show documentation
Simple library for generating code.
/*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package org.neo4j.codegen;
import java.util.function.Consumer;
/**
* Writes methods into some serialized representation.
*/
public interface MethodWriter
{
boolean isStatic();
void done();
void expression( Expression expression );
void put( Expression target, FieldReference field, Expression value );
void putStatic( FieldReference field, Expression value );
void returns();
void returns( Expression value );
void continues();
void breaks( String labelName );
void assign( LocalVariable local, Expression value );
void beginWhile( Expression test, String labelName );
void beginIf( Expression test );
void beginBlock();
void endBlock();
void ifElseStatement( Expression test, Consumer onTrue, Consumer onFalse, T block );
void tryCatchBlock( Consumer body, Consumer handler, LocalVariable exception, T block );
void throwException( Expression exception );
void declare( LocalVariable local );
void assignVariableInScope( LocalVariable local, Expression value );
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy