blob: 146da17780dd3a87a6c48b4997cdfa54d3e14f6f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Akos Horvath, Gergely Varro and Daniel Varro
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Akos Horvath, Gergely Varro - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.gtasm.patternmatcher.impl.patternmatcher.internal.callgraph;
import java.util.List;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.GTPatternCall;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.Term;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.GTPattern;
public abstract class OddLevelNode extends CallGraphNode {
private EvenLevelNode parent;
private GTPattern pattern;
private List<Term> actualParameters;
private GTPatternCall patternCall;
OddLevelNode(EvenLevelNode parent, GTPattern pattern) {
this(parent,pattern,null);
}
OddLevelNode(EvenLevelNode parent, GTPatternCall call) {
this(parent,call.getCalledPattern(),call.getActualParameters());
patternCall = call;
}
OddLevelNode(EvenLevelNode parent, GTPattern pattern, List<Term> parameters) {
super();
this.parent = parent;
this.pattern = pattern;
this.actualParameters = (parameters != null && parameters.size() > 0 ? parameters : null);
}
public GTPattern getPattern() {
return pattern;
}
public GTPatternCall getPatternCall() {
return patternCall;
}
public List<Term> getActualParameters() {
return actualParameters;
}
public EvenLevelNode getParent() {
return parent;
}
}