Package org.erlide.engine.new_model.internal

Source Code of org.erlide.engine.new_model.internal.ErlangAST

package org.erlide.engine.new_model.internal;

import com.ericsson.otp.erlang.OtpErlangList;
import com.ericsson.otp.erlang.OtpErlangObject;
import com.ericsson.otp.erlang.OtpErlangTuple;
import java.util.List;
import org.eclipse.xtend.lib.annotations.Accessors;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Conversions;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.InputOutput;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;
import org.eclipse.xtext.xbase.lib.Pure;
import org.erlide.engine.new_model.internal.ASTNode;

@Accessors
@SuppressWarnings("all")
public class ErlangAST {
  private List<ASTNode> forms;
 
  private List<ASTNode> comments;
 
  public ErlangAST(final OtpErlangTuple term) {
    OtpErlangObject[] _elements = term.elements();
    Iterable<OtpErlangObject> _tail = IterableExtensions.<OtpErlangObject>tail(((Iterable<OtpErlangObject>)Conversions.doWrapArray(_elements)));
    OtpErlangObject _head = IterableExtensions.<OtpErlangObject>head(_tail);
    final OtpErlangObject[] forms = ((OtpErlangList) _head).elements();
    final Function1<OtpErlangObject, ASTNode> _function = new Function1<OtpErlangObject, ASTNode>() {
      public ASTNode apply(final OtpErlangObject it) {
        return ErlangAST.this.parse(((OtpErlangTuple) it));
      }
    };
    List<ASTNode> _map = ListExtensions.<OtpErlangObject, ASTNode>map(((List<OtpErlangObject>)Conversions.doWrapArray(forms)), _function);
    this.forms = _map;
    OtpErlangObject[] _elements_1 = term.elements();
    Iterable<OtpErlangObject> _tail_1 = IterableExtensions.<OtpErlangObject>tail(((Iterable<OtpErlangObject>)Conversions.doWrapArray(_elements_1)));
    Iterable<OtpErlangObject> _tail_2 = IterableExtensions.<OtpErlangObject>tail(_tail_1);
    OtpErlangObject _head_1 = IterableExtensions.<OtpErlangObject>head(_tail_2);
    final OtpErlangObject[] comments = ((OtpErlangList) _head_1).elements();
    final Function1<OtpErlangObject, ASTNode> _function_1 = new Function1<OtpErlangObject, ASTNode>() {
      public ASTNode apply(final OtpErlangObject it) {
        return ErlangAST.this.parse(((OtpErlangTuple) it));
      }
    };
    List<ASTNode> _map_1 = ListExtensions.<OtpErlangObject, ASTNode>map(((List<OtpErlangObject>)Conversions.doWrapArray(comments)), _function_1);
    this.comments = _map_1;
  }
 
  public ASTNode parse(final OtpErlangTuple object) {
    ASTNode _xblockexpression = null;
    {
      StringConcatenation _builder = new StringConcatenation();
      _builder.append("!! ");
      _builder.append(object, "");
      InputOutput.<String>println(_builder.toString());
      _xblockexpression = new ASTNode(object);
    }
    return _xblockexpression;
  }
 
  @Pure
  public List<ASTNode> getForms() {
    return this.forms;
  }
 
  public void setForms(final List<ASTNode> forms) {
    this.forms = forms;
  }
 
  @Pure
  public List<ASTNode> getComments() {
    return this.comments;
  }
 
  public void setComments(final List<ASTNode> comments) {
    this.comments = comments;
  }
}
TOP

Related Classes of org.erlide.engine.new_model.internal.ErlangAST

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.