public Object visitDotNode(DotNode node) {
// FIXME propagation
IRubyObject range = newInstanceOf(runtime.getRange());
Vertex beginVertex = createVertex(node.getBeginNode());
Vertex endVertex = createVertex(node.getEndNode());
TypeVarMap typeVarMap = RuntimeHelper.getTypeVarMap(range);
if (typeVarMap != null && beginVertex != null && endVertex != null) {
Vertex t = createFreeVertex();
t.update(beginVertex);
t.update(endVertex);
typeVarMap.put(TypeVariable.valueOf("t"), t);
}
return createSingleTypeVertex(node, range);
}