Package dtool.ast

Examples of dtool.ast.ASTNode


    if(klass == null) {
      assertTrue(decl == null);
      return;
    }
    assertInstance(decl, klass);
    ASTNode node = (ASTNode) decl;
    assertEquals(node.toStringAsCode(), expectedSource);
  }
View Full Code Here


  }
 
  protected DeeParserResult prepParseResult(ParseRuleDescription parseRule, NodeResult<?> nodeResult,
      Path modulePath) {
    assertTrue(enabled);
    ASTNode node = nodeResult.node;
    if(node != null) {
      ASTNode.doSimpleAnalysisOnTree(node);
    }
   
    List<ParserError> errors = initErrors(lexerErrors, node);
View Full Code Here

          consumeLookAhead(DeeTokens.COLON);
          initializer = parseNonVoidInitializer(true).node;
        }
      }
     
      ASTNode startNode = index != null ? index : initializer.asNode();
      return concludeNode(srToPosition(startNode, new ArrayInitEntry(index, initializer)));
    }
View Full Code Here

      }
      IInitializer init = parseNonVoidInitializer(createMissing || member != null).node;
      if(init == null)
        return null;
     
      ASTNode startNode = member != null ? member : init.asNode();
      return concludeNode(srToPosition(startNode, new StructInitEntry(member, init)));
    }
View Full Code Here

    return (ISourceModule) element.getAncestor(IModelElement.SOURCE_MODULE);
  }
 
  public static ArrayList<Integer> getNodeTreePath(ASTNode node) {

    ASTNode parent = node.getParent();
    if(parent == null) {
      return new ArrayList<Integer>();
    }
   
    ArrayList<Integer> parentPath = getNodeTreePath(parent);
   
    ASTNode[] children = parent.getChildren();
    for (int ix = 0; ix < children.length; ix++) {
      ASTNode child = children[ix];
      if(node == child) {
        parentPath.add(ix);
        assertTrue(getNodeFromPath(node.getModuleNode(), parentPath) == node);
        return parentPath;
      }
View Full Code Here

     
      Path filePath = DLTKUtils.getFilePath(sourceModule);
     
      ParsedModule parseModule = DToolClient.getDefaultModuleCache().getParsedModuleOrNull(filePath);
      Module deeModule = parseModule == null ? null : parseModule.module;
      ASTNode node = DeeSearchEngineTestUtils.getNodeFromPath(deeModule, nodeTreePath);
     
      final DefUnit defUnit = (DefUnit) node;
      final HashSet<Reference> expectedReferences = defUnitToReferencesMap.get(key);
     
      IMember element = DeeModelEngine.findCorrespondingModelElement(defUnit, sourceModule);
View Full Code Here

    return ((IASTNode) elem).toStringAsNode(true);
  }
 
  @Override
  public Color getBackground(Object element) {
    ASTNode node = (ASTNode) element;
    if(!node.hasSourceRangeInfo())
      return cNoSourceRangeColor;
   
    //int offset = EditorUtil.getSelection(viewer.fEditor).getOffset();
    //ASTNode selNode = ASTNodeFinder.findElement(viewer.fCUnit.getModule(), offset);
   
View Full Code Here

 
  @Override
  public boolean visit(NamedReference elem) {
    Reference topReference = elem;
   
    ASTNode parent = topReference.getParent();
    if(parent instanceof ExpReference) {
      parent = parent.getParent();
    }
    if(parent instanceof ExpCall) {
      ExpCall expCall = (ExpCall) parent;
      int length = expCall.args == null ? 0 : expCall.args.size();
      String methodName = elem.getCoreReferenceName(); // Dont use qualified name
View Full Code Here

    if(filePath == null) {
      return null;
    }
   
    Module deeModule = DToolClient.getDefaultModuleCache().getExistingParsedModuleNode(filePath);
    ASTNode node = ASTNodeFinder.findElement(deeModule, offset);
   
    if(node instanceof DefSymbol) {
      DefUnit defUnit = ((DefSymbol) node).getDefUnit();
      try {
        IMember modelElement = DeeModelEngine.findCorrespondingModelElement(defUnit, sourceModule);
View Full Code Here

TOP

Related Classes of dtool.ast.ASTNode

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.