mirror of https://github.com/Minres/RDL-Editor.git
416 lines
14 KiB
Java
416 lines
14 KiB
Java
|
/**
|
||
|
* generated by Xtext 2.12.0
|
||
|
*/
|
||
|
package com.minres.rdl.ui.labeling;
|
||
|
|
||
|
import com.google.common.base.Objects;
|
||
|
import com.google.inject.Inject;
|
||
|
import com.minres.rdl.IntegerWithRadix;
|
||
|
import com.minres.rdl.rdl.ComponentDefinition;
|
||
|
import com.minres.rdl.rdl.ComponentDefinitionType;
|
||
|
import com.minres.rdl.rdl.ComponentInstance;
|
||
|
import com.minres.rdl.rdl.EnumDefinition;
|
||
|
import com.minres.rdl.rdl.EnumEntry;
|
||
|
import com.minres.rdl.rdl.EnumProperty;
|
||
|
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
|
||
|
import com.minres.rdl.rdl.ImmediateInstantiation;
|
||
|
import com.minres.rdl.rdl.InstancePropertyRef;
|
||
|
import com.minres.rdl.rdl.InstanceRef;
|
||
|
import com.minres.rdl.rdl.NamedInstantiation;
|
||
|
import com.minres.rdl.rdl.PostPropertyAssignment;
|
||
|
import com.minres.rdl.rdl.PropertyAssignment;
|
||
|
import com.minres.rdl.rdl.PropertyAssignmentRhs;
|
||
|
import com.minres.rdl.rdl.PropertyDefinition;
|
||
|
import com.minres.rdl.rdl.PropertyEnum;
|
||
|
import com.minres.rdl.rdl.PropertyModifier;
|
||
|
import com.minres.rdl.rdl.RValue;
|
||
|
import com.minres.rdl.rdl.RValueConstant;
|
||
|
import com.minres.rdl.rdl.Range;
|
||
|
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
|
||
|
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
|
||
|
import org.eclipse.xtext.xbase.lib.Functions.Function1;
|
||
|
import org.eclipse.xtext.xbase.lib.IterableExtensions;
|
||
|
import org.eclipse.xtext.xbase.lib.ListExtensions;
|
||
|
|
||
|
/**
|
||
|
* Provides labels for EObjects.
|
||
|
*
|
||
|
* See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
|
||
|
*/
|
||
|
@SuppressWarnings("all")
|
||
|
public class RDLLabelProvider extends DefaultEObjectLabelProvider {
|
||
|
@Inject
|
||
|
public RDLLabelProvider(final AdapterFactoryLabelProvider delegate) {
|
||
|
super(delegate);
|
||
|
}
|
||
|
|
||
|
public String text(final ComponentDefinition e) {
|
||
|
String _xifexpression = null;
|
||
|
ImmediateInstantiation _immediateInstantiation = e.getImmediateInstantiation();
|
||
|
boolean _tripleNotEquals = (_immediateInstantiation != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _xifexpression_1 = null;
|
||
|
String _name = e.getName();
|
||
|
boolean _tripleNotEquals_1 = (_name != null);
|
||
|
if (_tripleNotEquals_1) {
|
||
|
String _text = this.text(e.getImmediateInstantiation());
|
||
|
String _plus = (_text + " (");
|
||
|
String _name_1 = e.getName();
|
||
|
String _plus_1 = (_plus + _name_1);
|
||
|
_xifexpression_1 = (_plus_1 + ")");
|
||
|
} else {
|
||
|
_xifexpression_1 = this.text(e.getImmediateInstantiation());
|
||
|
}
|
||
|
_xifexpression = _xifexpression_1;
|
||
|
} else {
|
||
|
String _xifexpression_2 = null;
|
||
|
String _name_2 = e.getName();
|
||
|
boolean _tripleNotEquals_2 = (_name_2 != null);
|
||
|
if (_tripleNotEquals_2) {
|
||
|
String _literal = e.getType().getLiteral();
|
||
|
String _plus_2 = (_literal + " ");
|
||
|
String _name_3 = e.getName();
|
||
|
_xifexpression_2 = (_plus_2 + _name_3);
|
||
|
} else {
|
||
|
String _xblockexpression = null;
|
||
|
{
|
||
|
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
|
||
|
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.NAME)));
|
||
|
};
|
||
|
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(e.getPropertyAssignments(), _function);
|
||
|
String _literal_1 = e.getType().getLiteral();
|
||
|
String _plus_3 = (_literal_1 + " ");
|
||
|
Object _text_1 = this.text(((ExplicitPropertyAssignment) pa).getRhs());
|
||
|
_xblockexpression = (_plus_3 + _text_1);
|
||
|
}
|
||
|
_xifexpression_2 = _xblockexpression;
|
||
|
}
|
||
|
_xifexpression = _xifexpression_2;
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String text(final ExplicitPropertyAssignment e) {
|
||
|
String res = "";
|
||
|
PropertyModifier _modifier = e.getModifier();
|
||
|
boolean _notEquals = (!Objects.equal(_modifier, PropertyModifier.UNDEFINED));
|
||
|
if (_notEquals) {
|
||
|
String _res = res;
|
||
|
String _literal = e.getModifier().getLiteral();
|
||
|
String _plus = (_literal + " ");
|
||
|
res = (_res + _plus);
|
||
|
}
|
||
|
String _res_1 = res;
|
||
|
PropertyEnum _name = e.getName();
|
||
|
res = (_res_1 + _name);
|
||
|
PropertyAssignmentRhs _rhs = e.getRhs();
|
||
|
boolean _tripleNotEquals = (_rhs != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _res_2 = res;
|
||
|
Object _text = this.text(e.getRhs());
|
||
|
String _plus_1 = (" = " + _text);
|
||
|
res = (_res_2 + _plus_1);
|
||
|
}
|
||
|
return res;
|
||
|
}
|
||
|
|
||
|
public String text(final PostPropertyAssignment e) {
|
||
|
String res = "";
|
||
|
String _res = res;
|
||
|
String _text = this.text(e.getInstance());
|
||
|
res = (_res + _text);
|
||
|
PropertyDefinition _property = e.getProperty();
|
||
|
boolean _tripleNotEquals = (_property != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _res_1 = res;
|
||
|
String _name = e.getProperty().getName();
|
||
|
String _plus = ("->" + _name);
|
||
|
res = (_res_1 + _plus);
|
||
|
} else {
|
||
|
PropertyEnum _propertyEnum = e.getPropertyEnum();
|
||
|
boolean _notEquals = (!Objects.equal(_propertyEnum, PropertyEnum.UNSPECIFIED));
|
||
|
if (_notEquals) {
|
||
|
String _res_2 = res;
|
||
|
String _literal = e.getPropertyEnum().getLiteral();
|
||
|
String _plus_1 = ("->" + _literal);
|
||
|
res = (_res_2 + _plus_1);
|
||
|
}
|
||
|
}
|
||
|
return res;
|
||
|
}
|
||
|
|
||
|
public String text(final InstanceRef e) {
|
||
|
String _xifexpression = null;
|
||
|
InstanceRef _tail = e.getTail();
|
||
|
boolean _tripleNotEquals = (_tail != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _name = e.getInstance().getName();
|
||
|
String _plus = (_name + ".");
|
||
|
String _text = this.text(e.getTail());
|
||
|
_xifexpression = (_plus + _text);
|
||
|
} else {
|
||
|
_xifexpression = e.getInstance().getName();
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String text(final ImmediateInstantiation e) {
|
||
|
final Function1<ComponentInstance, String> _function = (ComponentInstance it) -> {
|
||
|
return this.text(it);
|
||
|
};
|
||
|
return IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(e.getComponentInstances(), _function), ", ");
|
||
|
}
|
||
|
|
||
|
public String text(final ComponentInstance e) {
|
||
|
String res = e.getName();
|
||
|
Range _range = e.getRange();
|
||
|
boolean _tripleNotEquals = (_range != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _res = res;
|
||
|
String _xifexpression = null;
|
||
|
Object _size = e.getRange().getSize();
|
||
|
boolean _tripleNotEquals_1 = (_size != null);
|
||
|
if (_tripleNotEquals_1) {
|
||
|
_xifexpression = e.getRange().getSize().toString();
|
||
|
} else {
|
||
|
Object _start = e.getRange().getStart();
|
||
|
String _plus = (_start + ":");
|
||
|
Object _end = e.getRange().getEnd();
|
||
|
_xifexpression = (_plus + _end);
|
||
|
}
|
||
|
String _plus_1 = ("[" + _xifexpression);
|
||
|
String _plus_2 = (_plus_1 + "]");
|
||
|
res = (_res + _plus_2);
|
||
|
}
|
||
|
Object _address = e.getAddress();
|
||
|
boolean _tripleNotEquals_2 = (_address != null);
|
||
|
if (_tripleNotEquals_2) {
|
||
|
String _res_1 = res;
|
||
|
Object _address_1 = e.getAddress();
|
||
|
String _plus_3 = (" @" + _address_1);
|
||
|
res = (_res_1 + _plus_3);
|
||
|
}
|
||
|
return res;
|
||
|
}
|
||
|
|
||
|
public Object text(final PropertyAssignmentRhs e) {
|
||
|
Object _xifexpression = null;
|
||
|
RValue _value = e.getValue();
|
||
|
boolean _tripleNotEquals = (_value != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
_xifexpression = this.text(e.getValue());
|
||
|
} else {
|
||
|
Object _xifexpression_1 = null;
|
||
|
InstancePropertyRef _instPropRef = e.getInstPropRef();
|
||
|
boolean _tripleNotEquals_1 = (_instPropRef != null);
|
||
|
if (_tripleNotEquals_1) {
|
||
|
_xifexpression_1 = this.text(e.getInstPropRef());
|
||
|
} else {
|
||
|
Object _xifexpression_2 = null;
|
||
|
EnumDefinition _enumRef = e.getEnumRef();
|
||
|
boolean _tripleNotEquals_2 = (_enumRef != null);
|
||
|
if (_tripleNotEquals_2) {
|
||
|
_xifexpression_2 = this.text(e.getEnumRef());
|
||
|
}
|
||
|
_xifexpression_1 = _xifexpression_2;
|
||
|
}
|
||
|
_xifexpression = _xifexpression_1;
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String text(final InstancePropertyRef ref) {
|
||
|
String _text = this.text(ref.getInstance());
|
||
|
String _xifexpression = null;
|
||
|
PropertyDefinition _property = ref.getProperty();
|
||
|
boolean _tripleNotEquals = (_property != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _name = ref.getProperty().getName();
|
||
|
_xifexpression = ("->" + _name);
|
||
|
} else {
|
||
|
String _xifexpression_1 = null;
|
||
|
PropertyEnum _propertyEnum = ref.getPropertyEnum();
|
||
|
boolean _notEquals = (!Objects.equal(_propertyEnum, PropertyEnum.UNSPECIFIED));
|
||
|
if (_notEquals) {
|
||
|
String _literal = ref.getPropertyEnum().getLiteral();
|
||
|
_xifexpression_1 = ("->" + _literal);
|
||
|
} else {
|
||
|
_xifexpression_1 = "";
|
||
|
}
|
||
|
_xifexpression = _xifexpression_1;
|
||
|
}
|
||
|
return (_text + _xifexpression);
|
||
|
}
|
||
|
|
||
|
public String text(final RValue e) {
|
||
|
String _xifexpression = null;
|
||
|
String _str = e.getStr();
|
||
|
boolean _tripleNotEquals = (_str != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
_xifexpression = this.elipse(e.getStr());
|
||
|
} else {
|
||
|
RValueConstant _val = e.getVal();
|
||
|
boolean _notEquals = (!Objects.equal(_val, RValueConstant.UNDEFINED));
|
||
|
if (_notEquals) {
|
||
|
return e.getVal().getLiteral();
|
||
|
} else {
|
||
|
Object _num = e.getNum();
|
||
|
boolean _tripleNotEquals_1 = (_num != null);
|
||
|
if (_tripleNotEquals_1) {
|
||
|
Object _num_1 = e.getNum();
|
||
|
final IntegerWithRadix num = ((IntegerWithRadix) _num_1);
|
||
|
return num.toString();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String elipse(final String string) {
|
||
|
final int pos = string.indexOf("\n");
|
||
|
if ((pos > 0)) {
|
||
|
String _substring = string.substring(0, (pos - 1));
|
||
|
return (_substring + "...");
|
||
|
} else {
|
||
|
int _length = string.length();
|
||
|
boolean _greaterThan = (_length > 30);
|
||
|
if (_greaterThan) {
|
||
|
String _substring_1 = string.substring(0, 30);
|
||
|
return (_substring_1 + "...");
|
||
|
} else {
|
||
|
return string;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public String text(final NamedInstantiation e) {
|
||
|
final Function1<ComponentInstance, String> _function = (ComponentInstance it) -> {
|
||
|
return this.text(it);
|
||
|
};
|
||
|
String _join = IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(e.getComponentInstances(), _function), ", ");
|
||
|
String _plus = (_join + " (");
|
||
|
String _name = e.getComponent().getName();
|
||
|
String _plus_1 = (_plus + _name);
|
||
|
return (_plus_1 + ")");
|
||
|
}
|
||
|
|
||
|
public String text(final EnumEntry e) {
|
||
|
String _xifexpression = null;
|
||
|
Object _index = e.getIndex();
|
||
|
boolean _tripleNotEquals = (_index != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
String _name = e.getName();
|
||
|
String _plus = (_name + "=");
|
||
|
String _string = e.getIndex().toString();
|
||
|
_xifexpression = (_plus + _string);
|
||
|
} else {
|
||
|
String _name_1 = e.getName();
|
||
|
String _plus_1 = (_name_1 + "=");
|
||
|
final Function1<EnumProperty, String> _function = (EnumProperty it) -> {
|
||
|
return this.text(it);
|
||
|
};
|
||
|
String _join = IterableExtensions.join(ListExtensions.<EnumProperty, String>map(e.getProperties(), _function), ",");
|
||
|
_xifexpression = (_plus_1 + _join);
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String text(final EnumProperty e) {
|
||
|
String _name = e.getName();
|
||
|
String _plus = (_name + "=");
|
||
|
String _elipse = this.elipse(e.getValue());
|
||
|
return (_plus + _elipse);
|
||
|
}
|
||
|
|
||
|
public String image(final ComponentDefinition e) {
|
||
|
ComponentDefinitionType _type = e.getType();
|
||
|
if (_type != null) {
|
||
|
switch (_type) {
|
||
|
case ADDRMAP:
|
||
|
return "A.png";
|
||
|
case FIELD:
|
||
|
return "F.png";
|
||
|
case REG:
|
||
|
return "R.png";
|
||
|
case REGFILE:
|
||
|
return "R.png";
|
||
|
case SIGNAL:
|
||
|
return "S.png";
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
public String image(final PropertyAssignmentRhs e) {
|
||
|
String _xifexpression = null;
|
||
|
RValue _value = e.getValue();
|
||
|
boolean _tripleNotEquals = (_value != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
_xifexpression = "V.png";
|
||
|
} else {
|
||
|
String _xifexpression_1 = null;
|
||
|
InstancePropertyRef _instPropRef = e.getInstPropRef();
|
||
|
boolean _tripleNotEquals_1 = (_instPropRef != null);
|
||
|
if (_tripleNotEquals_1) {
|
||
|
_xifexpression_1 = this.image(e.getInstPropRef());
|
||
|
} else {
|
||
|
String _xifexpression_2 = null;
|
||
|
EnumDefinition _enumRef = e.getEnumRef();
|
||
|
boolean _tripleNotEquals_2 = (_enumRef != null);
|
||
|
if (_tripleNotEquals_2) {
|
||
|
_xifexpression_2 = "E.png";
|
||
|
}
|
||
|
_xifexpression_1 = _xifexpression_2;
|
||
|
}
|
||
|
_xifexpression = _xifexpression_1;
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String image(final InstancePropertyRef ref) {
|
||
|
String _xifexpression = null;
|
||
|
PropertyDefinition _property = ref.getProperty();
|
||
|
boolean _tripleNotEquals = (_property != null);
|
||
|
if (_tripleNotEquals) {
|
||
|
_xifexpression = "P.png";
|
||
|
} else {
|
||
|
String _xifexpression_1 = null;
|
||
|
PropertyEnum _propertyEnum = ref.getPropertyEnum();
|
||
|
boolean _notEquals = (!Objects.equal(_propertyEnum, PropertyEnum.UNSPECIFIED));
|
||
|
if (_notEquals) {
|
||
|
_xifexpression_1 = "E.png";
|
||
|
} else {
|
||
|
_xifexpression_1 = "I.png";
|
||
|
}
|
||
|
_xifexpression = _xifexpression_1;
|
||
|
}
|
||
|
return _xifexpression;
|
||
|
}
|
||
|
|
||
|
public String image(final EnumDefinition e) {
|
||
|
return "E.png";
|
||
|
}
|
||
|
|
||
|
public String image(final ExplicitPropertyAssignment e) {
|
||
|
return "P.png";
|
||
|
}
|
||
|
|
||
|
public String image(final PostPropertyAssignment e) {
|
||
|
return "P.png";
|
||
|
}
|
||
|
|
||
|
public String image(final NamedInstantiation e) {
|
||
|
return "I.png";
|
||
|
}
|
||
|
|
||
|
public String image(final EnumEntry v) {
|
||
|
return "V.png";
|
||
|
}
|
||
|
|
||
|
public String image(final EnumProperty e) {
|
||
|
return "P.png";
|
||
|
}
|
||
|
}
|