The Psyche Project
Classes | Public Member Functions | List of all members
psy::C::SemanticModel Class Reference

The SemanticModel class. More...

#include <SemanticModel.h>

Classes

struct  SemanticModelImpl
 

Public Member Functions

const SyntaxTree * syntaxTree () const
 
const Compilation * compilation () const
 
const TranslationUnit * translationUnit () const
 
const Function * declaredFunction (const FunctionDefinitionSyntax *node) const
 
const Parameter * declaredParameter (const ParameterDeclarationSyntax *node) const
 
const Struct * declaredStruct (const StructOrUnionDeclarationSyntax *node) const
 
const Union * declaredUnion (const StructOrUnionDeclarationSyntax *node) const
 
const Enum * declaredEnum (const EnumDeclarationSyntax *node) const
 
const TypeDeclaration * declaredTypeDeclaration (const TypeDeclarationSyntax *node) const
 
const Enumerator * declaredEnumerator (const EnumeratorDeclarationSyntax *node) const
 
std::vector< const Field * > declaredFields (const FieldDeclarationSyntax *node) const
 
std::vector< const Declaration * > declaredDeclarations (const VariableAndOrFunctionDeclarationSyntax *node) const
 
const Declaration * declaredDeclaration (const DeclaratorSyntax *node) const
 

Detailed Description

The SemanticModel class.

Note
This API is inspired by that of Microsoft.CodeAnalysis.SemanticModel from Roslyn, the .NET Compiler Platform.

Member Function Documentation

◆ compilation()

const Compilation * SemanticModel::compilation ( ) const

The Compilation from which this SemanticModel was computed.

◆ declaredDeclaration()

const Declaration * SemanticModel::declaredDeclaration ( const DeclaratorSyntax *  node) const

The Declaration declared by the given DeclaratorSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredDeclarations()

std::vector< const Declaration * > SemanticModel::declaredDeclarations ( const VariableAndOrFunctionDeclarationSyntax *  node) const

The Declaration(s) declared by the given VariableAndOrFunctionDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredEnum()

const Enum * SemanticModel::declaredEnum ( const EnumDeclarationSyntax *  node) const

The Enum declared by the given EnumDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredEnumerator()

const Enumerator * SemanticModel::declaredEnumerator ( const EnumeratorDeclarationSyntax *  node) const

The Enumerator declared by the given EnumeratorDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredFields()

std::vector< const Field * > SemanticModel::declaredFields ( const FieldDeclarationSyntax *  node) const

The Field(s) declared by the given FieldDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredFunction()

const Function * SemanticModel::declaredFunction ( const FunctionDefinitionSyntax *  node) const

The Function declared by the given FunctionDefinitionSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredParameter()

const Parameter * SemanticModel::declaredParameter ( const ParameterDeclarationSyntax *  node) const

The Parameter declared by the given ParameterDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredStruct()

const Struct * SemanticModel::declaredStruct ( const StructOrUnionDeclarationSyntax *  node) const

The Struct declared by the given StructOrUnionDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredTypeDeclaration()

const TypeDeclaration * SemanticModel::declaredTypeDeclaration ( const TypeDeclarationSyntax *  node) const

The TypeDeclaration declared by the given TypeDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ declaredUnion()

const Union * SemanticModel::declaredUnion ( const StructOrUnionDeclarationSyntax *  node) const

The Union declared by the given StructOrUnionDeclarationSyntax node.

Note
Similar to:
  • Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol of Roslyn.

◆ syntaxTree()

const SyntaxTree * SemanticModel::syntaxTree ( ) const

The SyntaxTree from which this SemanticModel was computed.

◆ translationUnit()

const TranslationUnit * SemanticModel::translationUnit ( ) const

The documentation for this class was generated from the following files: