dsymbol.symbol

This file is part of DCD, a development tool for the D programming language. Copyright (C) 2014 Brian Schott

Discussion

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see .

  • Declaration

    enum CompletionKind: char;

    Identifies the kind of the item in an identifier completion list

    • Declaration

      dummy

      Invalid completion kind. This is used internally and will never be returned in a completion response.

    • Declaration

      importSymbol

      Import symbol. This is used internally and will never be returned in a completion response.

    • Declaration

      withSymbol

      With symbol. This is used internally and will never be returned in a completion response.

    • Declaration

      className

      class names

    • Declaration

      interfaceName

      interface names

    • Declaration

      structName

      structure names

    • Declaration

      unionName

      union name

    • Declaration

      variableName

      variable name

    • Declaration

      memberVariableName

      member variable

    • Declaration

      keyword

      keyword, built-in version, scope statement

    • Declaration

      functionName

      function or method

    • Declaration

      enumName

      enum name

    • Declaration

      enumMember

      enum member

    • Declaration

      packageName

      package name

    • Declaration

      moduleName

      module name

    • Declaration

      aliasName

      alias name

    • Declaration

      templateName

      template name

    • Declaration

      mixinTemplateName

      mixin template name

  • Declaration

    pure nothrow @nogc @safe bool isPublicCompletionKind(CompletionKind kind);

    Return Value

    true if kind is something that can be returned to the client

  • Declaration

    enum SymbolQualifier: ubyte;

    Any special information about a variable declaration symbol.

    • Declaration

      none

      None

    • Declaration

      array

      The symbol is an array

    • Declaration

      assocArray

      The symbol is a associative array

    • Declaration

      func

      The symbol is a function or delegate pointer

    • Declaration

      selectiveImport

      Selective import

  • Declaration

    struct DSymbol;

    Autocompletion symbol

    • Declaration

      this();
      this(istring name);

      Copying is disabled.

    • Declaration

      this(string name, CompletionKind kind);
      this(istring name, CompletionKind kind);

      Parameters

      string name

      the symbol's name

      CompletionKind kind

      the symbol's completion kind

    • Declaration

      this(string name, CompletionKind kind, DSymbol* type);
      this(istring name, CompletionKind kind, DSymbol* type);

      Parameters

      string name

      the symbol's name

      CompletionKind kind

      the symbol's completion kind

      resolvedType

      the resolved type of the symbol

    • Declaration

      inout inout(DSymbol)*[] getPartsByName(istring name);

      Gets all parts whose name matches the given string.

    • Declaration

      inout void getParts(OR)(istring name, ref OR app, ref HashSet!size_t visited, bool onlyOne = false) if (isOutputRange!(OR, DSymbol*));

      Gets all parts and imported parts. Filters based on the part's name if the name argument is not null. Stores results in app.

    • Declaration

      inout inout(DSymbol)*[] opSlice(this This)();

      Return Value

      a range over this symbol's parts and publicly visible imports

    • Declaration

      void updateTypes(ref UpdatePairCollection collection);

      Updates the type field based on the mappings contained in the given collection.

    • Declaration

      istring name;

      DSymbol's name

    • Declaration

      istring callTip;

      Calltip to display if this is a function

    • Declaration

      alias altFile = callTip;

      Used for storing information for selective renamed imports

    • Declaration

      istring symbolFile;

      Module containing the symbol.

    • doc

      Declaration

      istring doc;

      Documentation for the symbol.

    • Declaration

      DSymbol* type;

      The symbol that represents the type.

    • Declaration

      UnrolledList!istring argNames;

      Names of function arguments

    • Declaration

      const pure nothrow @nogc @property @safe size_t location();

      DSymbol location

    • Declaration

      CompletionKind kind;

      The kind of symbol

    • Declaration

      SymbolQualifier qualifier;

      DSymbol qualifier