blob: cf2a64094cc6819f66d67ce7cfeedfa1b225235e [file] [log] [blame]
package org.jetbrains.protocolReader;
import org.jetbrains.jsonProtocol.ProtocolMetaModel;
abstract class CreateStandaloneTypeBindingVisitorBase implements TypeVisitor<StandaloneTypeBinding> {
private final ProtocolMetaModel.StandaloneType type;
private final DomainGenerator generator;
CreateStandaloneTypeBindingVisitorBase(DomainGenerator generator, ProtocolMetaModel.StandaloneType type) {
this.generator = generator;
this.type = type;
}
protected ProtocolMetaModel.StandaloneType getType() {
return type;
}
@Override
public StandaloneTypeBinding visitString() {
return generator.createTypedefTypeBinding(type, StandaloneTypeBinding.PredefinedTarget.STRING, generator.generator.getNaming().commonTypedef, null);
}
@Override
public StandaloneTypeBinding visitInteger() {
return generator.createTypedefTypeBinding(type, StandaloneTypeBinding.PredefinedTarget.INT, generator.generator.getNaming().commonTypedef, null);
}
@Override
public StandaloneTypeBinding visitRef(String refName) {
throw new RuntimeException();
}
@Override
public StandaloneTypeBinding visitBoolean() {
throw new RuntimeException();
}
@Override
public StandaloneTypeBinding visitNumber() {
return generator.createTypedefTypeBinding(type, StandaloneTypeBinding.PredefinedTarget.NUMBER,
generator.generator.getNaming().commonTypedef, null);
}
@Override
public StandaloneTypeBinding visitMap() {
return generator.createTypedefTypeBinding(type, StandaloneTypeBinding.PredefinedTarget.MAP,
generator.generator.getNaming().commonTypedef, null);
}
@Override
public StandaloneTypeBinding visitUnknown() {
throw new RuntimeException();
}
}