All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jangaroo.jooc.ast.AbstractBlock Maven / Gradle / Ivy

The newest version!
package net.jangaroo.jooc.ast;

import net.jangaroo.jooc.CodeGenerator;
import net.jangaroo.jooc.JooSymbol;
import net.jangaroo.jooc.Scope;

import java.util.ArrayList;
import java.util.List;

public abstract class AbstractBlock extends Statement {

  private JooSymbol lBrace;
  private List directives;
  private JooSymbol rBrace;

  public AbstractBlock(JooSymbol rBrace, List directives, JooSymbol lBrace) {
    this.rBrace = rBrace;
    this.directives = directives;
    this.lBrace = lBrace;
  }

  @Override
  public List getChildren() {
    return makeChildren(super.getChildren(), directives);
  }

  @Override
  public void scope(final Scope scope) {
    scope(getDirectives(), scope);
  }

  public void analyze(AstNode parentNode) {
    super.analyze(parentNode);
    analyze(this, getDirectives());
  }

  public JooSymbol getSymbol() {
    return getLBrace();
  }

  public JooSymbol getLBrace() {
    return lBrace;
  }

  public List getDirectives() {
    return directives;
  }

  public JooSymbol getRBrace() {
    return rBrace;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy