
Well, all the easy ones, anyway. For some reason `// ignore:` isn't working for me so I've disabled lints that need that. Also disabled those that require a ton of work (which I'm doing, but not in this PR, to keep it reviewable). This adds: - avoid_init_to_null - library_names - package_api_docs - package_names - package_prefixed_library_names - prefer_is_not_empty - sort_constructors_first - sort_unnamed_constructors_first - unnecessary_getters_setters
35 lines
811 B
Dart
35 lines
811 B
Dart
// Copyright (c) 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
part of cassowary;
|
|
|
|
class Term extends _EquationMember {
|
|
Term(this.variable, this.coefficient);
|
|
|
|
final Variable variable;
|
|
final double coefficient;
|
|
|
|
bool get isConstant => false;
|
|
|
|
double get value => coefficient * variable.value;
|
|
|
|
Expression asExpression() =>
|
|
new Expression([new Term(this.variable, this.coefficient)], 0.0);
|
|
|
|
String toString() {
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
|
buffer.write(coefficient.sign > 0.0 ? "+" : "-");
|
|
|
|
if (coefficient.abs() != 1.0) {
|
|
buffer.write(coefficient.abs());
|
|
buffer.write("*");
|
|
}
|
|
|
|
buffer.write(variable);
|
|
|
|
return buffer.toString();
|
|
}
|
|
}
|