Skip to content

Commit

Permalink
Rename bind_decorate* -> resolve_decorate_*
Browse files Browse the repository at this point in the history
Summary: Following the `resolve_` prefix pattern this renames `bind_decorate_*` to `resolve_decorate_*` as these are used during the declaration pass.

Reviewed By: carljm

Differential Revision: D31580708

fbshipit-source-id: 809cb00
  • Loading branch information
DinoV authored and facebook-github-bot committed Oct 21, 2021
1 parent c502eaf commit 1c6697f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion Lib/compiler/static/declaration_visitor.py
Expand Up @@ -137,7 +137,7 @@ def visitClassDef(self, node: ClassDef) -> None:
break
with self.compiler.error_sink.error_context(self.filename, d):
decorator = self.module.resolve_type(d) or DYNAMIC_TYPE
klass = decorator.bind_decorate_class(klass)
klass = decorator.resolve_decorate_class(klass)

self.enter_scope(NestedScope() if klass is DYNAMIC_TYPE else klass)

Expand Down
2 changes: 1 addition & 1 deletion Lib/compiler/static/module_table.py
Expand Up @@ -175,7 +175,7 @@ def finish_decorator(
res: Optional[Value] = func
for decorator in reversed(node.decorator_list):
decorator_type = self.resolve_decorator(decorator) or DYNAMIC_TYPE
res = decorator_type.bind_decorate_function(res, decorator)
res = decorator_type.resolve_decorate_function(res, decorator)
if res is None:
self.types[node] = UnknownDecoratedMethod(func)
return None
Expand Down
40 changes: 20 additions & 20 deletions Lib/compiler/static/types.py
Expand Up @@ -406,12 +406,12 @@ def resolve_descr_get(
) -> Optional[Value]:
return self

def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
return None

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
return DYNAMIC_TYPE

def bind_subscr(
Expand Down Expand Up @@ -3444,7 +3444,7 @@ def emit_function(


class TypingFinalDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if isinstance(fn, DecoratedMethod):
Expand All @@ -3453,19 +3453,19 @@ def bind_decorate_function(
fn.is_final = True
return TransparentDecoratedMethod(FUNCTION_TYPE, fn, decorator)

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
klass.is_final = True
return klass


class AllowWeakrefsDecorator(Class):
def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
klass.allow_weakrefs = True
return klass


class ClassMethodDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is FUNCTION_TYPE:
Expand All @@ -3481,7 +3481,7 @@ def bind_decorate_function(


class DynamicReturnDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Function | DecoratedMethod:
if isinstance(fn, DecoratedMethod):
Expand All @@ -3500,7 +3500,7 @@ def _set_dynamic_return_type(self, fn: Function) -> None:


class StaticMethodDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is not FUNCTION_TYPE:
Expand All @@ -3517,7 +3517,7 @@ def bind_decorate_function(


class InlineFunctionDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Function | DecoratedMethod:
real_fn = fn.real_function if isinstance(fn, DecoratedMethod) else fn
Expand All @@ -3531,61 +3531,61 @@ def bind_decorate_function(


class DoNotCompileDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
real_fn = fn.real_function if isinstance(fn, DecoratedMethod) else fn
real_fn.donotcompile = True
return TransparentDecoratedMethod(FUNCTION_TYPE, fn, decorator)

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
klass.donotcompile = True
return klass


class PropertyDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is not FUNCTION_TYPE:
return None
return PropertyMethod(fn, decorator)

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
raise TypedSyntaxError(f"Cannot decorate a class with @property")


class CachedPropertyDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is not FUNCTION_TYPE:
return None
return CachedPropertyMethod(fn, decorator)

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
raise TypedSyntaxError(f"Cannot decorate a class with @cached_property")


class AsyncCachedPropertyDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is not FUNCTION_TYPE:
return None
return AsyncCachedPropertyMethod(fn, decorator)

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
raise TypedSyntaxError(f"Cannot decorate a class with @async_cached_property")


class IdentityDecorator(Class):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
return fn

def bind_decorate_class(self, klass: Class) -> Class:
def resolve_decorate_class(self, klass: Class) -> Class:
return klass


Expand Down Expand Up @@ -6832,7 +6832,7 @@ def make_subclass(self, name: TypeName, bases: List[Class]) -> Class:


class ContextDecoratorInstance(Object[ContextDecoratorClass]):
def bind_decorate_function(
def resolve_decorate_function(
self, fn: Function | DecoratedMethod, decorator: expr
) -> Optional[Function | DecoratedMethod]:
if fn.klass is FUNCTION_TYPE:
Expand Down

0 comments on commit 1c6697f

Please sign in to comment.