package org.overture.pog.visitors; import org.overture.ast.analysis.AnalysisException; import org.overture.ast.analysis.AnswerAdaptor; import org.overture.ast.definitions.AExplicitOperationDefinition; import org.overture.ast.definitions.AImplicitOperationDefinition; import org.overture.ast.definitions.SOperationDefinitionBase; import org.overture.ast.expressions.AApplyExp; import org.overture.ast.expressions.AVariableExp; import org.overture.ast.node.INode; import org.overture.ast.statements.ACallStm; public class GetOpCallVisitor extends AnswerAdaptor<SOperationDefinitionBase> { @Override public SOperationDefinitionBase createNewReturnValue(INode node) throws AnalysisException { return null; } @Override public SOperationDefinitionBase createNewReturnValue(Object node) throws AnalysisException { return null; } @Override public SOperationDefinitionBase caseAApplyExp(AApplyExp node) throws AnalysisException { return node.getRoot().apply(this); } @Override public SOperationDefinitionBase caseAVariableExp(AVariableExp node) throws AnalysisException { return node.getVardef().apply(this); } @Override public SOperationDefinitionBase caseACallStm(ACallStm node) throws AnalysisException { return node.getRootdef().apply(this); } @Override public SOperationDefinitionBase caseAExplicitOperationDefinition( AExplicitOperationDefinition node) throws AnalysisException { return node; } @Override public SOperationDefinitionBase caseAImplicitOperationDefinition( AImplicitOperationDefinition node) throws AnalysisException { return node; } }