@@ -4718,3 +4718,121 @@ class DCMeta(type): ...
47184718
47194719class DC(metaclass=DCMeta):
47204720 x: str
4721+
4722+ [case testPydanticBaseModel]
4723+ import pydantic
4724+
4725+ class User(pydantic.BaseModel):
4726+ id: int
4727+ name: str
4728+ active: bool = True
4729+ optional_field: str | None = None
4730+ [out]
4731+ import pydantic
4732+
4733+ class User(pydantic.BaseModel):
4734+ id: int
4735+ name: str
4736+ active: bool = ...
4737+ optional_field: str | None = ...
4738+
4739+ [case testPydanticBaseModelWithAnnotationsOnly]
4740+ import pydantic
4741+
4742+ class ConfigSettings(pydantic.BaseModel):
4743+ # Fields without initialization
4744+ db_name: str
4745+ port: int
4746+ debug: bool
4747+ [out]
4748+ import pydantic
4749+
4750+ class ConfigSettings(pydantic.BaseModel):
4751+ db_name: str
4752+ port: int
4753+ debug: bool
4754+
4755+ [case testPydanticNestedBaseModel]
4756+ from pydantic import BaseModel
4757+
4758+ class Address(BaseModel):
4759+ street: str
4760+ city: str
4761+
4762+ class User(BaseModel):
4763+ name: str
4764+ age: int
4765+ address: Address | None = None
4766+ [out]
4767+ from pydantic import BaseModel
4768+
4769+ class Address(BaseModel):
4770+ street: str
4771+ city: str
4772+
4773+ class User(BaseModel):
4774+ name: str
4775+ age: int
4776+ address: Address | None = ...
4777+
4778+ [case testPydanticBaseModelComplex]
4779+ from pydantic import BaseModel
4780+ from typing import Dict, List, Optional, Union
4781+
4782+ class Item(BaseModel):
4783+ name: str
4784+ description: Optional[str] = None
4785+ tags: List[str] = []
4786+ properties: Dict[str, Union[str, int, float, bool]] = {}
4787+ [out]
4788+ from pydantic import BaseModel
4789+
4790+ class Item(BaseModel):
4791+ name: str
4792+ description: str | None = ...
4793+ tags: list[str] = ...
4794+ properties: dict[str, str | int | float | bool] = ...
4795+
4796+ [case testPydanticBaseModelInheritance]
4797+ from pydantic import BaseModel
4798+
4799+ class BaseUser(BaseModel):
4800+ id: int
4801+ active: bool = True
4802+
4803+ class User(BaseUser):
4804+ name: str
4805+ email: str
4806+ [out]
4807+ from pydantic import BaseModel
4808+
4809+ class BaseUser(BaseModel):
4810+ id: int
4811+ active: bool = ...
4812+
4813+ class User(BaseUser):
4814+ name: str
4815+ email: str
4816+
4817+ [case testPydanticModelWithMethods]
4818+ from pydantic import BaseModel
4819+
4820+ class User(BaseModel):
4821+ id: int
4822+ name: str
4823+
4824+ def get_display_name(self) -> str:
4825+ return f"User {self.name}"
4826+
4827+ @property
4828+ def display_id(self) -> str:
4829+ return f"ID: {self.id}"
4830+ [out]
4831+ from pydantic import BaseModel
4832+
4833+ class User(BaseModel):
4834+ id: int
4835+ name: str
4836+ def get_display_name(self) -> str: ...
4837+ @property
4838+ def display_id(self) -> str: ...
0 commit comments