Ejemplo n.º 1
0
 @Override
 public void deactivate() {
   BaseNode node = this.children.get(this.currentChild);
   if (node != null) {
     node.deactivate();
   } else {
     throw new NullPointerException(
         "Deactivating Sequence node no effect! There is no child attached.");
   }
 }
Ejemplo n.º 2
0
 /**
  * Time Complexity::O(log n),n=number of elements present.<br>
  * Memory::O(log n),for traversing stack is formed<br>
  * You can optimize it using user_defined stack.
  */
 void insertTree(UraInstantiator uraI, BaseNode p, BaseNode root) {
   if ((tmp2.nodeIndex < p.nodeIndex)) {
     if (p.left != null) {
       insertTree(uraI, p.left, p);
     } else {
       p.left = tmp2;
       tmp2 = null;
     }
     if ((insertFlag == true) && (vMFlag == true)) {
       p.nodeIndex += 1l;
       p.vMFactor += 1l;
     }
   } else {
     long tmpnode = tmp2.nodeIndex;
     tmpnode -= p.vMFactor;
     if (tmp2.nodeIndex == p.nodeIndex) {
       insertFlag = true;
       ClientData temp = p.data;
       p.data = tmp2.data;
       tmp2.data = temp;
       p.vMFactor += 1l;
     }
     tmp2.nodeIndex = tmpnode;
     if (p.right != null) {
       insertTree(uraI, p.right, p);
     } else {
       p.right = tmp2;
       tmp2 = null;
     }
     vMFlag = true;
   }
   uraI.getBaseStructure().checkForUnbalancing(uraI, p, root);
 }
Ejemplo n.º 3
0
 void insert1(UraInstantiator uraI, long node, ClientData data, BaseNode p) {
   if (node >= 0l) {
     insertFlag = false;
     vMFlag = false;
     tmp2 = new BaseNode();
     tmp2.nodeIndex = node;
     tmp2.data = data;
     if (rootTREE == null) {
       rootTREE = new BaseNode();
       rootTREE.left = tmp2;
     } else {
       insertTree(uraI, rootTREE.left, rootTREE);
     }
   } else System.out.println(" NEGATIVE INDEX ARE NOT ACCEPTED");
 }
Ejemplo n.º 4
0
 @Override
 public void write(Element element, Project project) throws CantSaveSomethingException {
   super.write(element, project);
   Element filterXML = new Element(FILTER);
   filterXML.setAttribute(CLASS_NAME, myFilter.getClass().getName());
   element.addContent(filterXML);
 }
Ejemplo n.º 5
0
 @Override
 public void read(Element element, Project project) throws CantLoadSomethingException {
   super.read(element, project);
   Element filterXML = element.getChild(FILTER);
   String filterName = filterXML.getAttribute(CLASS_NAME).getValue();
   try {
     Class filterClass = null;
     for (Language l : project.getProjectModules(Language.class)) {
       filterClass = ClassLoaderManager.getInstance().getClass(l, filterName);
       if (filterClass != null) break;
     }
     if (filterClass == null) {
       try {
         filterClass = Class.forName(filterName);
       } catch (ClassNotFoundException e) {
         filterClass = null;
       }
     }
     if (filterClass != null) {
       myFilter = (BaseFilter) filterClass.newInstance();
     } else {
       throw new CantLoadSomethingException("Can't find filter class " + filterName);
     }
   } catch (Throwable t) {
     throw new CantLoadSomethingException("Can't instantiate or read filter " + filterName, t);
   }
 }
Ejemplo n.º 6
0
  /**
   * Make a new cast node with a target type and an expression, which is immediately marked as
   * resolved Only to be called by type adjusting, after tree was already resolved
   *
   * @param coords The source code coordinates.
   * @param targetType The target type.
   * @param expr The expression to be casted.
   * @param resolveResult Resolution result (should be true)
   */
  public CastNode(Coords coords, TypeNode targetType, ExprNode expr, BaseNode parent) {
    this(coords, targetType, expr);
    parent.becomeParent(this);

    resolve();
    check();
  }
Ejemplo n.º 7
0
 /** @see de.unika.ipd.grgen.ast.BaseNode#resolveLocal() */
 @Override
 protected boolean resolveLocal() {
   boolean successfullyResolved = true;
   if (typeUnresolved instanceof PackageIdentNode)
     Resolver.resolveOwner((PackageIdentNode) typeUnresolved);
   else fixupDefinition(typeUnresolved, typeUnresolved.getScope());
   type = typeResolver.resolve(typeUnresolved, this);
   successfullyResolved = type != null && successfullyResolved;
   return successfullyResolved;
 }
Ejemplo n.º 8
0
 /**
  * Rectify the indexes beyond currently inserted .<br>
  * <br>
  * Time:: O(log n)
  */
 void findAndCorrect(long node, BaseNode tmp) {
   if (tmp != null) {
     if (node < tmp.nodeIndex) {
       findAndCorrect(node, tmp.left);
       if (maxFlag == true) {
         tmp.nodeIndex -= 1l;
         tmp.vMFactor -= 1l;
       }
     } else if (node == tmp.nodeIndex) {
       if (tmp.right != null) {
         tmp.vMFactor -= 1l;
       } else {
         tmp.vMFactor = 0l;
       }
       maxFlag = true;
     } else {
       findAndCorrect(node - tmp.vMFactor, tmp.right);
     }
   } else {
     // It's a bug.'
   }
 }
Ejemplo n.º 9
0
 public void addChild(BaseLeaf child) {
   assert (myChildren.isEmpty());
   super.addChild(child);
 }
Ejemplo n.º 10
0
 public String toString() {
   return node._get_nodeid() + "." + fieldName;
 }
Ejemplo n.º 11
0
 @Override
 public void addChild(BaseNode child) {
   this.children.add(child);
   child.setParent(this);
 }