package parsing.C.Shared.builders;
import org.antlr.v4.runtime.ParserRuleContext;
import antlr.C.ModuleParser.Class_nameContext;
import ast.ASTNodeBuilder;
import ast.declarations.ClassDefStatement;
import ast.expressions.Identifier;
import ast.statements.CompoundStatement;
public class ClassDefBuilder extends ASTNodeBuilder
{
ClassDefStatement thisItem;
@Override
public void createNew(ParserRuleContext ctx)
{
item = new ClassDefStatement();
thisItem = (ClassDefStatement) item;
thisItem.initializeFromContext(ctx);
}
// TODO: merge the following two by introducing a wrapper
public void setName(Class_nameContext ctx)
{
thisItem.name = new Identifier();
thisItem.name.initializeFromContext(ctx);
}
public void setName(antlr.C.FunctionParser.Class_nameContext ctx)
{
thisItem.name = new Identifier();
thisItem.name.initializeFromContext(ctx);
}
public void setContent(CompoundStatement content)
{
thisItem.content = content;
}
}