llvm-svn: 38822
This commit is contained in:
Chris Lattner 2006-08-05 23:08:14 +00:00
parent 971c6b681a
commit 2df305abfa
2 changed files with 57 additions and 0 deletions

View File

@ -10,6 +10,7 @@
DE06B73E0A8307640050E87E /* LangOptions.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06B73D0A8307640050E87E /* LangOptions.h */; };
DE06BEC90A854E390050E87E /* Scope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE06BEC80A854E390050E87E /* Scope.cpp */; };
DE06BECB0A854E4B0050E87E /* Scope.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06BECA0A854E4B0050E87E /* Scope.h */; };
DE06BEF40A8558200050E87E /* Decl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06BEF30A8558200050E87E /* Decl.h */; };
DE1F22030A7D852A00FBF588 /* Parser.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE1F22020A7D852A00FBF588 /* Parser.h */; };
DE1F22200A7D879000FBF588 /* ParserActions.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE1F221F0A7D879000FBF588 /* ParserActions.h */; };
DE1F24700A7DC99000FBF588 /* Actions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE1F246D0A7DC99000FBF588 /* Actions.cpp */; };
@ -101,6 +102,7 @@
DE1F24820A7DCD3800FBF588 /* Declarations.h in CopyFiles */,
DE06B73E0A8307640050E87E /* LangOptions.h in CopyFiles */,
DE06BECB0A854E4B0050E87E /* Scope.h in CopyFiles */,
DE06BEF40A8558200050E87E /* Decl.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 1;
};
@ -111,6 +113,7 @@
DE06B73D0A8307640050E87E /* LangOptions.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = LangOptions.h; sourceTree = "<group>"; };
DE06BEC80A854E390050E87E /* Scope.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Scope.cpp; path = Parse/Scope.cpp; sourceTree = "<group>"; };
DE06BECA0A854E4B0050E87E /* Scope.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Scope.h; path = clang/Parse/Scope.h; sourceTree = "<group>"; };
DE06BEF30A8558200050E87E /* Decl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Decl.h; path = clang/Parse/Decl.h; sourceTree = "<group>"; };
DE1F22020A7D852A00FBF588 /* Parser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Parser.h; path = clang/Parse/Parser.h; sourceTree = "<group>"; };
DE1F221F0A7D879000FBF588 /* ParserActions.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ParserActions.h; path = clang/Parse/ParserActions.h; sourceTree = "<group>"; };
DE1F246D0A7DC99000FBF588 /* Actions.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Actions.cpp; path = Parse/Actions.cpp; sourceTree = "<group>"; };
@ -209,6 +212,7 @@
isa = PBXGroup;
children = (
DE1F24810A7DCD3800FBF588 /* Declarations.h */,
DE06BEF30A8558200050E87E /* Decl.h */,
DE1F22020A7D852A00FBF588 /* Parser.h */,
DE1F221F0A7D879000FBF588 /* ParserActions.h */,
DE06BECA0A854E4B0050E87E /* Scope.h */,

View File

@ -0,0 +1,53 @@
//===--- Decl.h - Classes for representing declarations ---------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Chris Lattner and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the Decl interface and subclasses.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CLANG_PARSE_DECL_H
#define LLVM_CLANG_PARSE_DECL_H
#include "clang/ADT/SourceLocation.h"
namespace llvm {
namespace clang {
/// Decl - This represents one declaration (or definition), e.g. a variable,
/// typedef, function, struct, etc.
///
class Decl {
/// Identifier - The identifier for this declaration (e.g. the name for the
/// variable, the tag for a struct).
IdentifierInfo *Identifier;
/// Type.
/// Kind.
/// Loc - The location of the declaration in the source code.
///
SourceLocation Loc;
/// Next - Decls are chained together in a singly-linked list by their owning
/// object. Currently we allow decls to be owned by a translation unit or a
/// function. This way we can deallocate a function body and all the
/// declarations within it.
Decl *Next;
public:
Decl(IdentifierInfo *Id, SourceLocation loc, Decl *next)
: Identifier(Id), Loc(loc), Next(next) {}
};
} // end namespace clang
} // end namespace llvm
#endif