Changeset 82dd287


Ignore:
Timestamp:
Jul 9, 2015, 3:07:22 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, string, with_gc
Children:
cff1143
Parents:
413f7f8
git-author:
Aaron Moss <a3moss@…> (07/08/15 16:16:21)
git-committer:
Aaron Moss <a3moss@…> (07/09/15 15:07:22)
Message:

Doc comments

Location:
src
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/FixNames.h

    r413f7f8 r82dd287  
    2020
    2121namespace CodeGen {
     22        /// mangles object and function names
    2223        void fixNames( std::list< Declaration* > translationUnit );
    2324} // namespace CodeGen
  • src/CodeGen/Generate.h

    r413f7f8 r82dd287  
    2323
    2424namespace CodeGen {
     25        /// Generates code
    2526        void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics );
    2627} // namespace CodeGen
  • src/ControlStruct/CaseRangeMutator.h

    r413f7f8 r82dd287  
    2222
    2323namespace ControlStruct {
     24        /// expand case ranges and turn fallthru into a null statement
    2425        class CaseRangeMutator : public Mutator {
    2526          public:
  • src/ControlStruct/ChooseMutator.h

    r413f7f8 r82dd287  
    2222
    2323namespace ControlStruct {
     24        /// transform choose statements into switch statements
    2425        class ChooseMutator : public Mutator {
    2526          public:
  • src/ControlStruct/LabelFixer.h

    r413f7f8 r82dd287  
    2525
    2626namespace ControlStruct {
     27        /// normalizes label definitions and generates multi-level exit labels
    2728        class LabelFixer : public Visitor {
    2829                typedef Visitor Parent;
  • src/ControlStruct/Mutate.h

    r413f7f8 r82dd287  
    2323
    2424namespace ControlStruct {
     25        /// Desugars Cforall control structures
    2526        void mutate( std::list< Declaration* > translationUnit );
    2627} // namespace ControlStruct
  • src/GenPoly/Box.cc

    r413f7f8 r82dd287  
    204204                }
    205205
    206                 DeclarationWithType *
    207                 Pass1::mutate( FunctionDecl *functionDecl ) {
     206                DeclarationWithType *Pass1::mutate( FunctionDecl *functionDecl ) {
    208207                        if ( functionDecl->get_statements() ) {
    209208                                TyVarMap oldtyVars = scopeTyVars;
  • src/GenPoly/Box.h

    r413f7f8 r82dd287  
    2121
    2222namespace GenPoly {
     23        /// boxes polymorphic function calls
    2324        void box( std::list< Declaration* >& translationUnit );
    2425} // namespace GenPoly
  • src/GenPoly/CopyParams.h

    r413f7f8 r82dd287  
    2020
    2121namespace GenPoly {
     22        /// Clones by-value parameters which have been passed by-reference for polymorphism
    2223        void copyParams( std::list< Declaration* > &translationUnit );
    2324} // namespace GenPoly
  • src/GenPoly/Lvalue.h

    r413f7f8 r82dd287  
    2222
    2323namespace GenPoly {
     24        /// replaces return type of `lvalue T` with `T*`, along with appropriate address-of and dereference operators
    2425        void convertLvalue( std::list< Declaration* >& translationUnit );
    2526} // namespace GenPoly
  • src/GenPoly/Specialize.h

    r413f7f8 r82dd287  
    2222
    2323namespace GenPoly {
     24        /// generates thunks where needed
    2425        void convertSpecializations( std::list< Declaration* >& translationUnit );
    2526} // namespace GenPoly
  • src/ResolvExpr/Resolver.h

    r413f7f8 r82dd287  
    2121
    2222namespace ResolvExpr {
     23        /// Checks types and binds syntactic constructs to typed representations
    2324        void resolve( std::list< Declaration * > translationUnit );
    2425        Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer );
  • src/SymTab/FixFunction.h

    r413f7f8 r82dd287  
    2020
    2121namespace SymTab {
     22        /// Replaces function and array types by equivalent pointer types.
    2223        class FixFunction : public Mutator {
    2324                typedef Mutator Parent;
  • src/SymTab/Validate.cc

    r413f7f8 r82dd287  
    6060        class HoistStruct : public Visitor {
    6161          public:
     62                /// Flattens nested struct types
    6263                static void hoistStruct( std::list< Declaration * > &translationUnit );
    6364 
     
    8485        };
    8586
     87        /// Replaces enum types by int, and function or array types in function parameter and return lists by appropriate pointers
    8688        class Pass1 : public Visitor {
    8789                typedef Visitor Parent;
     
    8991                virtual void visit( FunctionType *func );
    9092        };
    91  
     93
     94        /// Associates forward declarations of aggregates with their definitions
    9295        class Pass2 : public Indexer {
    9396                typedef Indexer Parent;
     
    110113        };
    111114
     115        /// Replaces array and function types in forall lists by appropriate pointer type
    112116        class Pass3 : public Indexer {
    113117                typedef Indexer Parent;
     
    123127        class AddStructAssignment : public Visitor {
    124128          public:
     129                /// Generates assignment operators for aggregate types as required
    125130                static void addStructAssignment( std::list< Declaration * > &translationUnit );
    126131
     
    433438        }
    434439
     440        /// Fix up assertions
    435441        void forallFixer( Type *func ) {
    436                 // Fix up assertions
    437442                for ( std::list< TypeDecl * >::iterator type = func->get_forall().begin(); type != func->get_forall().end(); ++type ) {
    438443                        std::list< DeclarationWithType * > toBeDone, nextRound;
  • src/SymTab/Validate.h

    r413f7f8 r82dd287  
    2323        class Indexer;
    2424
     25        /// Normalizes struct and function declarations
    2526        void validate( std::list< Declaration * > &translationUnit, bool doDebug = false );
    2627        void validateType( Type *type, const Indexer *indexer );
  • src/SynTree/TypeSubstitution.h

    r413f7f8 r82dd287  
    157157}
    158158
    159 // helper function
     159/// Instantiate each member of the context given the actual parameters specified, and store the
     160/// instantiations for use by the indexer
    160161template< typename FormalIterator, typename ActualIterator, typename MemberIterator, typename OutputIterator >
    161162void applySubstitution( FormalIterator formalBegin, FormalIterator formalEnd, ActualIterator actual, MemberIterator memberBegin, MemberIterator memberEnd, OutputIterator out ) {
    162         // Instantiate each member of the context given the actual parameters specified, and store the
    163         // instantiations for use by the indexer
    164 
    165163        TypeSubstitution sub = TypeSubstitution( formalBegin, formalEnd, actual );
    166164        for ( std::list< Declaration* >::iterator i = memberBegin; i != memberEnd; ++i ) {
Note: See TracChangeset for help on using the changeset viewer.