hphp/hack/src/parser/core/expression_parser.rs (55 lines): - line 303: // TODO: Increase the coverage of PrecedenceParser.expects_next, so that - line 503: // TODO: This is a PHP-ism. Open questions: - line 511: // TODO: The original Hack and HHVM parsers accept "eval" as an - line 527: // TODO: This is a PHP-ism. Open questions: - line 536: // TODO: The original Hack and HHVM parsers accept "isset" as an - line 764: // TODO: What about ?-> - line 769: // TODO: Consider updating the specification. - line 793: // TODO: We need to produce errors if there are unbalanced brackets, - line 796: // TODO: Similarly for any non-valid thing following the left bracket, - line 802: // TODO: Assert that new head has no leading trivia, old head has no - line 806: // TODO: Is this invariant what we want? We could preserve the parse of - line 812: // TODO: Similarly we might want to preserve the structure of - line 845: // TODO: Make a "position" type that is a tuple of source and offset. - line 973: // TODO: What about "{$$}" ? - line 986: // TODO: Is this right? Suppose we have "{${x}". Is that the same - line 988: // TODO: Give an error. - line 990: // TODO: Give a warning? - line 999: // TODO: This should be an error in strict mode. - line 1013: // TODO: Enforce these rules by producing an error if they are - line 1015: // TODO: Make the parse tree for the leading word in the expression - line 1029: // TODO: Give a warning? - line 1093: // TODO: We allow "include" and "include_once" as well, which are PHP-isms - line 1097: // TODO: Produce an error if this is used in an expression context - line 1301: // TODO Add an error if PHP style <> is used in Hack. - line 1418: // TODO: Produce an error if the braced syntax is used in Hack. - line 1422: // TODO: We are putting the name / variable into the tree as a token - line 1471: // TODO: Produce an error for brace case in a later pass - line 1506: // TODO: This business of allowing ... does not appear in the spec. Add it. - line 1508: // TODO: Add call-convention-opt to the specification. - line 1511: // TODO: Update grammar for inout parameters. - line 1521: // TODO: Can *any* expression appear after the ... ? - line 1576: // TODO: Update the spec to allow qualified-name < type arguments > - line 1577: // TODO: This will need to be fixed to allow situations where the qualified name - line 1623: // TODO: We need to verify in a later pass that the expression is a - line 1645: // TODO: SPEC ERROR: PHP allows the entire expression list to be omitted, - line 1778: // TODO: This implies that a cast "(name)" can only be a simple name, but - line 1836: // TODO: There could be situations where we have good evidence that a - line 1963: // TODO: Operand to ++ and -- must be an lvalue. - line 2217: // TODO: Add this to the XHP draft specification. - line 2314: // TODO: This fact is not represented in the specification; it should be. - line 2370: // TODO: Produce an error later if the expressions in the list destructuring - line 2424: // TODO: Create the grammar and add it to the spec. - line 2433: // TODO: Create the grammar and add it to the spec. - line 2434: // TODO: Can the list have a trailing comma? - line 2451: // TODO: Create the grammar and add it to the spec. - line 2460: // TODO: Create the grammar and add it to the spec. - line 2461: // TODO: Can the list have a trailing comma? - line 2540: // TODO: Can the list be comma-terminated? If so, update the spec. - line 2541: // TODO: We need to produce an error in a later pass if the list is empty. - line 2562: // TODO: The original Hack parser accepts "async" as an identifier, and - line 2589: // TODO awaitable-creation-expression must not be used as the - line 2885: // TODO: Check that the given and name_text are the same. - line 2926: // TODO: For now we'll just bail out. We could use a more - line 3064: // TODO: The left hand side can in fact be any expression in this parser; - line 3067: // TODO: The right hand side, if a name or a variable, is treated as a hphp/hack/src/parser/core/declaration_parser.rs (43 lines): - line 227: // TODO: SPEC ERROR: The spec states that the only legal enum types - line 474: // TODO: Add the grammar for the namespace-use-clauses; ensure that it - line 491: // TODO: Update the grammar comment above when the specification is fixed. - line 524: // TODO: An error case not caught by the parser that should be caught - line 541: // TODO: Death to PHPisms; keywords as namespace names - line 718: // TODO: Can the type name be of the form "foo::bar"? Those do not - line 726: // TODO: This is one of the rare cases in Hack where a comma-separated list - line 771: // TODO: ERROR RECOVERY: consider bailing if the token cannot possibly - line 792: // TODO: The parenthesized list of children expressions is NOT allowed - line 957: // TODO: What are the semantics of encapsulated expressions in double-quoted - line 1057: // TODO: The list of attributes may NOT be terminated with a trailing comma - line 1062: // TODO: Better error message. - line 1109: // TODO: What about "require extends :foo;" ? - line 1110: // TODO: The spec is incomplete; we need to be able to parse - line 1113: // TODO: Check whether we also need to handle - line 1388: // TODO: We allow const names to be keywords here; in particular we - line 1527: // TODO: The list of attrs can have a trailing comma. Update the spec. - line 1528: // TODO: The list of values can have a trailing comma. Update the spec. - line 1601: // TODO: The specification is wrong in several respects concerning - line 1653: // TODO: Add call-convention-opt to the specification. - line 1656: // TODO: Update grammar for inout parameters. - line 1708: // TODO: This is wrong. The variable here is not anexpression* that has - line 1739: // TODO: Add this to the specification. - line 1757: // TODO: Add this to the specification. - line 1784: // TODO: Detect if expression is not const - line 1808: // TODO: Put this in the specification - line 1822: // TODO: Give parse error - line 1830: // TODO: Put this in the specification - line 1855: // TODO: Add this to the specification - line 1883: // TODO: The spec does not specify "where" clauses. Add them. - line 2095: // TODO: Is this the right error recovery? - line 2175: // TODO: This is wrong; we have lost the attribute specification - line 2200: // TODO: We may wish to parse "T $x" and give an error indicating - line 2201: // TODO: that we were expecting either const or public. - line 2208: // TODO: Hack requires a visibility modifier, unless "static" is supplied, - line 2209: // TODO: in which case the method is considered to be public. Is this - line 2210: // TODO: desired? Resolve this disagreement with the spec. - line 2278: // TODO ERROR RECOVERY could be improved here. - line 2368: // TODO: Add an error to a later pass that determines the value is - line 2371: // TODO: We must allow TRUE to be a legal enum member name; here we allow - line 2387: // TODO: We must allow TRUE to be a legal enum member name; here we allow - line 2515: // TODO figure out what global const differs from class const - line 2527: // TODO: What if it's not a legal statement? Do we still make progress here? hphp/hack/src/parser/core/type_parser.rs (37 lines): - line 168: | TokenKind::Double // TODO: Specification does not mention double; fix it. - line 220: // TODO: What about something like for::for? Is that a legal type constant? - line 329: // TODO: SPEC ISSUES: - line 332: // TODO: Do we also need to allow "= type-specifier" here? - line 365: // TODO: SPEC ISSUE: We allow any number of type constraints, not just zero - line 368: // TODO: Update the spec with reified - line 436: // TODO: Add this to the specification. - line 454: // TODO: Add this to the specification. - line 472: // TODO: Add this to the specification. - line 492: // TODO: Add this to the specification. - line 554: // TODO: SPEC ISSUE - line 638: // TODO: Should we allow a trailing comma? - line 639: // TODO: Add this to the specification - line 641: // this a simple type. TODO: Should this be an error at parse time? what - line 665: // TODO: Should we allow a trailing comma? - line 666: // TODO: Add this to the specification - line 668: // this a simple type. TODO: Should this be an error at parse time? what - line 692: // TODO: Add this to the specification - line 733: // TODO: Add this to the specification - line 738: // TODO: Give an error in a later pass if there are not exactly two members. - line 741: // a simple type. TODO: Should this be an error at parse time? what - line 747: // TODO: This allows "noreturn" as a type argument. Should we - line 809: // TODO: Update the specification with closure-param-type-specifier-list-opt. - line 812: // TODO: Update grammar for inout parameters. - line 815: // TODO: Update grammar for readonly keyword - line 823: // TODO: Error recovery is pretty weak here. We could be smarter. - line 834: // TODO add second pass checking to ensure ellipsis is the last arg - line 879: // TODO: Here we parse a type list with one or more items, but the grammar - line 949: // TODO: The spec does not mention this type grammar. Work out where and - line 981: // TODO: We parse any type as the class name type; we should write an - line 984: // TODO: Is this grammar correct? In particular, can the name have a - line 988: // TODO ERROR RECOVERY is unsophisticated here. - line 1033: // TODO: We require that it be either all literals or no literals in the - line 1037: // TODO: Make an error-detecting pass that gives an error if the left-hand - line 1068: // TODO: ERROR RECOVERY is not very sophisticated here. - line 1099: // TODO: Is this correct? Or do we need to allow "super" as well? - line 1100: // TODO: What about = ? hphp/runtime/ext/soap/schema.cpp (30 lines): - line 253: /* TODO: support */ - line 287: /* TODO: support */ - line 315: /* TODO: support */ - line 317: /* TODO: support */ - line 386: /* TODO: support */ - line 444: /* TODO: support */ - line 512: /* TODO: support */ - line 547: /* TODO: support */ - line 600: /* TODO: support */ - line 647: /* TODO: support */ - line 680: /* TODO: support */ - line 704: /* TODO: support */ - line 783: /* TODO: support */ - line 792: /* TODO: support */ - line 824: /* TODO: support */ - line 848: /* TODO: support */ - line 907: /* TODO: support */ - line 994: /* TODO: support */ - line 1056: /* TODO: support */ - line 1101: /* TODO: support */ - line 1158: /* TODO: support */ - line 1246: /* TODO: support */ - line 1276: /* TODO: support */ - line 1470: /* TODO: support */ - line 1498: /* TODO: support */ - line 1500: /* TODO: support */ - line 1502: /* TODO: support */ - line 1683: /* TODO: support */ - line 1765: /* TODO: support */ - line 1786: /* TODO: support */ hphp/hack/src/parser/core/lexer.rs (23 lines): - line 596: // TODO: What about newlines embedded? - line 601: // TODO: What is this b-opt? We don't lex an optional 'b' before a literal. - line 653: // TODO: Consider producing an error for a malformed hex escape - line 670: // TODO: Consider producing a warning for a malformed unicode escape. - line 675: // TODO: Consider producing an error if the digits are out of range - line 677: // TODO: Consider producing an error if there are no digits. - line 683: // TODO: Consider producing a warning for a malformed unicode escape. - line 691: // TODO: Consider producing a warning for a malformed unicode escape. - line 720: // token. TODO: (kasper) T40381519 we may want to change this behavior to something more - line 892: // TODO: We might want to fix this because this is very strange. - line 898: // TODO: A backslash followed by something other than an escape sequence - line 1171: // TODO: HHVM requires that there be no trivia between < and name in an - line 1254: // TODO: Is this also true of whitespace within XHP comments? If so then - line 1323: // Here's a reasonable compromise. (TODO: Review this decision.) - line 1506: // TODO: We lex and parse the spaceship operator. - line 1507: // TODO: This is not in the spec at present. We should either make it an - line 1508: // TODO: error, or add it to the specification. - line 1773: // TODO: Consider allowing lowercase fallthrough. - line 1797: // TODO: Do we want to give a warning for an embedded zero char - line 1812: // slash star [whitespace]* HH_FIXME [whitespace or newline]* leftbracket - line 1818: // For our purposes we will just check for HH_FIXME / HH_IGNORE_ERROR; - line 1872: // TODO: Should XHP comments be their own thing, or a kind of - line 1904: // * A pragma to turn checks off (HH_FIXME and HH_IGNORE_ERROR) is hphp/hack/src/typing/typing.ml (22 lines): - line 1452: (* TODO: iterate over thee returned error rather than side effecting in - line 1524: (* TODO TAST: generate an assignment to the fake local in the TAST *) - line 2303: * certain cases this fails (e.g. a generic type grows unboundedly). TODO: - line 2383: (* TODO TAST: annotate with joined types *) - line 2503: (* TODO TAST: avoid repeated generation of block *) - line 2852: (* TODO Probably impossible, should check that *) - line 2955: (* TODO TAST: type refinement should be made explicit in the typed AST *) - line 3491: (* TODO TAST: consider checking that the integer is in range. Right now - line 3497: (* TODO TAST: consider introducing a "null" type, and defining ?t to - line 4165: * TODO TAST: is this right? e1 will get evaluated more than once - line 4209: (* TODO: This could be less conservative: we only need to account for - line 5411: (* TODO: ?el is never set; so we need to fix variadic use of lambda *) - line 6094: FIXME: we need to separate our instantiability into two parts. Currently, - line 6635: (* TODO: Avoid Tany annotations in TAST by eliminating `make_call_special` *) - line 7545: (* TODO akenn: Should we move this to the class_get original call? *) - line 7848: * i.e. new classname, TODO: T41190512 *) - line 8519: * TODO: don't do this, instead use subtyping to push unions - line 8546: * TODO: don't do this, instead use subtyping to push intersections - line 8982: ~mode:FPnormal (* TODO: deal with `inout` parameters *) - line 8983: ~accept_disposable:false (* TODO: deal with disposables *) - line 9003: (* TODO: ensure `ft_params`/`ft_where_constraints` don't affect subtyping *) - line 9025: ~return_disposable:false (* TODO: deal with disposable return *) hphp/hack/src/parser/core/statement_parser.rs (20 lines): - line 212: // TODO: This puts the error in the wrong place. We should highlight - line 219: // TODO: This puts the error in the wrong place. We should highlight - line 228: // TODO T20390825: Make sure this this won't cause premature recovery. - line 283: // TODO: Give an error for nested nominal functions in a later pass. - line 329: // TODO: There is no compelling reason to not allow a trailing comma - line 460: // TODO: Update the specification of the grammar - line 517: // TODO: This is listed as unsupported in Hack in the spec; is that true? - line 518: // TODO: If it is formally supported in Hack then update the spec; if not - line 519: // TODO: then should we make it illegal in strict mode? - line 520: // TODO: Can the list be comma-terminated? - line 521: // TODO: Can the list be empty? - line 522: // TODO: The list has to be expressions which evaluate as variables; - line 524: // TODO: TokenKind::Unset is case-insentive. Should non-lowercase be an error? - line 685: // TODO: Update the specification with these rules. - line 951: // TODO: Update the spec. - line 952: // TODO: The spec is wrong; it implies that a statement must always follow - line 956: // TODO: PHP allows a default to end in a semi; Hack does not. We allow a semi - line 972: // TODO: The spec is wrong; it implies that a statement must always follow - line 976: // TODO: PHP allows a case to end in a semi; Hack does not. We allow a semi - line 999: // TODO: update the spec to reflect that echo and print must be a statement hphp/hack/src/hackc/emitter/emit_expression.rs (14 lines): - line 522: // panic!("TODO: uncomment after D19350786 lands") - line 1286: // FIXME: This is not safe--string literals are binary strings. - line 1329: // FIXME: This is not safe--string literals are binary strings. - line 1340: // FIXME: This is not safe--string literals are binary strings. - line 1932: // TODO: use the fact that this is a readonly call in HHVM enforcement - line 1937: // TODO: utilize caller_readonly_opt here for method calls - line 1961: // FIXME: This is not safe--string literals are binary strings. - line 2610: // FIXME: This is not safe--string literals are binary strings. - line 2638: // FIXME: This is not safe--string literals are binary strings. - line 2880: // FIXME: This is not safe--string literals are binary strings. - line 2978: // TODO: enforce that this returns readonly - line 3379: // FIXME: This is not safe--string literals are binary strings. - line 3856: // FIXME: This is not safe--string literals are binary strings. - line 4244: // FIXME: This is not safe--string literals are binary strings. hphp/hack/src/typing/typing_subtype.ml (11 lines): - line 198: * expands type constants. (TODO: work out a better way of handling this) - line 1050: (* TODO: should remove these any cases *) - line 1227: * TODO: identify under what circumstances this reduction is complete. - line 1552: (* TODO *) - line 1905: (* TODO *) - line 2130: (* TODO: do we need this? *) - line 2152: * introduced by PHase.localize. TODO: avoid this requirement *) - line 2572: (* TODO: can this actually generate an error? *) - line 2634: (* TODO - this needs to somehow(?) account for the fact that the old - line 2918: (* TODO: also handle <> *) - line 3690: * TODO: there are many more unions to implement yet. hphp/hack/src/parser/lowerer/lowerer.rs (10 lines): - line 604: // TODO: return Cow<[u8]> - line 613: // TODO: change unesc_dbl to &[u8] -> BString - line 1640: /* TODO: Or tie in with other intrinsics and post-process to List */ - line 1698: /* TODO might not be needed */ - line 2225: readonly_ret: None, // TODO: awaitable creation expression - line 2273: // TODO: update pos_name to support prefix - line 4042: // TODO: this code seems to be dead, as the only callers of p_fun_hdr come from MethodishDeclaration and FunctionDeclaration - line 4432: // TODO: make wrap `type_` `doc_comment` by `Rc` in ClassConst to avoid clone - line 5225: // TODO: what is this attbiute? check ast_to_aast - line 5441: let name_s = name.1.clone(); // TODO: can I avoid this clone ? hphp/hack/src/parser/rust_parser_errors.rs (10 lines): - line 72: // TODO: add other modes like "Advanced" or "Deprecated" if necessary. - line 81: // TODO: rename this from unstable to something else - line 139: // TODO: is there a more Rust idiomatic way to write this? - line 384: // TODO: this logic should be moved to SyntaxTrait::position, when implemented - line 389: // TODO: this logic should be moved to SyntaxTrait::position, when implemented - line 504: // TODO: This shouldn't be a decorated *expression* because we are not - line 1135: // TODO: why do we need :'a everywhere? - line 2493: // TODO: Double quoted string are only legal - line 2583: // TODO: Maybe be more descriptive in error messages - line 4874: // FIXME: Array_get ((_, Class_const _), _) is not a valid lvalue. *) hphp/hack/src/hackfmt/hack_format.ml (10 lines): - line 275: (* TODO: revisit this for long names *) - line 1045: (* TODO: revisit *) - line 1359: (* TODO: Revisit *) - line 1557: (* TODO: revisit this *) - line 1579: (* TODO: Consider finding a way to avoid treating these expressions as - line 1760: (* TODO: rethink possible one line bodies *) - line 1761: (* TODO: correctly handle spacing after the closing brace *) - line 1788: (* TODO: Eliminate code duplication *) - line 1833: (* TODO: figure out nesting here *) - line 3171: (* TODO: turn allow_trailing:true when HHVM versions that don't support hphp/runtime/ext/soap/encoding.cpp (9 lines): - line 601: /* TODO: namespace isn't stored */ - line 754: /* TODO: get rid of "bogus".. ither by passing in the already created xmlnode - line 2513: /* TODO: Array index overflow */ - line 2769: // TODO: '-'?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?T([0-9]+H)?([0-9]+M)?([0-9]+S)? - line 2781: /* TODO: microsecconds */ - line 2890: /*FIXME: minLength=1 */ - line 2971: /*FIXME: restriction support - line 3039: /*FIXME: restriction support - line 3117: /* TODO: External href....? */ hphp/hack/src/server/serverFindLocals.ml (8 lines): - line 340: TODO: ericlippert - line 341: TODO: What is the interaction between the pipe operator and nested - line 342: TODO: anonymous functions? Does the $$ automatically end up in scope - line 343: TODO: inside the body, or does it have to go in a use($$) clause? - line 344: TODO: If the former, then we'll need to explicitly copy the active $$ - line 345: TODO: binding into the scope chain introduced; if the latter then - line 346: TODO: the existing mechanisms should be sufficient. Either way, - line 347: TODO: this should be tested. hphp/hack/src/hackc/emitter/emit_statement.rs (8 lines): - line 786: // TODO: We might consider changing the codegen so that the finally block - line 797: // TODO: If we make this illegal at parse time then we can remove this pass. - line 812: // TODO: The HHVM emitter sometimes emits seemingly spurious - line 1184: false, // TODO: Readonly iterator assignment - line 1258: false, // TODO readonly load list elements - line 1293: // TODO: we don't need unnamed local if the target is a local - line 1372: /* TODO: This is *bizarre* codegen for a while loop. - line 1430: // TODO: this is bizarre codegen for a "for" loop. hphp/hack/src/parser/operator.rs (8 lines): - line 28: // TODO: eval - line 29: // TODO: Comma - line 30: // TODO: elseif - line 31: // TODO: else - line 32: // TODO: endif - line 33: // TODO: variable operator $ - line 124: | DollarOperator | UnaryPlusOperator | UnaryMinusOperator // TODO: Correct? - line 125: | ErrorControlOperator // TODO: Correct? hphp/hack/src/typing/typing_ordered_solver.ml (8 lines): - line 166: (* TODO: this find_opt should not be necessary since we initialize the - line 170: * TODO: Figure out what's happening. *) - line 339: (* TODO: this find_opt should not be necessary since we initialize the - line 342: * TODO: Figure out what's happening. *) - line 676: (* TODO: figure out reasons *) - line 878: TODO: Remove this check and figure out how. *) - line 1087: (* TODO: unclear if we need to handle type constants. Convert them to constraint types? - line 1184: (* TODO: deal with remaining unsolved CCs. hphp/hack/src/typing/tast_typecheck.ml (7 lines): - line 75: (* TODO for now check_expr is done with a visitor to deal more gracefully - line 82: * TODO write a proper accumulator visitor `accum` inheriting from iter and - line 110: | _ -> (* TODO *) super#on_expr env texpr - line 127: | _ -> (* TODO *) super#on_Binop env bop expr1 expr2 - line 200: (* TODO there shouldn't be any need for 'env' because there shouldn't be - line 213: (* TODO It's annoying to have to carry this giant 'env' everywhere. Can we - line 244: (* TODO check return type *) hphp/hack/src/parser/schema/schema_definition.ml (7 lines): - line 149: (* TODO: Make all uses of attribute_spec consistent in the API. *); - line 2215: (* TODO: Rename this; generic type specifiers are also used for - line 2434: | TODO -> "TODO" - line 2485: List.filter (fun x -> List.mem TODO x.aggregates) schema - line 2504: | TODO -> aggregation_of_todo_aggregate - line 2521: | TODO -> "todo_aggregate" - line 2538: | TODO -> ("TODO", "") hphp/hack/src/hackfmt/chunk_builder.ml (7 lines): - line 80: (* TODO: Make builder into an instantiable class instead of - line 235: (* TODO: after unit tests, make this idempotency a property of method split *) - line 241: (* TODO: is this the right whitespace strategy? *) - line 256: (* TODO: this is probably wrong, figure out what this means *) - line 324: (*TODO: error *) - line 344: (* TODO: handle required hard splits *) - line 350: TODO: find a better way to represt the rules empty case hphp/hack/src/hackc/compile/closure_convert.rs (7 lines): - line 875: // TODO: Move dummy variable to tasl.rs once it exists. - line 1000: // TODO: Move dummy variable to tasl.rs once it exists. - line 1048: readonly_this: None, // TODO: readonly_this in closure_convert - line 1049: readonly_ret: None, // TODO: readonly_ret in closure convert - line 1502: // FIXME: This is not safe--string literals are binary - line 1515: // FIXME: This is not safe--string literals are binary strings. - line 1519: // FIXME: This is not safe--string literals are binary strings. hphp/hack/src/client/clientLsp.ml (6 lines): - line 1753: (* TODO: better to report time that hh_server has spent initializing *) - line 2438: (* TODO: we're using itemType (left column) for function return types, and *) - line 2443: (* TODO: retrieve the actual signature including name+modifiers *) - line 3048: (* TODO: respect params.context.include_declaration *) - line 3208: (* TODO: let's eliminate hh_format, and incorporate hackfmt into the *) - line 4196: (* TODO: our handler should really handle an error response properly *) hphp/hhbbc/interp.cpp (6 lines): - line 3348: // TODO: optimize these - line 3789: // TODO: optimize me - line 3796: // TODO: optimize me - line 3803: // TODO: optimize me - line 3852: // TODO (T29639296) - line 3929: // TODO (T61651936) hphp/hack/src/hackc/hhbc/ast_constant_folder.rs (6 lines): - line 135: //TODO: Improve. It's a bit silly having to use a std::vector::Vec - line 262: // FIXME: This is not safe--string literals are binary - line 294: //TODO: Improve. It's a bit silly having to use a std::vector::Vec - line 323: // TODO: ML equivalent has this as an implicit parameter that defaults to false. - line 408: // FIXME: This is not safe--string literals are binary strings. - line 585: // FIXME: This is not safe--string literals are binary strings. hphp/hack/src/typing/typing_make_type.rs (6 lines): - line 32: // TODO: we might consider creating a SymbolBuilder type - line 366: // TODO (T69662957) must fill type args of Tgeneric - line 382: // TODO: set this correctly - line 385: // TODO: set the following fields correctly - line 400: // TODO: set this correctly - line 405: // TODO: set the following fields correctly hphp/runtime/vm/super-inlining-bros.cpp (6 lines): - line 164: // TODO: All these scanners have to be audited for more relevant - line 229: // TODO: Handle above trash. - line 308: // TODO: Handle modification of slot ordering during serde. - line 527: // TODO: Handle coercions, which require dependent mystery boxes. - line 823: // TODO alignment of heap objects based on size classes. - line 1032: // TODO: Handle above trash (T29639296) hphp/hack/src/hackc/print_expr/print.rs (6 lines): - line 388: // TODO: Should probably have ... also but we are not doing that in ocaml - line 457: _ => return Err(Error::fail("TODO Unimplemented unexpected non-CIexpr").into()), - line 488: Err(Error::fail("TODO: Only expected CIexpr in class_const").into()) - line 608: "TODO Unimplemented unexpected non-CIexpr in function pointer", - line 646: _ => Err(Error::fail(format!("TODO Unimplemented: Cannot print: {:?}", expr)).into()), - line 808: _ => w.write_all(b"TODO Unimplemented NYI: Default value printing"), hphp/runtime/ext/reflection/ext_reflection_hni.php (6 lines): - line 312: // FIXME: ReflectionParameter sh/could have native data pointing to the - line 357: // FIXME: HHVM doesn't support this - line 425: // TODO: Not enough info - line 597: // FIXME: HHVM doesn't support the disable_functions directive. - line 1974: // FIXME: HHVM doesn't support extension info - line 1992: // FIXME: HHVM doesn't support extension info hphp/hack/src/decl/direct_decl_smart_constructors.rs (5 lines): - line 272: // TODO: Hack is the wrong place to detect circularity (because we can never do it completely soundly, - line 1262: // TODO (T69662957) must fill type args of Tgeneric - line 1837: // TODO: OCaml decl produces SFlitStr here instead of SFlitInt, so - line 4194: // TODO: T88207956 consider all the values. - line 4601: module: None, // TODO: grab module from attributes hphp/vixl/a64/simulator-a64.cc (5 lines): - line 333: // TODO: This assumes that the C++ implementation handles comparisons in the - line 353: // TODO: Find a more elegant way of defining these. - line 401: // TODO: Find a more elegant way of defining these. - line 429: // TODO: Find a more elegant way of defining these. - line 2101: // TODO: Clobber all caller-saved registers here, to ensure no assumptions hphp/hack/src/typing/typing_taccess.ml (5 lines): - line 69: (* FIXME: It is bogus to use strings here and put them in Tgeneric; one - line 431: (* TODO: should we be taking the intersection of the errors? *) - line 461: (* TODO: should we be taking the intersection of the errors? *) - line 472: (* TODO: should we be taking the intersection of the errors? *) - line 480: (* TODO: should we be taking the intersection of the errors? *) hphp/hack/src/hackc/emitter/emit_class.rs (5 lines): - line 73: // TODO: move this. We just know that there are no iterators in 86methods - line 184: // TODO: Deal with the constraint - line 256: // TODO: we need to emit doc comments for each property, - line 569: // TODO: communicate this without looking at the name - line 962: // TODO (T115359287): We will revisit whether modules should be first class hphp/hack/src/typing/typing_print.ml (5 lines): - line 357: (* TODO: T71614503 print explicit type arguments appropriately *) - line 1011: (* FIXME it seems like this function is only for - line 1117: (* TODO: need to update userland tooling? *) - line 1206: (* TODO akenn *) - line 1601: (* TODO: do we need to distinguish ? *) hphp/runtime/ext/strobelight/ext_strobelight.cpp (5 lines): - line 180: // TODO remove this when strobelight has its own surpriseFlag - line 185: // TODO remove this when strobelight has its own surpriseFlag - line 191: // TODO We should filter only to hhvm samples which directly - line 208: // TODO: get a dedicated surprise flag to avoid colliding with xenon - line 210: // TODO: isXenonActive() needs to check the request thread and not the hphp/hack/src/typing/typing_object_get.ml (4 lines): - line 742: (* TODO: should we be taking the intersection of the errors? *) - line 795: (* TODO: iterate over the returned error rather than side effecting on - line 1238: (* TODO: decide what to do about methods with differing generic arity. - line 1268: (* TODO: decide what to do about methods with differing generic arity. hphp/hack/src/ifc/ifc.ml (4 lines): - line 1274: (* TODO: IFC should consider spliced values too *) - line 1705: (* TODO: pc_pols should also flow into cty because the condition is evaluated - line 1748: (* TODO: pc_pols should also flow into cty because the condition is evaluated - line 1783: (* TODO: pc should also flow into cty because the condition is evaluated hphp/compiler/compiler.cpp (4 lines): - line 219: "hhbc") // TODO: T115189426 remove this - line 262: ("sync-dir", value(&dummy3), // TODO: T115189426 remove this - line 266: ("gen-stats", value(&dummy2)->default_value(false), // TODO: T115189426 remove this - line 284: value(&dummy)->default_value(true), // TODO: T115189426 remove this hphp/hack/src/hackc/emitter/reified_generics_helpers.rs (4 lines): - line 99: Hint_::Habstr(_, _) => panic!("TODO Unimplemented: Not in the original AST"), - line 135: | Hint_::Hdynamic => panic!("TODO Unimplemented Did not exist on legacy AST"), - line 224: | Hint_::Hdynamic => panic!("TODO Unimplemented Did not exist on legacy AST"), - line 264: // TODO: `id` could be an alias for something without reified generics, hphp/hack/src/annotated_ast/aast.ml (4 lines): - line 178: TODO: this really belongs in def. - line 237: TODO: Syntactically this can only be an Lvar/This/Lplaceholder. - line 590: TODO: T38184446 this is redundant with ValCollection/KeyValCollection. - line 618: TODO: This is only created in naming, and ought to happen in hphp/hack/src/oxidized_by_ref/gen/aast.rs (4 lines): - line 258: /// TODO: this really belongs in def. - line 416: /// TODO: Syntactically this can only be an Lvar/This/Lplaceholder. - line 969: /// TODO: T38184446 this is redundant with ValCollection/KeyValCollection. - line 1007: /// TODO: This is only created in naming, and ought to happen in hphp/runtime/ext/mbstring/ext_mbstring.cpp (4 lines): - line 3568: /* FIXME: this code is not multibyte aware! */ - line 4199: /* FIXME: some locale free implementation is - line 4232: /* FIXME: some locale free implementation is - line 4540: // TODO make these PHP_INI_ALL and thread local once we use them hphp/runtime/ext/fileinfo/libmagic/apprentice.cpp (4 lines): - line 1155: /* FIXME: Read file names and sort them to prevent - line 1916: * TODO finish this macro and start using it! - line 2241: * TODO: this error message is unhelpful if the format - line 2518: if (c >= 040 && c <= 0176) /* TODO isprint && !iscntrl */ hphp/hack/src/oxidized/gen/aast.rs (4 lines): - line 197: /// TODO: this really belongs in def. - line 338: /// TODO: Syntactically this can only be an Lvar/This/Lplaceholder. - line 768: /// TODO: T38184446 this is redundant with ValCollection/KeyValCollection. - line 796: /// TODO: This is only created in naming, and ought to happen in hphp/hack/src/decl/pos/pos_or_decl.ml (4 lines): - line 28: (fun p _decl -> (* TODO *) of_raw_pos p) - line 31: (fun p _decl -> (* TODO *) of_raw_pos p) - line 36: | None -> (* TODO T81321312 *) false - line 56: (* TODO use current_decl *) hphp/hack/src/errors/errors.ml (4 lines): - line 177: (** Get all errors emitted. Drops errors with valid HH_FIXME comments - line 1032: (** TODO: Remove use of `User_error.t` representation for nested error & - line 1054: (** TODO: Remove use of `User_error.t` representation for nested error *) - line 1063: (** TODO: Remove use of `User_error.t` representation for nested error *) hphp/runtime/ext/soap/ext_soap.cpp (4 lines): - line 305: /*FIXME: how to pass method name if style is SOAP_DOCUMENT */ - line 321: /*FIXME: how to pass method name if style is SOAP_DOCUMENT */ - line 936: break; /* FIXME: the rest of body is ignored */ - line 2961: // FIXME: data->m_cookies is a write-only value hphp/runtime/server/proxygen/proxygen-transport.h (4 lines): - line 59: // sad panda copy. TODO (t4362832): change sendImpl to take IOBuf - line 130: // TODO: is get getFiles required? - line 210: // TODO: are isUploadedFile/moveUploadedFile required to support rfc1867? - line 212: // TODO: implement IDebuggable hphp/hack/src/typing/typing_union.ml (4 lines): - line 418: (* TODO with Tclass, union type arguments if covariant *) - line 426: * TODO improve that. *) - line 542: (* TODO: If we later add fields to ft, they will be forgotten here. *) - line 640: (* TODO: add a new reason with positions of merge point and possibly merged CMake/FindBoost.cmake (3 lines): - line 715: # FIXME: This probably should be set for both cases - line 947: # TODO: Find out any Boost version constraints vs clang support. - line 1503: # TODO (Re)Check compiler features on (every?) release ??? hphp/hack/src/server/cstSearchService.ml (3 lines): - line 97: * TODO: decide if we want to handle exact type equality or supertypes. - line 98: * TODO: decide what we want to name the pattern for decl types, if we create - line 306: (* TODO: this will likely have to become more intelligent *) hphp/runtime/ext/soap/packet.cpp (3 lines): - line 249: /* TODO: lang attribute */ - line 316: /* TODO: produce warning invalid ns */ - line 341: /* TODO: may be "nil" is not OK? */ hphp/hack/src/server/serverExtractStandalone.ml (3 lines): - line 516: * because legacy representation of Taccess was using lists. TODO: implement - line 569: atc_default = _ (* TODO *); - line 1041: (* FIXME: support non-empty type arguments of Habstr here? *) hphp/hack/src/typing/typing_env.ml (3 lines): - line 196: (* TODO raise exception. *) - line 508: (* FIXME what to do here? it seems dangerous to just traverse *) - line 659: (* TODO: do we want to introduce a Cls.enum_class_type ? *) hphp/runtime/ext/reflection/ext_reflection-classes.php (3 lines): - line 258: // FIXME: backward compatibility hack for places that were checking for - line 276: // FIXME: backward compatibility hack for places that were checking for - line 675: // FIXME: Implicit public hphp/runtime/vm/native.cpp (3 lines): - line 615: case KindOfLazyClass: return false; // TODO (T68823958) - line 646: case KindOfRClsMeth: // TODO (T67037453) - line 647: case KindOfLazyClass: return false; // TODO (T68823958) hphp/runtime/server/proxygen/proxygen-transport.cpp (3 lines): - line 384: // TODO: let's remove gratuitous mallocs and copies please - line 669: // TODO: experiment with disabling this chunked flag and letting - line 722: // TODO #2821803: Figure out whether this is caused by another bug hphp/hack/tools/fixme/fixme.py (3 lines): - line 7: # fixme.py -- Adds HH_FIXME annotations in your code to clean up after a new - line 14: # - Will insert HH_FIXME comments in the body of XHP elements, where they will - line 69: # TODO: account for tab size? hphp/hack/src/parser/syntax_error.rs (3 lines): - line 135: // TODO: Remove this; redundant to 1009. - line 146: // TODO: Break this up according to classish type - line 179: // TODO (kasper): T52404885: why does removing to_string() here segfaults hphp/runtime/vm/bytecode.cpp (3 lines): - line 1561: // TODO (T29639296) Exploit class pointer further - line 2115: // TODO (T61651936): Disallow implicit conversion to string - line 5814: // TODO: t6019406 use surprise checks to eliminate BB mode hphp/hack/src/rupro/ty/local/ty.rs (3 lines): - line 14: // TODO: Share the representation from decl_defs - line 24: // TODO: Share the representation from decl_defs - line 64: /// TODO: any and err are a bit weird in that they are not actually types hphp/hack/src/parser/core/parser_trait.rs (3 lines): - line 380: // TODO: This isn't right. Pass flags to the lexer. - line 764: // TODO: Different error? - line 843: // TODO: This could be poor recovery. For example: hphp/runtime/ext/pgsql/pgsql.cpp (3 lines): - line 1182: // TODO: Do persistent auto-reconnect - line 1517: // TODO: cache the Oids somewhere - line 1558: // TODO: Cache the results of this function somewhere hphp/hack/src/utils/ocamlpool/ocamlpool.h (3 lines): - line 7: * FIXME: The current system always maintain the heap in a well formed state, - line 13: * FIXME: The current chunking system might be incorrect if the incremental - line 17: * FIXME: For now, the chunk is just strongly referenced during used and hphp/hack/src/typing/tast_check/readonly_check.ml (3 lines): - line 32: TODO: Later, we'll have to consider the regular type as well, for example - line 118: (* TODO: Handle more complex cases *) - line 362: (* TODO: make this exhaustive *) hphp/hack/src/typing/typing_variance.ml (3 lines): - line 806: tp_parameters = (* TODO high-kinded generics? T69931993 *) _; - line 940: c_where_constraints = (* TODO *) _; - line 941: c_typeconsts = (* TODO *) _; hphp/vixl/a64/decoder-a64.cc (3 lines): - line 334: // TODO: VisitLoadStoreRegisterOffsetUnpriv. - line 692: // TODO: Implement Advanced SIMD load/store instruction decode. - line 699: // TODO: Implement Advanced SIMD data processing instruction decode. hphp/hack/src/typing/typing_phase.ml (3 lines): - line 263: (* TODO: should we be taking the intersection of the errors? *) - line 488: (* FIXME: I guess in global inference mode, we should just reject - line 580: (* FIXME: Ideally, we would like to fail here, but sometimes we see type hphp/runtime/ext/gd/libgd/gd_crop.cpp (3 lines): - line 79: /* TODO: replace 4 w/byte per channel||pitch once available */ - line 149: /* TODO: Add gdImageGetRowPtr and works with ptr at the row level - line 245: /* TODO: Add gdImageGetRowPtr and works with ptr at the row level hphp/runtime/vm/jit/irgen-call.cpp (3 lines): - line 229: // TODO: extend hhbc with bitmap of passed generics, or even better, use one - line 1108: // TODO: improve this if str->hasConstVal() - line 1515: // TODO: take advantage of classHint if it is unique, but className is not hphp/hack/src/generate_full_fidelity_data.ml (3 lines): - line 170: (* TODO: clean up *) - line 180: (* TODO: cleanup *) - line 481: (* TODO: Different styles of list seem to only happen in predetermined places, hphp/runtime/server/compression.cpp (3 lines): - line 98: // TODO: handle * - line 99: // TODO: handle priorities - line 100: // TODO: handle q=0 disabling hphp/runtime/ext/icu/ext_icu_date_fmt.cpp (3 lines): - line 225: // TODO: Need IntlCalendar implemented first - line 304: // TODO: Need IntlCalendar implemented first - line 424: // TODO: Need IntlCalendar implemented first hphp/runtime/vm/taint/interpreter.cpp (3 lines): - line 1347: // TODO: Support more types of function calls - line 1583: // TODO: What hop should we put here? - line 2024: // TODO: Should we overwrite the taint on the value that gets pushed hphp/runtime/ext/soap/sdl.cpp (3 lines): - line 223: /* TODO: Only one "types" is allowed */ - line 236: /* TODO: namespace ??? */ - line 883: /* FIXME: */ hphp/hack/src/hackc/emitter/emit_xhp.rs (3 lines): - line 204: // TODO: is this always 1? - line 454: readonly_this: false, // TODO readonly emitter - line 465: readonly_ret: None, // TODO readonly emitter hphp/hack/src/parser/syntax_tree.rs (2 lines): - line 59: // TODO:(shiqicao) move this function to SyntaxTrait, see D18359931 - line 222: //TODO: to_json require some unimplemented methods in syntax.rs, particularly hphp/runtime/ext/reflection/ext_reflection.cpp (2 lines): - line 838: // FIXME: each parameter info should be HNI with a handle to the - line 1639: * FIXME: This implementation is pretty horrible and should be rewritten hphp/util/portability.h (2 lines): - line 36: // TODO: does clang define __GNUC__ ? - line 178: // TODO: FIXME! Without this implemented properly, the JIT hphp/system/php/async/vm.ns.php (2 lines): - line 34: // TODO: When systemlib supports closures - line 69: // TODO: When systemlib supports closures hphp/hack/src/watchman/watchman.ml (2 lines): - line 17: * TODO: - line 394: * TODO: Currently fallback to a Watchman_dead is only handled in calls hphp/vixl/a64/assembler-a64.h (2 lines): - line 587: // TODO: Obtain better values for these, based on real-world data. - line 1828: // TODO: Record this 'instruction' as data, so that it can be disassembled hphp/hack/src/server/client_command_handler.ml (2 lines): - line 73: (* TODO: Make sure the pipe exception is really about this client. *) - line 156: * TODO: Make sure the pipe exception is really about this client.*) hphp/hack/src/hh_single_complete.ml (2 lines): - line 316: (* TODO: Use a magic word/symbol to identify autocomplete location instead *) - line 455: (* TODO: We should have a per file config *) hphp/hack/src/parser/lowerer/desugar_expression_tree.rs (2 lines): - line 325: // TODO: Do we even recurse on expressions? - line 502: // TODO: Refactor ClassId creation with new_obj hphp/runtime/ext/std/ext_std_misc.cpp (2 lines): - line 304: // FIXME: These values are hardcoded from their previous IDL values - line 348: // FIXME: WAT? hphp/hack/src/decl/decl_env.ml (2 lines): - line 24: (* TODO: fail if root_decl_reference returns None *) - line 28: (* TODO: fail if root_decl_reference returns None *) hphp/runtime/vm/jit/translate-region.cpp (2 lines): - line 789: // TODO what does this bool even meean. Pretty sure it is the same as the - line 1033: // TODO: ctx contains caller info, make inlining cost calc caller agnostic hphp/runtime/vm/jit/irgen-func-prologue.cpp (2 lines): - line 104: // FIXME: leaks memory if generics were given but not expected nor pushed. - line 166: // FIXME: ifThenElse() doesn't save/restore marker and stack boundary. hphp/runtime/ext/pdo/ext_pdo.cpp (2 lines): - line 1688: /* TODO: some smart thing that avoids duplicating the value in the - line 3097: ret.set(s_len, (int64_t)col->maxlen); /* FIXME: unsigned ? */ hphp/hack/src/parser/full_fidelity_editable_syntax.ml (2 lines): - line 115: TODO: There's nothing here that's unique to editable trees; this could - line 132: (* TODO: Trivia *) hphp/hack/src/parser/full_fidelity_editable_positioned_original_source_data.ml (2 lines): - line 81: (* TODO: Do we need to update leading_width and offset? *) - line 87: (* TODO: Do we need to update trailing_width and offset? *) hphp/runtime/vm/jit/vtune/ittnotify_config.h (2 lines): - line 117: /* TODO: Temporary for compatibility! */ - line 275: /* TODO: Add Support for not Intel compilers for IA64 */ hphp/hack/src/client/clientArgs.ml (2 lines): - line 571: " (mode) remove dead HH_FIXME for specified error code " - line 575: " (mode) remove dead HH_FIXME for any error code < 5000 " hphp/hack/src/providers/fixme_provider.ml (2 lines): - line 18: * line number guarded by HH_FIXME => - line 20: * position of HH_FIXME comment hphp/hack/src/providers/provider_backend.mli (2 lines): - line 65: line number guarded by HH_FIXME => - line 67: position of HH_FIXME comment *) hphp/hack/src/parser/schema/full_fidelity_schema.ml (2 lines): - line 14: (* TODO: Consider basing the version number on an auto-generated - line 16: (* TODO: It may be worthwhile to investigate how Thrift describes data types hphp/hsl/src/os/inet_pton.php (2 lines): - line 24: // FIXME: add native builtin, use that instead - line 44: // FIXME: add native builtin, use that instead. hphp/hack/src/server/ffpAutocompleteKeywords.ml (2 lines): - line 164: (* TODO: "use" for closures *) - line 334: * TODO: Figure out what exactly a postfix expression is and when one is valid hphp/runtime/server/http-request-handler.cpp (2 lines): - line 413: // TODO: t5284137 add some tests for abortRequest - line 468: // FIXME: hphpd can be initialized this way as well hphp/hack/src/typing/delta.ml (2 lines): - line 42: * TODO When we typecheck lambda or lets, we'll have to do better *) - line 51: * TODO Avoid this conversion? Do we need the expression ids? *) hphp/hack/src/parser/lambda_analyzer.ml (2 lines): - line 52: TODO: We need to figure out how to make cases like - line 122: (* TODO: This does not consider situations like "${x}" as the use of a local.*) hphp/runtime/vm/debug/debug.cpp (2 lines): - line 307: // TODO: mangle the namespace and name? - line 314: // TODO: should no longer happen hphp/runtime/ext/pdo_mysql/pdo_mysql.cpp (2 lines): - line 606: /* TODO: Johannes, can we throw a warning here? */ - line 930: /* TODO: might need to pull statement specific info here? */ hphp/runtime/server/transport.h (2 lines): - line 87: // TODO: add all status codes - line 422: // TODO: support rfc1867 hphp/runtime/ext/gd/libgd/gd_interpolation.cpp (2 lines): - line 49: TODO: - line 743: * TODO: use the known fast rgba multiplication implementation once hphp/hack/src/hackfmt/solve_state.ml (2 lines): - line 89: (* TODO: consider adding parent rules *) - line 350: (* TODO: make a new rule strings string *) hphp/runtime/vm/jit/irgen-internal.h (2 lines): - line 104: // TODO: Figure out why TInt asserts here - line 713: // TODO: Once top level code is entirely dead it should be safe to always hphp/hack/src/hackc/emitter/try_finally_rewriter.rs (2 lines): - line 324: // TODO: add is_sorted assert to make sure this behavior is preserved for labels - line 361: // TODO: This codegen is unnecessarily complex. Basically we are generating hphp/hack/src/typing/typing_inference_env.ml (2 lines): - line 1015: (* TODO: that might actually not be true during initial merging, but let's fix that later. *) - line 1364: (* TODO: (hverr) T60273306 Normally the following should hold as well: hphp/runtime/vm/debugger-hook.h (2 lines): - line 95: // TODO: Ideally this wouldn't be necessary here, debuggers should - line 274: // FIXME Note that internally there is a global PCFilter for all breakpoints. hphp/hack/src/naming/naming.ml (2 lines): - line 543: (* TODO: Duplicate of a Typing[4101] error if namespaced correctly - line 1901: (* TODO: report error in strict mode *) ignored_expr_ p hphp/hack/src/typing/typing_per_cont_ops.ml (2 lines): - line 36: (* TODO: we could do better here in case only in one side. *) - line 60: * TODO: tpenv. Not clear what to do here, as we generate fresh type parameter names hphp/runtime/base/datetime.cpp (2 lines): - line 611: // TODO: Fixme under MSVC! - line 840: // TODO: Fixme under MSVC! hphp/hack/src/providers/linearization_provider.ml (2 lines): - line 58: (* TODO: Consider storing these in the provider context or decl-service - line 74: (* TODO: Consider storing these in the provider context or decl-service hphp/runtime/vm/jit/irgen-builtin.cpp (2 lines): - line 238: // TODO: the above is true for settings whose value we burn directly into the - line 740: // TODO (T29639296) hphp/vixl/a64/assembler-a64.cc (2 lines): - line 1955: // TODO: This code does not consider using X/W register overlap to support - line 2163: // TODO: refine this heuristic using real world data. hphp/hack/src/hcons/lib.rs (2 lines): - line 120: // TODO: The `intern` crate has a way of preserving sharing of interned - line 161: // TODO: handle collisions hphp/runtime/vm/disas.cpp (2 lines): - line 706: // TODO: T112774575 remove isTest flag when HackC Translator is complete - line 998: * TODO: T112774575 remove isTest flag when HackC Translator is complete hphp/hack/src/typing/type_parameter_env_ops.ml (2 lines): - line 150: (* TODO see comment at beginning of function *) - line 172: (* TODO see comment at beginning of function *) hphp/hack/src/hackc/emitter/emit_file_attributes.rs (2 lines): - line 43: // TODO T115356820: This is temporary until parser support is added - line 51: // FIXME: This is not safe--string literals are binary strings. hphp/runtime/base/object-data.h (1 line): - line 374: // TODO Task #2584896: o_invoke and o_invoke_few_args are deprecated. These hphp/runtime/ext/xenon/ext_xenon.php (1 line): - line 29: * TODO: this will replace xenon_get_data() hphp/runtime/debugger/debugger_hook_handler.cpp (1 line): - line 163: // TODO: check name space separately hphp/hack/src/utils/serverLoadFlag.ml (1 line): - line 1: (* TODO: turn this into a bool option with None indicating hphp/hack/src/decl/decl_nast.ml (1 line): - line 113: (* TODO: handle const attribute *) hphp/hack/src/parser/full_fidelity_editable_positioned_syntax.ml (1 line): - line 215: (* TODO: This code is duplicated in the positioned syntax; consider pulling it hphp/hack/src/server/clientProvider_sig.ml (1 line): - line 87: (* TODO: temporary way to break the module abstraction. Remove after hphp/hack/src/utils/cli_args.ml (1 line): - line 97: (* TODO: gen examples *) hphp/runtime/ext/thrift/ext_thrift.cpp (1 line): - line 246: // TODO (partisan): Deprecate in favor of more clear for extrnal users setHeader hphp/runtime/debugger/cmd/cmd_break.cpp (1 line): - line 520: // TODO: Keep more detailed error information in the BreakPointInfo and emit hphp/hack/src/monitor/serverMonitor.ml (1 line): - line 448: (* TODO: Send this to client so it is visible. *) hphp/hack/src/parser/full_fidelity_ast.ml (1 line): - line 76: (* TODO: Make these not default to positioned_syntax *) hphp/hack/src/parser/full_fidelity_syntax_type.ml (1 line): - line 1152: (* TODO: Different styles of list seem to only happen in predetermined places, hphp/runtime/vm/jit/type-inl.h (1 line): - line 324: // TODO (T29639296) hphp/vixl/utils.h (1 line): - line 106: // TODO: rename/refactor to make it specific to instructions. hphp/util/cycles.h (1 line): - line 46: // FIXME: This returns the virtual timer which is not exactly hphp/hack/src/server/serverApi.ml (1 line): - line 217: (* TODO: use the telemetry *) hphp/hack/src/utils/line_break_map.ml (1 line): - line 88: (* TODO: add more informative data to the exception *) hphp/runtime/ext/simplexml/ext_simplexml.cpp (1 line): - line 1693: // TODO: we really ought to pull out checking of whether a prop is supported hphp/runtime/vm/type-constraint.cpp (1 line): - line 493: case AnnotMetaType::Classname: // TODO: T83332251 hphp/doc/tcdump_json_schema.ts (1 line): - line 33: type UnitFuncStr = string; // maybe fix? see TODO in tc-print.cpp hphp/hack/src/parser/positioned_token.rs (1 line): - line 27: // TODO (kasper): implement LazyTrivia hphp/vixl/a64/debugger-a64.cc (1 line): - line 652: // TODO: Should this be a utility function? hphp/hack/src/rupro/ty/prop/constraint.rs (1 line): - line 22: // TODO: oxidized::aast::TypeHint (along with most oxidized::aast types) hphp/hsl/src/os/inet_ntop.php (1 line): - line 24: // FIXME: add native builtin, use that instead hphp/hack/src/ocamlrep_ocamlpool/lib.rs (1 line): - line 145: // TODO: Build a smarter message in this case (using panic::set_hook?) hphp/hack/src/hh_fanout/incremental.ml (1 line): - line 30: cumulative, so previous cursors need not be consulted. TODO: is that hphp/hack/src/shape_analysis/shape_analysis_solver.ml (1 line): - line 164: (* TODO: only consider existing candidates to report a summary *) hphp/hack/src/hackc/compile_ffi/compile_ffi.rs (1 line): - line 104: // TODO:(shiqicao) change following tuple to Profile after hhbc remove hphp/hack/src/typing/tast_check/instantiability_check.ml (1 line): - line 104: (* TODO: shouldn't we be checking this hint as well? *) hphp/hack/src/typing/typing_toplevel.ml (1 line): - line 917: (* TODO: Check with @fzn *) hphp/hack/src/typing/nast_check/class_typeconst_check.ml (1 line): - line 14: (* TODO: delete this check *) hphp/hack/src/client/ide_service/clientIdeDaemon.ml (1 line): - line 745: (* TODO: remove_hhi *) hphp/runtime/ext/fileinfo/libmagic/compress.cpp (1 line): - line 369: /* FIXME: This doesn't cope with bzip2 */ hphp/hack/src/typing/deferred_decl.mli (1 line): - line 12: place where we catch all exceptions and we need to ignore this one. TODO: clean that up somehow *) hphp/runtime/ext/xsl/ext_xsl.cpp (1 line): - line 338: // TODO: not sure this is the right thing to do. hphp/hack/src/server/serverFiles.ml (1 line): - line 17: (* TODO: move this to places that write this file *) hphp/runtime/ext/thrift/compact.cpp (1 line): - line 642: // TODO: we eventually want to return seqid to the caller hphp/hack/src/typing/tast_expand.ml (1 line): - line 17: * TODO TAST: hphp/runtime/vm/coeffects.cpp (1 line): - line 137: // TODO: type parameter names are not currently available in HHVM hphp/hack/src/arena_collections/alist.rs (1 line): - line 665: // TODO: tune this threshold based on perf results hphp/hack/src/hackfmt/chunk_group.ml (1 line): - line 22: (* TODO verify or log if there are unused rules *) hphp/runtime/ext/mcrouter/ext_mcrouter.cpp (1 line): - line 72: // TODO: Once OSS McRouter version is staged, this code can be hphp/runtime/ext/fileinfo/libmagic/file.h (1 line): - line 387: /* FIXME: Make the string dynamically allocated so that e.g. hphp/hack/src/errors/typing_error.ml (1 line): - line 4109: (* TODO: generalize this error message in the future for arbitrary immutable locals *) hphp/hack/hhi/stdlib/builtins_preg.hhi (1 line): - line 25: * any spurious type errors with a HH_FIXME comment. hphp/hack/src/utils/lwt_utils.ml (1 line): - line 17: (* TODO: Lwt defaults to libev when it's installed. Historically, it wasn't installed hphp/hack/src/typing/typing_type_wellformedness.ml (1 line): - line 303: (* TODO: c_reqs should be checked too. Problem: that causes errors in un-fixmeable places. *) hphp/hack/src/server/ffpAutocompleteContextParser.ml (1 line): - line 432: (* TODO: or is parameter, or is inside if/switch/while/etc. clause *) hphp/hack/src/decl/decl_hint.ml (1 line): - line 192: (* TODO: handle function parameters with <> *) hphp/hack/src/hackfmt/rule_allocator.ml (1 line): - line 32: (* TODO: figure out how to share this logic with chunk_group.ml *) hphp/runtime/ext/hh/ext_hh.php (1 line): - line 25: * TODO: enforce SingletonMemoizeParam in some way in runtime/typechecker hphp/runtime/base/zend-collator.cpp (1 line): - line 244: /* UTODO: keep compatibility with is_numeric_string() here? */ hphp/hack/src/server/ffpAutocompleteGlobals.ml (1 line): - line 47: (* TODO: Port over the namespace completion code from autocompleteService.ml *) hphp/runtime/ext/libxml/ext_libxml.cpp (1 line): - line 189: /* FIXME: PHP calls stat() here if the wrapper has a non-null stat handler, hphp/runtime/vm/jit/irgen.h (1 line): - line 77: * TODO: we should push translateRegion and selectTracelet into this module, so hphp/hack/src/providers/ast_provider.ml (1 line): - line 163: (* TODO: use parser options inside ctx *) hphp/hack/doc/pharser/phlexer.mll (1 line): - line 533: * TODO: \x7f-\xff hphp/runtime/vm/verifier/check-unit.cpp (1 line): - line 311: //TODO: T19445287 implement this as the fuzzer finds more bugs hphp/hack/src/hackc/emitter/emit_type_constant.rs (1 line): - line 98: // FIXME: This is not safe--string literals are binary strings. hphp/hack/hhi/interfaces.hhi (1 line): - line 870: * TODO: enforce SingletonMemoizeParam in some way in runtime/typechecker hphp/hack/src/utils/memtrace/memtrace_merge.ml (1 line): - line 42: (* TODO: I can't figure out time. See https://github.com/janestreet/memtrace/issues/14 *) hphp/hack/src/rupro/hackrs/decl_parser.rs (1 line): - line 71: // TODO: The direct decl parser should return decls in the same order as hphp/hack/src/typing/typing_solver.ml (1 line): - line 641: (* TODO: rather than writing to a ref cell from inside the `on_tyvar` hphp/runtime/ext/sockets/ext_sockets.cpp (1 line): - line 1774: /* TODO: MCAST_* constants and logic to handle them */ hphp/runtime/debugger/debugger_client.cpp (1 line): - line 2521: // TODO if you are clever you can make the macro do these hphp/runtime/base/ssl-socket.cpp (1 line): - line 101: /* TODO: could expand this to make a callback into PHP user-space */ hphp/hack/src/parser/pretty_printing_library.ml (1 line): - line 62: (* TODO optimize string concat *) hphp/hack/src/typing/nast_check/unbound_name_check.ml (1 line): - line 105: (* TODO: These throw typing errors instead of naming errors *) hphp/runtime/base/apc-rfunc.h (1 line): - line 29: * TODO: figure out something about serialized form - see comment in apc-object hphp/hsl/src/tcp/Server.php (1 line): - line 30: // FIXME: rewrite this once we have OS\getaddrinfo hphp/runtime/ext/vsdebug/transport.cpp (1 line): - line 108: // TODO: (Ericblue) output messages need to be encoded in UTF-8 hphp/hack/src/hh_single_ai.ml (1 line): - line 371: (* TODO: We should have a per file config *) hphp/hack/src/parser/rust_parser_ffi.rs (1 line): - line 50: // TODO: rewrite to_ocaml iteratively & reduce it to "stack_size - MB" as in HHVM hphp/hack/src/server/serverAutoComplete.ml (1 line): - line 131: TODO: Switch to FFP Autocomplete to avoid doing this file edit *) hphp/hack/src/server/serverClientProvider.ml (1 line): - line 329: (* TODO: this is probably wrong, since for persistent client we'll hphp/hack/src/typing/typing_logic.ml (1 line): - line 97: * TODO: consider relaxing this behaviour *) hphp/runtime/vm/jit/unwind-itanium.cpp (1 line): - line 112: // FIXME: This assumes that smashable calls and regular calls look the hphp/hack/src/utils/ocamlpool/ocamlpool.c (1 line): - line 201: * FIXME: The current chunking system might be incorrect if the incremental hphp/hack/src/typing/typing_extends.ml (1 line): - line 919: (* TODO: ideally refactor so the last test is not systematically performed on all methods *) hphp/hack/src/providers/decl_service_client.ml (1 line): - line 65: (* TODO: pass in the real checksum *) hphp/hack/src/server/serverFormat.ml (1 line): - line 12: (* TODO t14922604: Further improve error handling *) hphp/hack/src/lints/linter_equality_check.ml (1 line): - line 34: (* FIXME: When we have a type parameter with no upper bounds, it may be hphp/hack/src/providers/provider_utils.ml (1 line): - line 88: (* TODO: backend should be stored in [env]. *) hphp/hack/src/hackc/bytecode_printer/print.rs (1 line): - line 770: // TODO: The False case seems to sometimes be b:0 and sometimes i:0. Why? hphp/runtime/vm/jit/translator.cpp (1 line): - line 363: // TODO (T61651936): ResolveClass may return a classptr or a string hphp/hack/src/oxidized/manual/typing_logic.rs (1 line): - line 16: /// @TODO: work out what to do about this! hphp/hack/src/typing/tast_check/void_return_check.ml (1 line): - line 53: (* FIXME: Move as two functions to Ast_defs? *) hphp/runtime/ext/vsdebug/hook.cpp (1 line): - line 75: // TODO: (Ericblue) NOT IMPLEMENTED hphp/hack/src/decl/pos/pos_or_decl.mli (1 line): - line 54: TODO: get rid of unsafe_to_raw_pos before changing implementation of t. T87777740 *) hphp/hack/src/heap/hh_shared.c (1 line): - line 1327: // TODO: Space between dest and *heap is unused, but will almost certainly hphp/runtime/ext/extension.cpp (1 line): - line 57: // TODO (t3443556) Bytecode repo compilation expects that any errors hphp/runtime/ext/icu/icu.cpp (1 line): - line 313: // TODO: Handle object IntlCalendar hphp/hack/src/typing/tast_env.ml (1 line): - line 300: (* TODO T44306013 *) hphp/hack/src/hh_single_type_check.ml (1 line): - line 2649: (* TODO: We should have a per file config *) hphp/hsl/minitest/ExpectObj.hack (1 line): - line 56: // FIXME this really shouldn't be used in the HSL... hphp/hack/src/hackc/emitter/emit_type_hint.rs (1 line): - line 111: // TODO: Check whether shape fields need to retain order *) hphp/util/sync-signal.cpp (1 line): - line 65: // FIXME: gracefully shut down the m_handlerThread hphp/hack/src/typing/typing_memoize.ml (1 line): - line 55: (* FIXME fun fact: hphp/runtime/ext/hh_client/ext_hh_client.php (1 line): - line 198: * TODO Areas for future improvement: hphp/hack/src/typing/typing_classes_heap.ml (1 line): - line 648: * their signature, so they are not considered here. TODO: T41093452 *) hphp/runtime/vm/jit/unique-stubs-arm.cpp (1 line): - line 198: // FIXME: This stub is hot, so make sure to keep it small. hphp/hack/src/parser/full_fidelity_syntax_error.ml (1 line): - line 10: (* TODO: Integrate these with the rest of the Hack error messages. *) hphp/runtime/vm/jit/srcdb.cpp (1 line): - line 176: * interp. FIXME: Unfortunately, right now, in an unlikely race hphp/runtime/base/variable-serializer.cpp (1 line): - line 1526: // TODO (T29639296) hphp/runtime/base/intercept.cpp (1 line): - line 87: // TODO: should this throw? hphp/hack/src/errors/errors.mli (1 line): - line 83: (* Error codes that can be suppressed in strict mode with a FIXME based on configuration. *) hphp/runtime/ext/vsdebug/breakpoint.cpp (1 line): - line 103: // TODO: Deal with hit condition breakpoints. hphp/runtime/ext/imap/ext_imap.cpp (1 line): - line 1605: // FIXME: Use a consistent constant/enum hphp/runtime/vm/jit/simplify.cpp (1 line): - line 842: // TODO we can do `return gen(env, Unreachable, ASSERT_REASON);` here hphp/runtime/base/thread-safe-setlocale.cpp (1 line): - line 125: // TODO is the memcpy even necessary? hphp/hack/src/oxidized_by_ref/manual/typing_logic.rs (1 line): - line 16: /// @TODO: work out what to do about this! hphp/hack/src/typing/typing_kinding.ml (1 line): - line 389: (* FIXME shall we inspect tparams and where_constraints *) hphp/vixl/a64/simulator-a64.h (1 line): - line 129: // TODO: We assume little endianness, and the way in which the members of this hphp/hack/src/typing/typing_subtype_tconst.ml (1 line): - line 54: (* TODO: should we be taking the intersection of the errors? *) hphp/hack/src/annotated_ast/aast_defs_visitors_ancestors.ml (1 line): - line 95: (* FIXME: Should be possible to write a true (more efficient) endo hphp/hack/src/naming/elaborate_namespaces_visitor.rs (1 line): - line 53: // TODO: While elaboration for codegen and typing is similar, there are currently a hphp/hack/src/typing/typing_logic.rs (1 line): - line 51: // TODO: consider relaxing this behaviour hphp/runtime/vm/hackc-translator.cpp (1 line): - line 99: // TODO make arrays static hphp/hack/doc/type_system/flowtypes.ml (1 line): - line 201: (* TODO: This is NOT generally right - relies on primitive types being disjoint *) hphp/hack/src/typing/typing_array_access.ml (1 line): - line 898: (* TODO: Remove the test for sound dynamic. It is never ok to put hphp/hack/src/typing/tast_env.mli (1 line): - line 184: FIXME: This function cannot return correct bounds at this time, because hphp/runtime/ext/apc/ext_apc.cpp (1 line): - line 614: assertx(false); // TODO: support percentage hphp/hack/src/typing/tast.ml (1 line): - line 122: * TODO: (arkumar,wilfred,thomasjiang) T42509373 Fix when when needed hphp/hack/src/typing/write_symbol_info/symbol_add_fact.ml (1 line): - line 66: (* TODO T112092175: export require class requirements to Facts *) CMake/HHVMExtensionConfig.cmake (1 line): - line 541: # TODO: Mark this somehow? hphp/runtime/ext/gd/libgd/gdft.cpp (1 line): - line 431: /* FIXME - This mapping stuff is imcomplete - where is the spec? */ hphp/hack/src/decl/decl_folded_class.ml (1 line): - line 67: pos = Pos_or_decl.unsafe_to_raw_pos child_pos (* TODO: T87242856 *); hphp/runtime/base/program-functions.cpp (1 line): - line 2717: context->onRequestShutdown(); // TODO T20898959 kill early REH usage. hphp/hack/src/oxidized/manual/pos.rs (1 line): - line 63: // TODO: shiqicao make NONE static, lazy_static doesn't allow Rc hphp/util/alloc-defs.h (1 line): - line 26: // TODO: (t2869817) ASan doesn't play well with jemalloc hphp/hack/src/parser/full_fidelity_validated_syntax.ml (1 line): - line 1220: | s -> aggregation_fail Def.TODO s hphp/hack/src/typing/nast_check/attribute_nast_checks.ml (1 line): - line 98: (* TODO: error if both Governed and InferFlows are attributes on a function or method *) hphp/hack/src/dfind/dfindAddFile.ml (1 line): - line 126: (* TODO add an option to support symlinks *) hphp/hack/src/server/serverIdle.ml (1 line): - line 93: * TODO: improve this check so the server only restarts hphp/runtime/ext/soap/soap.h (1 line): - line 109: // TODO t7925358 m_defEnc, m_typemap, m_sdls, and m_typemaps hold hphp/hack/src/shape_analysis/shape_analysis_walker.ml (1 line): - line 186: (* TODO: This is obviously incomplete. It just adds a constraint to each hphp/hack/src/rupro/ty/decl/to_oxidized.rs (1 line): - line 422: /* TODO: req_class_ancestors field has been added to support the experimental hphp/hhbbc/type-ops.cpp (1 line): - line 70: // TODO: this should be TBottom, but HHBBC straight up chokes on stuff like hphp/runtime/base/runtime-option.cpp (1 line): - line 2169: // TODO: we may eventually want to make an option which specifies hphp/hack/doc/pharser/phparser_driver.ml (1 line): - line 366: FIXME: produce error message *) hphp/hhbbc/interp-state.h (1 line): - line 345: * TODO: having the interpreter visit blocks when they are unreachable still hphp/hack/src/client/clientCheck.ml (1 line): - line 590: * TODO: Don't use default parser options. hphp/runtime/server/proxygen/proxygen-server.cpp (1 line): - line 255: // TODO: proxygen only supports downstream keep-alive hphp/hack/src/server/serverFileSync.ml (1 line): - line 140: (* TODO: do not crash, but surface this to the client somehow *) hphp/vixl/a64/macro-assembler-a64.cc (1 line): - line 864: // TODO: Several callers rely on this not using scratch registers, so we use hphp/hsl/src/network/_Private/resolve_hostname.php (1 line): - line 18: // FIXME: add OS\getaddrinfo, kill this function. hphp/vixl/utils.cc (1 line): - line 93: // TODO: Other widths could be added here, as the implementation already hphp/hack/hhi/functions.hhi (1 line): - line 27: // TODO make non-nullable once Thrift files are fixed hphp/hack/src/utils/sys/processor_info.c (1 line): - line 25: // TODO if we every start profiling Windows hphp/hack/src/typing/tast_type_collector.ml (1 line): - line 58: TODO: Fix this when the full fidelity parse tree becomes the parser for type checking. hphp/hack/src/facts/facts.rs (1 line): - line 394: // TODO: move to typing_defs_core_impl.rs once completed hphp/runtime/ext/gd/libgd/gd_topal.cpp (1 line): - line 1: /* TODO: oim and nim in the lower level functions; hphp/hack/src/typing/typing_local_ops.ml (1 line): - line 134: (* FIXME we should probably look at the upper bounds here. *) hphp/runtime/server/admin-request-handler.cpp (1 line): - line 577: // TODO: evaluate the effect of sync() and uncomment if hphp/hack/src/ocamlrep/impls.rs (1 line): - line 647: // TODO: A Windows implementation would be nice, but what does the OCaml hphp/hack/src/rupro/hackrs/folded_decl_provider/fold.rs (1 line): - line 372: /// TODO: T87242856 hphp/hack/src/hh_parse.ml (1 line): - line 24: * TODO: Parser for things other than scripts: hphp/runtime/base/timezone.cpp (1 line): - line 53: // TODO: Fixme under MSVC! hphp/runtime/ext/random/ext_random.cpp (1 line): - line 30: // TODO fix folly to better detect error cases (currently I think it just hphp/runtime/base/heap-scan.h (1 line): - line 297: // TODO #6509338 exactly scan the php stack. hphp/hack/src/parser/verify_smart_constructors.rs (1 line): - line 21: // TODO: This parser is only used by the ffp tests, and should be moved out of hphp/runtime/ext/hotprofiler/ext_hotprofiler.cpp (1 line): - line 1098: // @TODO: this is quite ghetto right now, but is useful as is to hphp/runtime/base/variable-serializer.h (1 line): - line 330: // TODO: Move to util/folly? hphp/hack/src/parser/full_fidelity_editable_trivia.ml (1 line): - line 82: (* TODO: Better way to accumulate a string? *) hphp/runtime/ext/asio/ext_asio.php (1 line): - line 61: * TODO: replace this with a HH\Asio equivalent hphp/hack/src/parser/pretty_printing_library_sig.ml (1 line): - line 62: (* TODO should string be some custom data type? *) hphp/util/asm-x64.h (1 line): - line 244: intptr_t disp; // TODO #4613274: should be int32_t hphp/runtime/base/zend-scanf.cpp (1 line): - line 1067: /* TODO: not all elements converted. we need to prune the list - cc */ hphp/runtime/base/backtrace.h (1 line): - line 339: // FIXME: fp may be nullptr, in which case this is an equivalent of none() hphp/hack/src/server/serverMain.ml (1 line): - line 141: (* TODO: Notify the server monitor directly about this. *) hphp/hack/src/decl/shallow_decl.ml (1 line): - line 51: (* TODO: recognize "self::F"... The shape key "shape(self::F => 1)" is hphp/hack/src/client/clientEnv.ml (1 line): - line 57: (* TODO figure out why we can't reference FuzzySearchService from here *) hphp/runtime/ext/vsdebug/breakpoint_command.cpp (1 line): - line 254: // TODO: Named exception breakpoint filters not supported yet. hphp/runtime/vm/func.h (1 line): - line 238: * FIXME: Currently this method does almost nothing. hphp/vixl/platform.h (1 line): - line 45: // TODO: Implement HostBreakpoint on a64. hphp/runtime/ext/gd/ext_gd.cpp (1 line): - line 2405: /* TODO: try and force the stream to be FILE* */ hphp/hack/src/naming/naming_attributes_params.ml (1 line): - line 12: (* TODO: generalize the arity check / argument check here to handle attributes hphp/runtime/base/apc-array.cpp (1 line): - line 74: // FIXME: the MemoryManager logic is not reliable, especially when hphp/hack/src/utils/symbolOccurrence.ml (1 line): - line 51: (* TODO: support self and static too.*) hphp/hack/src/typing/tast_check/shape_analysis_logger.ml (1 line): - line 31: (* TODO: Scuba logging *) hphp/runtime/vm/jit/irlower-ret.cpp (1 line): - line 232: // TODO: assert that fp is the same value stored in rvmfp here. hphp/hack/src/typing/tast_check/ifc_tast_check.ml (1 line): - line 19: (* TODO: support non default security lattices *) hphp/hack/src/parser/pair_smart_constructors.rs (1 line): - line 214: // TODO: Is it right to return Some in these cases? hphp/vixl/a64/cpu-a64.cc (1 line): - line 79: // TODO: consider adding cache simulation to ensure every address run has been hphp/vixl/a64/macro-assembler-a64.h (1 line): - line 952: // TODO: This method can only accept values of 'space' that can be encoded in hphp/runtime/base/zend-string.cpp (1 line): - line 83: /* FIXME: better error (a..b..c is the only left possibility?) */ hphp/hack/hhi/classes.hhi (1 line): - line 192: <<__SupportDynamicType>> // TODO: determine whether it's safe to mark this as unconditionally supporting dynamic hphp/runtime/vm/jit/tc-internal.cpp (1 line): - line 567: // TODO: categorize failure hphp/hack/hhi/stdlib/builtins_xenon.hhi (1 line): - line 41: * TODO: this will replace xenon_get_data() hphp/hack/src/server/hhServerMonitor.ml (1 line): - line 159: (* TODO: Catch all exceptions that make it this high, log them, and exit with hphp/hack/src/server/serverLocalConfig.ml (1 line): - line 537: (** Name of the transport channel used by remote type checking. TODO: move into remote_type_check. *) hphp/hack/src/providers/naming_provider.ml (1 line): - line 576: (* TODO: what to do if decl not found? *) hphp/vixl/a64/disasm-a64.cc (1 line): - line 1670: // TODO: Extend this to support printing the target address. hphp/hack/src/server/saveStateService.ml (1 line): - line 388: (* TODO: write some other stats, e.g., the number of names, the number of errors, etc. *) hphp/hack/src/decl/decl_fun_utils.ml (1 line): - line 205: (* TODO: This check doesn't need to be done at type checking time; it is hphp/hack/src/arena_collections/set.rs (1 line): - line 59: // TODO: This is a bit wasteful. If we had iter_from_ocaml_set_in hphp/hack/src/errors/contextual_error_formatter.ml (1 line): - line 42: (* TODO: display all the lines, showing the underline on all of them. *) hphp/runtime/server/fastcgi/fastcgi-server.cpp (1 line): - line 26: // TODO: Support server IP whitelist. hphp/hack/doc/pharser/phparser.mly (1 line): - line 913: | LBRACE statement_inner* RBRACE expr_argument_list { () } (* FIXME *) hphp/runtime/base/file.cpp (1 line): - line 138: //TODO: security checking hphp/runtime/base/string-data-inl.h (1 line): - line 82: // TODO: t1800106: re-enable this assert hphp/hack/src/hackc/emitter/emit_function.rs (1 line): - line 65: // FIXME: This is not safe--string literals are binary strings. hphp/runtime/vm/jit/vasm-arm.cpp (1 line): - line 1401: * TODO: Using load size (ldr[bh]?), apply scaled address if 'disp' is unsigned hphp/hack/src/providers/provider_utils.mli (1 line): - line 20: TODO: It's a bit confusing that quarantining is predicated upon ctx, and