ShaderVariable(const std::string &);
void resolve(const VariableDefinition &);
void resolve(ShaderVariable &);
ShaderVariable(const std::string &);
void resolve(const VariableDefinition &);
void resolve(ShaderVariable &);
void add_reference(ShaderVariable &);
void update_reference(ShaderVariable &, ShaderVariable &);
void check_inline(bool, bool);
bool is_referenced_from(VariableScope) const;
InterfaceFlags get_interface_flags(VariableScope) const;
void add_reference(ShaderVariable &);
void update_reference(ShaderVariable &, ShaderVariable &);
void check_inline(bool, bool);
bool is_referenced_from(VariableScope) const;
InterfaceFlags get_interface_flags(VariableScope) const;
- std::string create_declaration(char = 0) const;
- std::string create_replacement(VariableScope) const;
- std::string create_expression() const;
+ std::string create_type_declaration() const;
+ std::string create_declaration(char = 0, bool = false) const;
+ std::string create_replacement(VariableScope, const char * = 0) const;
+ std::string create_expression(const char * = 0) const;
private:
std::string create_source(const std::list<ShaderVariable *> &, VariableScope) const;
bool evaluate_flags(const char *) const;
private:
std::string create_source(const std::list<ShaderVariable *> &, VariableScope) const;
bool evaluate_flags(const char *) const;
- static MatchLevel name_match(const char *, const char *, const char ** = 0);
+ static const char *unqualified_name(const char *);
+ static MatchType name_match(const char *, const char *, const char ** = 0);
static bool parse_identifier(const char *, unsigned &, unsigned &);
static std::vector<std::string> extract_identifiers(const char *);
static std::string replace_identifiers(const char *, const std::map<std::string, std::string> &);
static bool parse_identifier(const char *, unsigned &, unsigned &);
static std::vector<std::string> extract_identifiers(const char *);
static std::string replace_identifiers(const char *, const std::map<std::string, std::string> &);