Esempio n. 1
0
  public void setNodeType(SimpleNode node) {
    if (types.size() == 1) {
      ModifiedType modifiedType = types.get(0);
      node.setType(modifiedType.getType());
      if (modifiedType.getModifiers().isNullable()) node.addModifier(Modifiers.NULLABLE);

      if (modifiedType.getModifiers().isReadonly()) node.addModifier(Modifiers.READONLY);

      if (modifiedType.getModifiers().isImmutable()) node.addModifier(Modifiers.IMMUTABLE);
    } else node.setType(this);
  }
Esempio n. 2
0
  @Override
  public SequenceType partiallyReplace(List<ModifiedType> values, List<ModifiedType> replacements) {
    SequenceType temp = new SequenceType();

    for (int i = 0; i < types.size(); i++) {
      ModifiedType type = types.get(i);
      if (type != null) {
        SimpleModifiedType dummy =
            new SimpleModifiedType(
                type.getType().partiallyReplace(values, replacements), type.getModifiers());
        temp.add(dummy);
      } else temp.add(null);
    }

    return temp;
  }
Esempio n. 3
0
  public String toString(String begin, String end, int options) {
    StringBuilder builder = new StringBuilder(begin);
    boolean first = true;

    for (ModifiedType type : types) {
      if (first) first = false;
      else builder.append(",");

      if (type != null) {
        builder.append(type.getModifiers().toString());
        builder.append(type.getType().toString(options));
      }
    }

    builder.append(end);

    return builder.toString();
  }
Esempio n. 4
0
 public Modifiers getModifiers(int i) {
   ModifiedType modifiedType = types.get(i);
   return modifiedType == null ? null : modifiedType.getModifiers();
 }