Package com.google.collide.dto

Examples of com.google.collide.dto.CodeBlock


     * /file1.py:
     *
     * def foo1:
     *   return 42;
     */
    CodeBlock file1 = createCodeBlock("1", "/file1.py", CodeBlock.Type.FILE, 0, 0, 0, 99);
    CodeBlock funFoo1 = createCodeBlock(file1, "11", "foo1", CodeBlock.Type.FUNCTION, 0, 0, 0, 99);

    /*
     * /file2.py:
     *
     * def foo2:
     *   return 24;
     */
    CodeBlock file2 = createCodeBlock("2", "/file2.py", CodeBlock.Type.FILE, 0, 0, 0, 99);
    CodeBlock funFoo2 = createCodeBlock(file2, "21", "foo2", CodeBlock.Type.FUNCTION, 0, 0, 0, 99);

    JsoStringMap<CodeBlock> files = JsoStringMap.<CodeBlock>create();
    files.put(file1.getId(), file1);
    files.put(file2.getId(), file2);
    CodeGraphImpl codeGraph = CodeGraphImpl.make();
View Full Code Here


     *   return 1;
     *
     * def foo3:
     *   return 3;
     */
    CodeBlock file1a = createCodeBlock("1", "/file1.py", CodeBlock.Type.FILE, 0, 0, 3, 0);
    CodeBlock funFoo1a = createCodeBlock(
        file1a, "11", "foo1", CodeBlock.Type.FIELD, 0, 0, 1, 0);
    CodeBlock funFoo3 = createCodeBlock(
        file1a, "11", "foo3", CodeBlock.Type.FIELD, 1, 0, 2, 0);

    /*
     * /file1.py:
     *
     * def foo1:
     *   return 1;
     *
     * def foo2:
     *   return 2;
     */
    CodeBlock file1b = createCodeBlock("2", "/file1.py", CodeBlock.Type.FILE, 0, 0, 3, 0);
    CodeBlock funFoo1b = createCodeBlock(
        file1b, "21", "foo1", CodeBlock.Type.FUNCTION, 0, 0, 0, 99);
    CodeBlock funFoo2 = createCodeBlock(
        file1b, "22", "foo2", CodeBlock.Type.FUNCTION, 1, 0, 1, 99);

    JsoStringMap<CodeBlock> files = JsoStringMap.<CodeBlock>create();
    files.put(file1a.getId(), file1a);
    files.put(file1b.getId(), file1b);
View Full Code Here

    assertEquals(JsonCollections.createStringSet("foo1", "foo2", "foo3"),
        TestUtils.createNameSet(prefixIndex.search("f")));
  }

  public void testPackages() {
    CodeBlock defaultPackage = createCodeBlock("p1", "", CodeBlock.Type.PACKAGE, 0, 0, 0, 0);
    CodeBlock pkgGoogle = createCodeBlock(
        defaultPackage, "p2", "google", CodeBlock.Type.PACKAGE, 0, 0, 0, 0);
    CodeBlock pkgAppengine = createCodeBlock(
        defaultPackage, "p3", "google.appengine", CodeBlock.Type.PACKAGE, 0, 0, 0, 0);
    CodeBlock pkgExt = createCodeBlock(
        defaultPackage, "p4", "google.ext", CodeBlock.Type.PACKAGE, 0, 0, 0, 0);

    CodeGraphImpl codeGraph = CodeGraphImpl.make();
    codeGraph.setDefaultPackage(defaultPackage);
    codeGraph.setCodeBlockMap(JsoStringMap.<CodeBlock>create());
View Full Code Here

  public void testFreshFileTreeWontDestroyLinks() {
    CodeGraphResponseImpl response = DtoClientImpls.MockCodeGraphResponseImpl.make();
    response.setFreshness(createFreshness("0", "1", "1"));

    {
      CodeBlock fileBlock = createCodeBlock("0", "/foo.js", CodeBlock.Type.FILE, 0, 0, 10, 0);
      CodeBlock foo = createCodeBlock(fileBlock, "1", "foo", CodeBlock.Type.FIELD, 0, 0, 1, 0);
      CodeBlock bar = createCodeBlock(fileBlock, "2", "bar", CodeBlock.Type.FIELD, 1, 0, 2, 0);
      createCodeBlock(fileBlock, "3", "bar.doThis", CodeBlock.Type.FUNCTION, 1, 10, 2, 0);
      TypeAssociation typeLink = createTypeAssociation(fileBlock, foo, fileBlock, bar);
      CodeGraphImpl codeGraph = createCodeGraph(fileBlock);
      codeGraph.setTypeAssociations(JsoArray.<TypeAssociation>from(typeLink));
View Full Code Here

    result.setTypeAssociations(JsoArray.<TypeAssociation>create());
    result.setImportAssociations(JsoArray.<ImportAssociation>create());

    CodeGraph fullGraph = data.getFullGraph();
    CodeGraph workspaceTree = data.getWorkspaceTree();
    CodeBlock fileTree = data.getFileTree();
    CodeGraph libsSubgraph = data.getLibsSubgraph();

    if (fullGraph != null) {
      mergeCodeGraph(fullGraph, result);
    }
    if (workspaceTree != null) {
      mergeCodeGraph(workspaceTree, result);
    }
    if (fileTree != null) {
      result.getCodeBlockMap().put(fileTree.getId(), fileTree);
    }
    if (libsSubgraph != null) {
      mergeCodeGraph(libsSubgraph, result);
    }
    return result;
View Full Code Here

    JsonArray<OutlineNode> resultChildren = result.getChildren();
    JsonArray<CodeBlock> blockChildren = block.getChildren();
    final int size = blockChildren.size();
    for (int i = 0; i < size; i++) {
      CodeBlock item = blockChildren.get(i);
      OutlineNode node = buildTree(item, result);
      if (node == null) {
        continue;
      }
      resultChildren.add(node);
View Full Code Here

    updateFileTree(data);
  }

  private void updateFileTree(CubeData data) {
    Preconditions.checkNotNull(currentOutlineBuilder);
    CodeBlock fileTree = data.getFileTree();
    if (fileTree == null) {
      fileTree = findFileCodeBlock(data.getFullGraph(), data.getFilePath());
    }
    if (fileTree == null) {
      return;
View Full Code Here

  }

  private void buildSubscopes(Scope rootScope, CodeBlock codeBlock, JsonArray<CodeBlock> queue) {
    JsonArray<Scope> subscopes = rootScope.getSubscopes();
    for (int i = 0, size = codeBlock.getChildren().size(); i < size; i++) {
      CodeBlock child = codeBlock.getChildren().get(i);
      refs.addChildParentRef(child, codeBlock);
      if (isTextuallyNested(child, codeBlock)) {
        Scope childScope = new Scope(child);
        subscopes.add(childScope);
      } else {
        queue.add(child);
      }
    }
    for (int i = 0; i < subscopes.size(); i++) {
      Scope child = subscopes.get(i);
      buildSubscopes(child, child.getCodeBlock(), queue);
    }
  }
View Full Code Here

    JsonArray<CodeBlock> queue = JsonCollections.createArray();
    buildSubscopes(rootScope, rootCodeBlock, queue);
    while (!queue.isEmpty()) {
      JsonArray<CodeBlock> newQueue = JsonCollections.createArray();
      for (int i = 0; i < queue.size(); i++) {
        CodeBlock queued = queue.get(i);
        Scope lexicalContainer = findScope(queued.getStartLineNumber(), queued.getStartColumn(),
            false);
        if (lexicalContainer != null) {
          Scope lexicalScope = new Scope(queued);
          lexicalContainer.getSubscopes().add(lexicalScope);
          buildSubscopes(lexicalScope, queued, newQueue);
View Full Code Here

    JsonStringMap<CodeBlock> codeBlockMap = codeGraph.getCodeBlockMap();
    JsonArray<String> keys = codeBlockMap.getKeys();
    for (int i = 0; i < keys.size(); i++) {
      String key = keys.get(i);
      CodeBlock fileCodeBlock = codeBlockMap.get(key);
      SyntaxType fileMode = SyntaxType.syntaxTypeByFileName(fileCodeBlock.getName());
      if (mode.equals(fileMode)) {
        FileIndex fileIndex = new FileIndex(fileCodeBlock, new PathUtil(fileCodeBlock.getName()));
        fileIdToData.put(fileCodeBlock.getId(), fileIndex);

        String filePath = fileIndex.path.getPathString();
        String idList = filePathToId.get(filePath);
        if (idList != null) {
          idList += "," + fileCodeBlock.getId();
        } else {
          idList = fileCodeBlock.getId();
        }
        filePathToId.put(filePath, idList);
      }
    }

    CodeBlock defaultPackage = codeGraph.getDefaultPackage();
    if (defaultPackage != null) {
      filePathToId.put("", defaultPackage.getId());
      fileIdToData.put(defaultPackage.getId(), new FileIndex(defaultPackage, new PathUtil("")));
    }
  }
View Full Code Here

TOP

Related Classes of com.google.collide.dto.CodeBlock

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.