Package dtool.ast.references

Examples of dtool.ast.references.Reference


      return nodeIsDefSymbol(defSymbol);
    } else if(node instanceof NamedReference) {
      NamedReference namedReference = (NamedReference) node;
      return nodeIsNamedReference(namedReference);
    } else if(node instanceof Reference) {
      Reference reference = (Reference) node;
      return nodeIsNonNamedReference(reference);
    } else {
      return nodeIsNotReference();
    }
  }
View Full Code Here


      DefinitionVariable elem = (DefinitionVariable) defUnit;
      return elem.getName() + getTypeSegment(elem.type) + getDefUnitContainerSuffix(defUnit);
    }
    case DEFINITION_VAR_FRAGMENT: {
      DefVarFragment elem = (DefVarFragment) defUnit;
      Reference type = elem.getDeclaredType();
      return elem.getName() + getTypeSegment(type) + getDefUnitContainerSuffix(defUnit);
    }
   
    case FUNCTION_PARAMETER: {
      FunctionParameter elem = (FunctionParameter) defUnit;
View Full Code Here

      ASTNode elem = ASTNodeFinder.findElement(neoModule, offset);
      if(elem instanceof DefSymbol) {
        DefSymbol defSymbol = (DefSymbol) elem;
        defunit = defSymbol.getDefUnit();
      } else if(elem instanceof Reference) {
        Reference ref = (Reference) elem;
        IModuleResolver mr = DToolClient_Bad.getResolverFor(inputPath);
        defunit = ref.findTargetDefElement(mr);
        if(defunit == null) {
          errorMessage = "No DefUnit found when resolving reference.";
        }
      } else {
        errorMessage = "Element is not a Definition nor a Reference";
View Full Code Here

    }
    return reference.findTargetDefElement(mr);
  }
 
  public static INamedElement resolveTypeForValueContext_Alias(IModuleResolver mr, Reference alias) {
    Reference aliasTarget = alias;
    if(aliasTarget != null) {
      return CollectionUtil.getFirstElementOrNull(aliasTarget.resolveTypeOfUnderlyingValue(mr));
    }
    return null;
  }
View Full Code Here

  protected NodeResult<RefTypeModifier> parseRefTypeModifier_start(TypeModifierKinds modKind) {
    assertTrue(lookAhead().sourceValue.equals(modKind.sourceValue));
    consumeLookAhead();
    ParseHelper parse = new ParseHelper();
   
    Reference ref = null;
    boolean hasParens = false;
    if(parse.consumeOptional(DeeTokens.OPEN_PARENS)) {
      ref = parseTypeReference_ToMissing().node;
      parse.consumeRequired(DeeTokens.CLOSE_PARENS);
      hasParens = true;
View Full Code Here

    }
  }
 
  protected Expression resolvableToExp(Resolvable resolvable, boolean reportError) {
    if(resolvable instanceof Reference) {
      Reference reference = (Reference) resolvable;
      return createExpReference(reference, reportError);
    }
    return (Expression) resolvable;
  }
View Full Code Here

    assertTrue(lookAhead() == DeeTokens.KW_FUNCTION || lookAhead() == DeeTokens.KW_DELEGATE);
    consumeLookAhead();
    boolean isFunctionKeyword = lastLexElement().type == DeeTokens.KW_FUNCTION;
    ParseHelper parse = new ParseHelper();
   
    Reference retType = parseTypeReference().node;
   
    ArrayView<IFunctionParameter> fnParams = null;
    ArrayView<FunctionAttributes> fnAttributes = null;
   
    parsing: {
View Full Code Here

  public NodeResult<ExpTypeId> parseTypeIdExpression() {
    if(tryConsume(DeeTokens.KW_TYPEID) == false)
      return null;
    ParseHelper parse = new ParseHelper();
   
    Reference ref = null;
    Expression exp = null;
    parsing: {
      if(parse.consumeRequired(DeeTokens.OPEN_PARENS).ruleBroken) break parsing;
      Resolvable resolvable = nullTypeOrExpToParseMissing(parseTypeOrExpression(true).node);
      if(resolvable instanceof Reference) {
View Full Code Here

    return parseNewExpression_do(parse, outerClass);
  }
 
  public NodeResult<? extends Expression> parseNewExpression_do(ParseHelper parse, Expression outerClass) {
    NodeListView<Expression> allocArgs = null;
    Reference type = null;
    NodeListView<Expression> args = null;
   
    parsing: {
      assertTrue(!parse.ruleBroken);
     
View Full Code Here

  public NodeResult<? extends Expression> parseCastExpression() {
    if(!tryConsume(DeeTokens.KW_CAST))
      return null;
    ParseHelper parse = new ParseHelper();
   
    Reference type = null;
    CastQualifiers qualifier = null;
    Expression exp = null;
   
    parsing: {
      if(parse.consumeRequired(DeeTokens.OPEN_PARENS).ruleBroken) break parsing;
View Full Code Here

TOP

Related Classes of dtool.ast.references.Reference

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.