Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "json"
- module Crystal::API
- class RelativeLocation
- JSON.mapping({
- filename: String,
- line_number: Int32,
- url: String
- })
- end
- class Type
- JSON.mapping({
- html_id: String,
- path: String,
- kind: String,
- full_name: String,
- name: String,
- abstract: Bool,
- superclass: TypeRef?,
- ancestors: Array(TypeRef),
- locations: Array(RelativeLocation),
- repository_name: String,
- program: Bool,
- enum: Bool,
- alias: Bool,
- aliased: String,
- const: Bool,
- constants: Array(Constant),
- included_modules: Array(TypeRef),
- extended_modules: Array(TypeRef),
- subclasses: Array(TypeRef),
- including_types: Array(TypeRef),
- namespace: TypeRef?,
- doc: String?,
- summary: String?,
- class_methods: Array(Method),
- constructors: Array(Method),
- instance_methods: Array(Method),
- macros: Array(Macro),
- types: Array(Type),
- })
- end
- class TypeRef
- JSON.mapping({
- html_id: String?,
- kind: String,
- full_name: String,
- name: String
- })
- end
- class Constant
- JSON.mapping({
- name: String,
- value: String,
- doc: String?,
- summary: String?
- })
- end
- class Macro
- JSON.mapping({
- id: String,
- html_id: String,
- name: String,
- doc: String?,
- summary: String?,
- abstract: Bool,
- args: Array(Argument),
- args_string: String,
- source_link: String?,
- def: CrystalMacro,
- })
- end
- class Method
- JSON.mapping({
- id: String,
- html_id: String,
- name: String,
- doc: String?,
- summary: String?,
- abstract: Bool,
- args: Array(Argument),
- args_string: String,
- source_link: String?,
- def: CrystalDef,
- })
- end
- class Argument
- JSON.mapping({
- name: String,
- doc: String?,
- default_value: String,
- external_name: String,
- restriction: String
- })
- end
- class CrystalDef
- JSON.mapping({
- name: String,
- args: Array(Argument),
- double_splat: Argument?,
- splat_index: Int32?,
- yields: Int32?,
- block_arg: Argument?,
- return_type: String,
- visibility: String,
- body: String
- })
- end
- class CrystalMacro
- JSON.mapping({
- args: Array(Argument),
- double_splat: Argument?,
- splat_index: Int32?,
- block_arg: Argument?,
- visibility: String,
- body: String
- })
- end
- end
Add Comment
Please, Sign In to add comment