package jetbrains.mps.lang.migration.runtime.base;
/*Generated by MPS */
import org.jetbrains.mps.openapi.model.SNode;
import org.jetbrains.mps.openapi.language.SProperty;
import org.jetbrains.mps.openapi.language.SContainmentLink;
import org.jetbrains.mps.openapi.language.SReferenceLink;
public class DeprecatedConceptMemberNotMigratedProblem<CM> extends NotMigratedNode {
private CM myConceptMember;
private String myCmKind;
public DeprecatedConceptMemberNotMigratedProblem(SNode reason, CM conceptMember, String cmKind) {
super(reason);
myConceptMember = conceptMember;
myCmKind = cmKind;
}
public String getMessage() {
return "Node with deprecated " + myCmKind + " '" + myConceptMember + "' was not migrated";
}
public static class DeprecatedPropertyNotMigratedProblem extends DeprecatedConceptMemberNotMigratedProblem<SProperty> {
public DeprecatedPropertyNotMigratedProblem(SNode reason, SProperty property) {
super(reason, property, "property");
}
}
public static class DeprecatedContainmentLinkNotMigratedProblem extends DeprecatedConceptMemberNotMigratedProblem<SContainmentLink> {
public DeprecatedContainmentLinkNotMigratedProblem(SNode reason, SContainmentLink containmentLink) {
super(reason, containmentLink, "link");
}
}
public static class DeprecatedReferenceLinkNotMigratedProblem extends DeprecatedConceptMemberNotMigratedProblem<SReferenceLink> {
public DeprecatedReferenceLinkNotMigratedProblem(SNode reason, SReferenceLink referenceLink) {
super(reason, referenceLink, "link");
}
}
public static Problem deprecatedProperty(SNode reason, SProperty property) {
return new DeprecatedConceptMemberNotMigratedProblem.DeprecatedPropertyNotMigratedProblem(reason, property);
}
public static Problem deprecatedContainmentLink(SNode reason, SContainmentLink containmentLink) {
return new DeprecatedConceptMemberNotMigratedProblem.DeprecatedContainmentLinkNotMigratedProblem(reason, containmentLink);
}
public static Problem deprecatedReferenceLink(SNode reason, SReferenceLink referenceLink) {
return new DeprecatedConceptMemberNotMigratedProblem.DeprecatedReferenceLinkNotMigratedProblem(reason, referenceLink);
}
}