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 SyntaxTreesyntaxTree () const
 
const Compilationcompilation () const
 
const TranslationUnittranslationUnit () const
 
const FunctiondeclaredFunction (const FunctionDefinitionSyntax *node) const
 
const ParameterdeclaredParameter (const ParameterDeclarationSyntax *node) const
 
const StructdeclaredStruct (const StructOrUnionDeclarationSyntax *node) const
 
const UniondeclaredUnion (const StructOrUnionDeclarationSyntax *node) const
 
const EnumdeclaredEnum (const EnumDeclarationSyntax *node) const
 
const TypeDeclarationdeclaredTypeDeclaration (const TypeDeclarationSyntax *node) const
 
const EnumeratordeclaredEnumerator (const EnumeratorDeclarationSyntax *node) const
 
std::vector< const Field * > declaredFields (const FieldDeclarationSyntax *node) const
 
std::vector< const Declaration * > declaredDeclarations (const VariableAndOrFunctionDeclarationSyntax *node) const
 
const DeclarationdeclaredDeclaration (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: