Skip to main content

Gen

Trait Gen 

Source
pub trait Gen: GetSpan {
    // Required method
    fn gen(&self, p: &mut Codegen<'_>, ctx: Context);

    // Provided method
    fn print(&self, p: &mut Codegen<'_>, ctx: Context) { ... }
}
Expand description

Generate source code for an AST node.

Required Methods§

Source

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Generate code for an AST node.

Provided Methods§

Source

fn print(&self, p: &mut Codegen<'_>, ctx: Context)

Generate code for an AST node. Alias for gen.

Implementations on Foreign Types§

Source§

impl Gen for Argument<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ArrayExpressionElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTarget<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetMaybeDefault<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetPattern<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for BindingPattern<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ClassElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ExportDefaultDeclarationKind<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ForStatementInit<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ForStatementLeft<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ModuleExportName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ObjectPropertyKind<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for PropertyKey<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for Statement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXAttributeItem<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXAttributeName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXAttributeValue<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXChild<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXElementName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXExpression<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXMemberExpressionObject<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSImportTypeQualifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSLiteral<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSModuleDeclarationName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSModuleReference<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSSignature<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTupleElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeQueryExprName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AccessorProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ArrayAssignmentTarget<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ArrayExpression<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ArrayPattern<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentPattern<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetPropertyIdentifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetPropertyProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetRest<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for AssignmentTargetWithDefault<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for BindingIdentifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for BindingProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for BindingRestElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for BlockStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for BreakStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for CatchClause<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for Class<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ClassBody<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ContinueStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for DebuggerStatement

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for Directive<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for DoWhileStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for EmptyStatement

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for ExportAllDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ExportDefaultDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ExportNamedDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ExportSpecifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ExpressionStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for ForInStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ForOfStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ForStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for FormalParameter<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for FormalParameterRest<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for FormalParameters<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for Function<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for FunctionBody<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for Hashbang<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for IdentifierName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for IdentifierReference<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for IfStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ImportAttribute<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for ImportDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for LabelIdentifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for LabeledStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for MetaProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for MethodDefinition<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ObjectAssignmentTarget<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ObjectPattern<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ObjectProperty<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for PrivateIdentifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for Program<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for PropertyDefinition<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for ReturnStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for SpreadElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for StaticBlock<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for Super

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for SwitchCase<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for SwitchStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TaggedTemplateExpression<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TemplateLiteral<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for ThisExpression

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for ThrowStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for TryStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for VariableDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for VariableDeclarator<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for WhileStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for WithClause<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for WithStatement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXAttribute<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXClosingFragment

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXElement<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXEmptyExpression

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXExpressionContainer<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXFragment<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXIdentifier<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXMemberExpression<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXNamespacedName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSXOpeningFragment

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXSpreadAttribute<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXSpreadChild<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSXText<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for BooleanLiteral

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for NullLiteral

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for RegExpLiteral<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for StringLiteral<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for Decorator<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, _ctx: Context)

Source§

impl Gen for JSDocNonNullableType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for JSDocNullableType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSArrayType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSClassImplements<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSConditionalType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSConstructorType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSEnumBody<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSEnumDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSEnumMember<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSExportAssignment<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSFunctionType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSGlobalDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSImportEqualsDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSImportType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSImportTypeQualifiedName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSIndexSignature<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSIndexedAccessType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSInferType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSInterfaceDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSInterfaceHeritage<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSIntersectionType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSMappedType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSModuleBlock<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSModuleDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSNamedTupleMember<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSNamespaceExportDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSParenthesizedType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSPropertySignature<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSQualifiedName<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTemplateLiteralType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSThisParameter<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTupleType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeAliasDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeAnnotation<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeLiteral<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeOperator<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeParameter<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeParameterDeclaration<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeParameterInstantiation<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypePredicate<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeQuery<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSTypeReference<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Source§

impl Gen for TSUnionType<'_>

Source§

fn gen(&self, p: &mut Codegen<'_>, ctx: Context)

Implementors§