Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 9.46 KB | None | 0 0
  1. package runclass
  2.  
  3. object testLib {
  4.     val socket: Library = makeLib()
  5. }
  6.  
  7. fun makeLib(): Library {
  8.  
  9.     val serverPort = StateMachine("ServerPort")
  10.  
  11.     var inputStream = StateMachine(name = "InputStream")
  12.     var specifiedInputStream = State(name = "SpecifiedInputStream", machine = inputStream)
  13.     val closedInputStream = State(name = "closed", machine = inputStream)
  14.     inputStream.ending = closedInputStream.name
  15.  
  16.     var outputStream = StateMachine(name = "OutputStream")
  17.     var specifiedOutputStream = State(name = "SpecifiedOutputStream", machine = outputStream)
  18.     val closedOutputStream = State(name = "closed", machine = outputStream)
  19.     outputStream.ending = closedOutputStream.name
  20.  
  21.     var dataOutputStream = StateMachine(name = "DataOutputStream")
  22.     var specifiedDataOutputStream = State(name = "SpecifiedDataOutputStream", machine = dataOutputStream)
  23.     val closedDataOutputStream = State(name = "closed", machine = dataOutputStream)
  24.     dataOutputStream.ending = closedDataOutputStream.name
  25.  
  26.     var inputStreamReader = StateMachine(name = "InputStreamReader")
  27.     var specifiedInputStreamReader = State(name = "SpecifiedInputStreamReader", machine = inputStreamReader)
  28.     val closedInputStreamReader = State(name = "closed", machine = inputStreamReader)
  29.     inputStreamReader.ending = closedInputStreamReader.name
  30.  
  31.     var serverSocket = StateMachine(name = "ServerSocket")
  32.     var specifiedServerSocket = State(name = "SpecifiedServerSocket", machine = serverSocket)
  33.     val closedServerSocket = State(name = "closed", machine = serverSocket)
  34.     serverSocket.ending = closedServerSocket.name
  35.  
  36.     var socket = StateMachine(name = "Socket")
  37.     var specifiedSocket = State(name = "SpecifiedSocket", machine = socket)
  38.     val closedSocket = State(name = "closed", machine = socket)
  39.     socket.ending = closedSocket.name
  40.  
  41.     val bufferedReader = StateMachine(name = "BufferedReader")
  42.     val specifiedBufferedReader = State(name = "SpecifiedBufferedReader", machine = bufferedReader)
  43.     val closedBufferedReader = State(name = "closed", machine = bufferedReader)
  44.     bufferedReader.ending = closedBufferedReader.name
  45.  
  46.     val printWriter = StateMachine(name = "PrintWriter")
  47.     val specifiedPrintWriter = State(name = "SpecifiedPrintWriter", machine = printWriter)
  48.     val closedPrintWriter = State(name = "closed", machine = printWriter)
  49.     printWriter.ending = closedPrintWriter.name
  50.  
  51.     ConstructorEdge(
  52.             machine = dataOutputStream,
  53.             src = dataOutputStream.getConstructedState(),
  54.             dst = specifiedBufferedReader,
  55.             param = listOf(EntityParam(
  56.                     machine = outputStream,
  57.                     state = specifiedOutputStream
  58.             )
  59.             )
  60.     )
  61.  
  62.     ConstructorEdge(
  63.             machine = bufferedReader,
  64.             src = bufferedReader.getConstructedState(),
  65.             dst = specifiedBufferedReader,
  66.             param = listOf(EntityParam(
  67.                     machine = inputStreamReader,
  68.                     state = specifiedInputStreamReader
  69.             )
  70.             )
  71.     )
  72.  
  73.     ConstructorEdge(
  74.             machine = printWriter,
  75.             src = printWriter.getConstructedState(),
  76.             dst = specifiedPrintWriter,
  77.             param = listOf(EntityParam(
  78.                     machine = outputStream,
  79.                     state = specifiedOutputStream
  80.             )
  81.             )
  82.     )
  83.  
  84.     ConstructorEdge(
  85.             machine = inputStreamReader,
  86.             src = inputStreamReader.getConstructedState(),
  87.             dst = specifiedInputStreamReader,
  88.             param = listOf(EntityParam(
  89.                     machine = socket,
  90.                     state = specifiedSocket
  91.             )
  92.             )
  93.     )
  94.  
  95.     ConstructorEdge(
  96.             machine = serverSocket,
  97.             src = serverSocket.getConstructedState(),
  98.             dst = specifiedServerSocket,
  99.             param = listOf(EntityParam(
  100.                     machine = serverPort
  101.             )
  102.             )
  103.     )
  104.  
  105.     LinkedEdge(
  106.             src = socket.getConstructedState(),
  107.             //dst = specifiedSocket,
  108.             dst = specifiedSocket,
  109.             edge = CallEdge(
  110.                     machine = serverSocket,
  111.                     src = specifiedServerSocket,
  112.                     dst = specifiedServerSocket,
  113.                     methodName = "accept"
  114.             )
  115.     )
  116.  
  117.     AutoEdge(
  118.             machine = socket,
  119.             src = socket.getDefaultState(),
  120.             dst = specifiedSocket
  121.     )
  122.  
  123.     LinkedEdge(
  124.             src = outputStream.getDefaultState(),
  125.             dst = specifiedOutputStream,
  126.             edge = CallEdge(
  127.                     machine = socket,
  128.                     src = specifiedSocket,
  129.                     dst = specifiedSocket,
  130.                     methodName = "getOutputStream"
  131.             )
  132.     )
  133.  
  134.     LinkedEdge(
  135.             src = inputStream.getDefaultState(),
  136.             dst = specifiedInputStream,
  137.             edge = CallEdge(
  138.                     machine = socket,
  139.                     src = specifiedSocket,
  140.                     dst = specifiedSocket,
  141.                     methodName = "getInputStream"
  142.             )
  143.     )
  144.  
  145.  
  146.     CallEdge(
  147.             machine = bufferedReader,
  148.             src = specifiedBufferedReader,
  149.             dst = specifiedBufferedReader,
  150.             methodName = "readLine"
  151.     )
  152.  
  153.     CallEdge(
  154.             machine = socket,
  155.             src = socket.getConstructedState(),
  156.             dst = socket.getConstructedState(),
  157.             methodName = "getPort"
  158.     )
  159.  
  160.  
  161.  
  162.     CallEdge(
  163.             machine = socket,
  164.             src = socket.getConstructedState(),
  165.             dst = socket.getConstructedState(),
  166.             methodName = "getOutputStream"
  167.     )
  168.  
  169.  
  170.  
  171.     CallEdge(
  172.             machine = serverSocket,
  173.             src = specifiedServerSocket,
  174.             dst = closedServerSocket,
  175.             methodName = "close"
  176.     )
  177.  
  178.     CallEdge(
  179.             machine = printWriter,
  180.             src = specifiedPrintWriter,
  181.             dst = closedPrintWriter,
  182.             methodName = "close"
  183.     )
  184.  
  185.     CallEdge(
  186.             machine = bufferedReader,
  187.             src = specifiedBufferedReader,
  188.             dst = closedBufferedReader,
  189.             methodName = "close"
  190.     )
  191.  
  192.     CallEdge(
  193.             machine = dataOutputStream,
  194.             src = specifiedDataOutputStream,
  195.             dst = specifiedDataOutputStream,
  196.             methodName = "write"
  197.     )
  198.  
  199.     CallEdge(
  200.             machine = dataOutputStream,
  201.             src = specifiedDataOutputStream,
  202.             dst = closedDataOutputStream,
  203.             methodName = "close"
  204.     )
  205.  
  206.     CallEdge(
  207.             machine = dataOutputStream,
  208.             src = specifiedDataOutputStream,
  209.             dst = specifiedDataOutputStream,
  210.             methodName = "flush"
  211.     )
  212.  
  213.     CallEdge(
  214.             machine = socket,
  215.             src = specifiedSocket,
  216.             dst = closedSocket,
  217.             methodName = "close"
  218.     )
  219.  
  220.     val fileName = StateMachine("fileName")
  221.  
  222.     var fileWriter = StateMachine(name = "FileWriter")
  223.     val specifiedFileName = State(name = "SpecifiedFileName", machine = fileWriter)
  224.     val closedFW = State(name = "closed", machine = fileWriter)
  225.     fileWriter.ending = closedFW.name;
  226.  
  227.     ConstructorEdge(
  228.             machine = fileWriter,
  229.             src = fileWriter.getConstructedState(),
  230.             dst = specifiedFileName,
  231.             param = listOf(EntityParam(
  232.                     machine = fileName
  233.             )
  234.             )
  235.     )
  236.  
  237.     CallEdge(
  238.             machine = fileWriter,
  239.             src = specifiedFileName,
  240.             dst = closedFW,
  241.             methodName = "close"
  242.     )
  243.  
  244.  
  245.     val bufferedWriter = StateMachine(name = "BufferedWriter")
  246.     val specifiedFile = State(name = "SpecifiedFile", machine = bufferedWriter)
  247.     val closedBW = State(name = "closed", machine = bufferedWriter)
  248.     bufferedWriter.ending = closedBW.name
  249.  
  250.     ConstructorEdge(
  251.             machine = bufferedWriter,
  252.             src = bufferedWriter.getConstructedState(),
  253.             dst = specifiedFile,
  254.             param = listOf(EntityParam(
  255.                     machine = fileWriter,
  256.                     state = specifiedFileName
  257.             )
  258.             )
  259.     )
  260.  
  261.     CallEdge(
  262.             machine = bufferedWriter,
  263.             methodName = "write",
  264.             src = specifiedFile,
  265.             dst = specifiedFile
  266.     )
  267.  
  268.     CallEdge(
  269.             machine = bufferedWriter,
  270.             src = specifiedFile,
  271.             dst = closedBW,
  272.             methodName = "close"
  273.     )
  274.  
  275.  
  276.  
  277.     return Library(
  278.             name = "java",
  279.             stateMachines = listOf(serverPort, bufferedReader, inputStream, outputStream, printWriter, inputStreamReader, serverSocket, socket, fileWriter, fileName, bufferedWriter),
  280.             machineTypes = mapOf(serverPort to "java.lang.String",
  281.                     bufferedReader to "java.io.BufferedReader",
  282.                     inputStream to "java.io.SocketInputStream",
  283.                     outputStream to "java.io.OutputStream",
  284.                     printWriter to "java.io.PrintWriter",
  285.                     inputStreamReader to "java.io.InputStreamReader",
  286.                     serverSocket to "java.net.ServerSocket",
  287.                     socket to "java.net.Socket",
  288.                     bufferedWriter to "java.io.BufferedWriter",
  289.                     fileWriter to "java.io.FileWriter",
  290.                     fileName to "String")
  291.     )
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement