Module: CodeModels
- Defined in:
- lib/codemodels/query_serialized.rb,
lib/codemodels/parsing.rb,
lib/codemodels/version.rb,
lib/codemodels/language.rb,
lib/codemodels/metamodel.rb,
lib/codemodels/foreign_ast.rb,
lib/codemodels/serialization.rb,
lib/codemodels/model_building.rb,
lib/codemodels/info_extraction.rb
Overview
This module permits to manipulate Objects serialized as Hash
Defined Under Namespace
Modules: CodeModelsReflectionInfo, InfoExtraction, ModelBuilding, ParserWrapper, QuerySerialized, Serialization
Classes: CodeModelsAstNode, Language, Parser, ParsingError, Position, SourceInfo, UnknownNodeType
Constant Summary
collapse
- VERSION =
"0.2.2"
- @@languages =
[]
Class Method Summary
collapse
Class Method Details
.enable_foreign_asts(clazz) ⇒ Object
5
6
7
8
9
|
# File 'lib/codemodels/foreign_ast.rb', line 5
def self.enable_foreign_asts(clazz)
clazz.class_eval do
contains_many_uni 'foreign_asts', CodeModelsAstNode
end
end
|
.parse_file(path) ⇒ Object
59
60
61
62
63
|
# File 'lib/codemodels/language.rb', line 59
def self.parse_file(path)
l = @@languages.find {|l| l.can_parse?(path) }
raise "I don't know how to parse #{path}. Languages known: #{@@languages.map(&:name)}" unless l
l.parser.parse_file(path)
end
|
.register_language(language) ⇒ Object
51
52
53
|
# File 'lib/codemodels/language.rb', line 51
def self.register_language(language)
@@languages << language
end
|
.registered_languages ⇒ Object
55
56
57
|
# File 'lib/codemodels/language.rb', line 55
def self.registered_languages
@@languages
end
|