зеркало из https://github.com/microsoft/clang-1.git
Driver: Provide food and shelter for Action vtables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66978 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
0d794b20b9
Коммит
f40ed17472
|
@ -84,8 +84,7 @@ public:
|
|||
class InputAction : public Action {
|
||||
const Arg &Input;
|
||||
public:
|
||||
InputAction(const Arg &_Input, types::ID _Type) : Action(InputClass, _Type),
|
||||
Input(_Input) {}
|
||||
InputAction(const Arg &_Input, types::ID _Type);
|
||||
|
||||
const Arg &getInputArg() const { return Input; }
|
||||
|
||||
|
@ -99,9 +98,7 @@ class BindArchAction : public Action {
|
|||
const char *ArchName;
|
||||
|
||||
public:
|
||||
BindArchAction(Action *Input, const char *_ArchName)
|
||||
: Action(BindArchClass, Input, Input->getType()), ArchName(_ArchName) {
|
||||
}
|
||||
BindArchAction(Action *Input, const char *_ArchName);
|
||||
|
||||
const char *getArchName() const { return ArchName; }
|
||||
|
||||
|
@ -113,10 +110,8 @@ public:
|
|||
|
||||
class JobAction : public Action {
|
||||
protected:
|
||||
JobAction(ActionClass Kind, Action *Input, types::ID Type)
|
||||
: Action(Kind, Input, Type) {}
|
||||
JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type)
|
||||
: Action(Kind, Inputs, Type) {}
|
||||
JobAction(ActionClass Kind, Action *Input, types::ID Type);
|
||||
JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type);
|
||||
|
||||
public:
|
||||
static bool classof(const Action *A) {
|
||||
|
@ -128,9 +123,7 @@ public:
|
|||
|
||||
class PreprocessJobAction : public JobAction {
|
||||
public:
|
||||
PreprocessJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(PreprocessJobClass, Input, OutputType) {
|
||||
}
|
||||
PreprocessJobAction(Action *Input, types::ID OutputType);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == PreprocessJobClass;
|
||||
|
@ -140,9 +133,7 @@ public:
|
|||
|
||||
class PrecompileJobAction : public JobAction {
|
||||
public:
|
||||
PrecompileJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(PrecompileJobClass, Input, OutputType) {
|
||||
}
|
||||
PrecompileJobAction(Action *Input, types::ID OutputType);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == PrecompileJobClass;
|
||||
|
@ -152,9 +143,7 @@ public:
|
|||
|
||||
class AnalyzeJobAction : public JobAction {
|
||||
public:
|
||||
AnalyzeJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(AnalyzeJobClass, Input, OutputType) {
|
||||
}
|
||||
AnalyzeJobAction(Action *Input, types::ID OutputType);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == AnalyzeJobClass;
|
||||
|
@ -164,9 +153,7 @@ public:
|
|||
|
||||
class CompileJobAction : public JobAction {
|
||||
public:
|
||||
CompileJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(CompileJobClass, Input, OutputType) {
|
||||
}
|
||||
CompileJobAction(Action *Input, types::ID OutputType);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == CompileJobClass;
|
||||
|
@ -176,9 +163,7 @@ public:
|
|||
|
||||
class AssembleJobAction : public JobAction {
|
||||
public:
|
||||
AssembleJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(AssembleJobClass, Input, OutputType) {
|
||||
}
|
||||
AssembleJobAction(Action *Input, types::ID OutputType);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == AssembleJobClass;
|
||||
|
@ -188,8 +173,7 @@ public:
|
|||
|
||||
class LinkJobAction : public JobAction {
|
||||
public:
|
||||
LinkJobAction(ActionList &Inputs, types::ID Type)
|
||||
: JobAction(LinkJobClass, Inputs, Type) {}
|
||||
LinkJobAction(ActionList &Inputs, types::ID Type);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == LinkJobClass;
|
||||
|
@ -199,8 +183,7 @@ public:
|
|||
|
||||
class LipoJobAction : public JobAction {
|
||||
public:
|
||||
LipoJobAction(ActionList &Inputs, types::ID Type)
|
||||
: JobAction(LipoJobClass, Inputs, Type) {}
|
||||
LipoJobAction(ActionList &Inputs, types::ID Type);
|
||||
|
||||
static bool classof(const Action *A) {
|
||||
return A->getKind() == LipoJobClass;
|
||||
|
|
|
@ -30,3 +30,47 @@ const char *Action::getClassName(ActionClass AC) {
|
|||
assert(0 && "invalid class");
|
||||
return 0;
|
||||
}
|
||||
|
||||
InputAction::InputAction(const Arg &_Input, types::ID _Type)
|
||||
: Action(InputClass, _Type), Input(_Input) {
|
||||
}
|
||||
|
||||
BindArchAction::BindArchAction(Action *Input, const char *_ArchName)
|
||||
: Action(BindArchClass, Input, Input->getType()), ArchName(_ArchName) {
|
||||
}
|
||||
|
||||
JobAction::JobAction(ActionClass Kind, Action *Input, types::ID Type)
|
||||
: Action(Kind, Input, Type) {
|
||||
}
|
||||
|
||||
JobAction::JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type)
|
||||
: Action(Kind, Inputs, Type) {
|
||||
}
|
||||
|
||||
PreprocessJobAction::PreprocessJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(PreprocessJobClass, Input, OutputType) {
|
||||
}
|
||||
|
||||
PrecompileJobAction::PrecompileJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(PrecompileJobClass, Input, OutputType) {
|
||||
}
|
||||
|
||||
AnalyzeJobAction::AnalyzeJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(AnalyzeJobClass, Input, OutputType) {
|
||||
}
|
||||
|
||||
CompileJobAction::CompileJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(CompileJobClass, Input, OutputType) {
|
||||
}
|
||||
|
||||
AssembleJobAction::AssembleJobAction(Action *Input, types::ID OutputType)
|
||||
: JobAction(AssembleJobClass, Input, OutputType) {
|
||||
}
|
||||
|
||||
LinkJobAction::LinkJobAction(ActionList &Inputs, types::ID Type)
|
||||
: JobAction(LinkJobClass, Inputs, Type) {
|
||||
}
|
||||
|
||||
LipoJobAction(ActionList &Inputs, types::ID Type)
|
||||
: JobAction(LipoJobClass, Inputs, Type) {
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче