package parsing.C.Shared;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ParseTree;
import antlr.C.FunctionParser;
import antlr.C.ModuleParser;
public class InitDeclContextWrapper
{
ModuleParser.DeclaratorContext ctxCodeSensor = null;
FunctionParser.DeclaratorContext ctxFine = null;
int contextInUse;
public InitDeclContextWrapper(ModuleParser.DeclaratorContext ctx)
{
ctxCodeSensor = ctx;
contextInUse = 0;
}
public InitDeclContextWrapper(FunctionParser.DeclaratorContext ctx)
{
ctxFine = ctx;
contextInUse = 2;
}
public InitDeclContextWrapper(ParseTree objToWrap)
{
if (objToWrap instanceof ModuleParser.Init_declaratorContext)
{
ctxCodeSensor = (ModuleParser.DeclaratorContext) objToWrap
.getChild(0);
contextInUse = 0;
}
else if (objToWrap instanceof FunctionParser.Init_declaratorContext)
{
ctxFine = (FunctionParser.DeclaratorContext) objToWrap.getChild(0);
contextInUse = 2;
}
}
public ParserRuleContext getWrappedObject()
{
switch (contextInUse)
{
case 0:
return ctxCodeSensor;
case 2:
return ctxFine;
}
return null;
}
public ParserRuleContext ptrs()
{
switch (contextInUse)
{
case 0:
return ctxCodeSensor.ptrs();
case 2:
return ctxFine.ptrs();
}
return null;
}
public ParserRuleContext type_suffix()
{
switch (contextInUse)
{
case 0:
return ctxCodeSensor.type_suffix();
case 2:
return ctxFine.type_suffix();
}
return null;
}
public ParserRuleContext identifier()
{
switch (contextInUse)
{
case 0:
return ctxCodeSensor.identifier();
case 2:
return ctxFine.identifier();
}
return null;
}
}