google / google/closure-compiler
Getters should be inlined
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
[Example](https://closure-compiler-debugger.appspot.com/#input0%3Dclass%2520Foo%2520%257B%250A%2520%2520x()%2520%257B%2520return%252042%253B%2520%257D%250A%2520%2520get%2520y()%2520%257B%2520return%252053%253B%2520%257D%250A%257D%250A%250Aconsole.log(new%2520Foo().x())%253B%250Aconsole.log(new%2520Foo().y)%253B%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_SYMBOLS%3D1%26MISSING_PROPERTIES%3D1%26TRANSPILE%3D1%26CHECK_TYPES%3D1%26COMPUTE_FUNCTION_SIDE_EFFECTS%3D1%26FOLD_CONSTANTS%3D1%26DEAD_ASSIGNMENT_ELIMINATION%3D1%26INLINE_CONSTANTS%3D1%26INLINE_FUNCTIONS%3D1%26COALESCE_VARIABLE_NAMES%3D1%26INLINE_VARIABLES%3D1%26FLOW_SENSITIVE_INLINE_VARIABLES%3D1%26INLINE_PROPERTIES%3D1%26SMART_NAME_REMOVAL%3D1%26REMOVE_DEAD_CODE%3D1%26EXTRACT_PROTOTYPE_MEMBER_DECLARATIONS%3D1%26REMOVE_ABSTRACT_METHODS%3D1%26REMOVE_UNUSED_PROTOTYPE_PROPERTIES%3D1%26REMOVE_UNUSED_CLASS_PROPERTIES%3D1%26REMOVE_UNUSED_PROTOTYPE_PROPERTIES_IN_EXTERNS%3D1%26REMOVE_UNUSED_VARIABLES%3D1%26COLLAPSE_VARIABLE_DECLARATIONS%3D1%26COLLAPSE_ANONYMOUS_FUNCTIONS%3D1%26ALIAS_ALL_STRINGS%3D1%26CONVERT_TO_DOTTED_PROPERTIES%3D1%26USE_TYPES_FOR_LOCAL_OPTIMIZATION%3D1%26LABEL_RENAMING%3D1%26COLLAPSE_PROPERTIES%3D1%26DEVIRTUALIZE_PROTOTYPE_METHODS%3D1%26REWRITE_FUNCTION_EXPRESSIONS%3D1%26DISAMBIGUATE_PROPERTIES%3D1%26AMBIGUATE_PROPERTIES%3D1%26VARIABLE_RENAMING%3D1%26PROPERTY_RENAMING%3D1%26OPTIMIZE_CALLS%3D1%26OPTIMIZE_PARAMETERS%3D1%26OPTIMIZE_RETURNS%3D1%26MOVE_FUNCTION_DECLARATIONS%3D1%26MARK_NO_SIDE_EFFECT_CALLS%3D1%26CROSS_MODULE_CODE_MOTION%3D1%26CROSS_MODULE_METHOD_MOTION%3D1%26SYNTHETIC_BLOCK_MARKER%3D1%26CLOSURE_PASS%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26PRETTY_PRINT%3D1)
```js
class Foo {
x() { return 42; }
get y() { return 53; }
}
console.log(new Foo().x());
console.log(new Foo().y);
```
The getter should inline just like the function call, but currently the compiler doesn't understand getters as well as functions.
Contributor guide
Assessment
This issue has not been assessed yet.